当前位置:   article > 正文

阿里云Stable Diffusion XL的api:用Python自动化图像创造_imagesynthesis.call(

imagesynthesis.call(

下面的代码是一个使用 Python 编写的脚本,用于调用阿里云的 Stable Diffusion 模型(通过 Dashscope 库)来生成图像。这个脚本显示了如何使用 Dashscope 的 API,根据用户提供的提示语句生成图像,并将它们保存到指定的路径。

  1. from http import HTTPStatus
  2. from urllib.parse import urlparse, unquote
  3. from pathlib import Path
  4. from pathlib import PurePosixPath
  5. import requests
  6. import dashscope
  7. # 阿里SD500张,用完需再申请https://help.aliyun.com/zh/dashscope/developer-reference/getting-started-with-stable-diffusion-models?spm=5176.28197632.0.0.97d87e06OPIVDX&disableWebsiteRedirect=true
  8. dashscope.api_key = ''
  9. # model = "dashscope.ImageSynthesis.Models.wanx_v1"
  10. def generate_and_save_images(prompt, n, size, save_path):
  11. rsp = dashscope.ImageSynthesis.call(model=dashscope.ImageSynthesis.Models.wanx_v1,
  12. prompt=prompt,
  13. n=n,
  14. size=size)
  15. if rsp.status_code == HTTPStatus.OK:
  16. print(rsp.output)
  17. print(rsp.usage)
  18. for result in rsp.output.results:
  19. file_name = PurePosixPath(unquote(urlparse(result.url).path)).parts[-1]
  20. save_file_path = Path(save_path) / file_name
  21. with open(save_file_path, 'wb+') as f:
  22. f.write(requests.get(result.url).content)
  23. else:
  24. print('Failed, status_code: %s, code: %s, message: %s' %
  25. (rsp.status_code, rsp.code, rsp.message))
  26. if __name__ == '__main__':
  27. prompt = "a dog and a cat"
  28. n = 4
  29. size = '1024*1024'
  30. save_path = 'D:\\wenjian\\临时'
  31. generate_and_save_images(prompt, n, size, save_path)

代码解析

  1. 导入所需库: 使用http库处理HTTP状态。 urllib.parse用于解析和处理URL。 pathlib用于文件路径操作。 requests用于处理HTTP请求。 导入dashscope用于调用Stable Diffusion模型。
  2. 设置API密钥和模型: 需要将dashscope.api_key设置为有效的API密钥。
  3. 定义generate_and_save_images函数: 函数接受提示语句、生成数量、图像尺寸和保存路径作为参数。 使用Dashscope的ImageSynthesis.call方法调用Stable Diffusion模型。 根据返回的状态码处理结果,正确时保存生成的图像,错误时打印错误信息。
  4. 图像保存逻辑: 从返回的URL中提取文件名,并在指定路径保存图像。
  5. 脚本主体: 设置参数并调用generate_and_save_images函数。

代码的实际应用

这个脚本可以广泛应用于需要自动生成图像的场景,如:

  • 内容创作:为社交媒体、广告或网站自动生成图像内容。
  • 艺术创作:用于数字艺术和设计领域,根据创意提示生成图像。
  • 数据可视化:将抽象数据转换为直观的图像。

应用场景

  • 商业营销:用于快速生成营销材料中的视觉内容。
  • 个人娱乐:为个人项目或兴趣生成定制图像。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/490354
推荐阅读
相关标签
  

闽ICP备14008679号