首先,需要从OpenAI获取API key,然后使用requests库向API发送请求并获取响应。
import requests # 替换为你的API key api_key = 'YOUR_API_KEY' # ChatGPT API的地址 api_url = 'https://api.openai.com/v1/images/generations' def generate_image(prompt): headers = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {api_key}' } # 发送POST请求 response = requests.post(api_url, headers=headers, json={ 'model': 'image-alpha-001', 'prompt': prompt, 'num_images': 1, 'size': '1024x1024', 'response_format': 'url' }) # 获取响应中的URL response_json = response.json() return response_json['data'][0]['url']
接下来,使用Pillow库将生成的图像下载并保存到本地文件。
from PIL import Image import io def save_image(url, filename): response = requests.get(url) # 将响应中的二进制数据解码为Image对象 img = Image.open(io.BytesIO(response.content)) # 保存图像文件 img.save(filename)
最后,我们可以编写一个简单的交互式命令行程序,以便用户输入绘画的提示并保存生成的图像。
if __name__ == '__main__': prompt = input('请输入绘画的提示: ') filename = input('请输入保存的文件名: ') # 生成图像并保存 url = generate_image(prompt) save_image(url, filename) print(f'已将图像保存到文件 {filename}')
使用以上代码,我们就可以轻松地将ChatGPT API集成到Python程序中,实现自动绘画的功能了。