166.人工智能——AI作图体验
不知道如何写作文章,推荐国内最强的AI写作工具,帮你写爆款文案
本文主要使用百度智能云的智能创作平台,体验如何调用百度AI服务(AI作图)。
首先要登录百度智能云(),找到智能创作平台智能创作平台,创建自己的应用(通过应用的 API Key和 Key获取来调用百度AI服务)。
创建应用
智能创作平台
测试完整代码
import requests
import json
from PIL import Image
import threading
API_KEY = "***********"
SECRET_KEY = "***********"
# 基础版和高级版,参数区别。
taskidlst=[] #返回线程的变量
#文生图,并返回任务ID
def txt2imgmain():
#基础版
# url = "https://aip.baidubce.com/rpc/2.0/ernievilg/v1/txt2img?access_token=" + get_access_token()
# payload = json.dumps({
# "text": "雨后的蔷薇花,近景,细致入微,晶莹剔透,娇艳欲滴,晨光下,高清晰度",
# "resolution": "1024*1024",
# "style": "写实风格"
# })
# 高级版
url = "https://aip.baidubce.com/rpc/2.0/ernievilg/v1/txt2imgv2?access_token=" + get_access_token()
payload = json.dumps({
"prompt": "雨后的蔷薇花,近景,细致入微,晶莹剔透,娇艳欲滴,晨光下,高清晰度",
"width": 1024,
"height": 1024
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
res=json.loads(response.text)
#taskId=res['data']['taskId']
#高级版,解析json数据
taskId=res['data']['task_id']
taskidlst.append(taskId)
return taskId
#根据任务ID,返回生成图像的URL
def getImgmain(taskid):
#url = "https://aip.baidubce.com/rpc/2.0/ernievilg/v1/getImg?access_token=" + get_access_token()
#高级版
url = "https://aip.baidubce.com/rpc/2.0/ernievilg/v1/getImgv2?access_token=" + get_access_token()
payload = json.dumps({
#"taskId": taskid
#高级版
"task_id":taskid
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
res=json.loads(response.text)
print(res)
#imgurl=res['data']['imgUrls'][0]['image']
#高级版
imgurl=res['data']['sub_task_result_list'][0]['final_image_list'][0]['img_url']
return imgurl
#获取访问令牌
def get_access_token():
"""
使用 AK,SK 生成鉴权签名(Access Token)
:return: access_token,或是None(如果错误)
"""
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
return str(requests.post(url, params=params).json().get("access_token"))
#根据图像URL保存图像到本地,并显示。
def saveimg(imgurl):
response = requests.get(imgurl)
# 将图像文件保存到本地文件
with open("output.jpg", "wb") as f:
f.write(response.content)
# 打开本地图像文件
img = Image.open("output.jpg")
img.show()
#程序主体入口
if __name__ == '__main__':
thread1=threading.Thread(target=txt2imgmain,args=())
thread1.start()
# 判断线程是否执行结束(文生图是否结束)
while thread1.is_alive():
continue
print("线程执行完毕")
print(taskidlst)
taskid=taskidlst[0]
imgurl=getImgmain(str(taskid))
saveimg(imgurl)
注意:因为文生图函数执行时间比较长可以帮你写爆款文案的AI系统,如果函数没有执行完毕,就无法返回任务ID智能创作平台,主程序后面的保存图像函数就会报错。解决办法:引入线程。把文本图函数放入线程,等这个线程执行结束,才开始后面的函数。
手机浏览,点击图片保存二维码到相册,然后打开微信扫一扫选择本二维码图片就可以进入,电脑端微信“扫一扫”二维码,进入找聊天搭子平台,里面有找饭搭子、找对象、找陪伴服务等等