python调用DALL·E绘画
2023-12-23 18:10:14
实现用gpt的api和他对话后,我们试着调用DALL·E的api进行绘画
参考文档
运行代码
from openai import OpenAI
client = OpenAI()
user_prompt = input("请输入您想生成的图片描述: ")
response = client.images.generate(
model="dall-e-3",
prompt=user_prompt,
size="1024x1024",
quality="standard",
n=1,
)
image_url = response.data[0].url
print(f"生成的图片链接: {image_url}")
运行结果
生成图片
花费了我4美分,生成了以下图片,看起来还算可以
新需求1
接下来我们想要用dall-e-2来对图片进行修改,而且想让python直接显示出图片来,而不是去点击URL
我们需要先下载requests
和Pillow
库,用requests
获取图片然后用Pillow
来显示,在CMD的当中使用下面的命令去下载即可
pip install requests Pillow
我们还需要做一张想要改变哪个位置的mask图片,我是用美图秀秀随便扣的,注意要和原图保持相同的尺寸
运行代码
from openai import OpenAI
import requests
from PIL import Image
from io import BytesIO
client = OpenAI()
user_prompt = input("请问你想如何修改图片: ")
response = client.images.edit(
model="dall-e-2",
image=open("E:/Game_Program/勇者.png", "rb"),
mask=open("E:/Game_Program/mask.png", "rb"),
prompt=user_prompt,
size="1024x1024",
n=1,
)
image_url = response.data[0].url
print(f"生成的图片链接: {image_url}")
# 获取并显示图片
response = requests.get(image_url)
img = Image.open(BytesIO(response.content))
img.show()
运行结果
用了好几美分试了几次,发现生成的图片和第一张还是一样的,不知道哪里出问题了,有兴趣的朋友可以试试
新需求2
接下来我们直接通过上传的图片来生成2张新的图片,这个比较简单,应该不会出错,依旧是用到dall-e-2
运行代码
from openai import OpenAI
import requests
from PIL import Image
from io import BytesIO
client = OpenAI()
response = client.images.create_variation(
model="dall-e-2",
image=open("E:/Game_Program/勇者.png", "rb"),
size="1024x1024",
n=2,
)
for data in response.data:
image_url = data.url
print(f"生成的图片链接: {image_url}")
# 获取并显示图片
response = requests.get(image_url)
img = Image.open(BytesIO(response.content))
img.show()
运行结果
生成图片
干掉我8美分,生成的两张图片有点一言难尽啊,太抽象了吧
文章来源:https://blog.csdn.net/weixin_41656968/article/details/135166400
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!