当前位置:   article > 正文

激发创意:百度千帆API在Python图像生成中的应用_百度千帆 api

百度千帆 api

下面代码展示了如何使用百度智能云的文心工作室 API 来生成图像。这个 API 允许用户根据文本提示生成图像,是人工智能领域中的一项先进技术。这段代码非常适合于那些希望在自己的项目中集成图像生成功能的开发者。

  1. import requests
  2. import json
  3. import base64
  4. import json
  5. import requests
  6. from PIL import Image
  7. import io
  8. # 调用时无需计费,单个账号提供500张图片额度。额度用尽后,可以提交工单说明应用场景、预计月调用量,申请扩充额度
  9. # https://console.bce.baidu.com/qianfan/chargemanage/list
  10. api_key = ''
  11. secret_key = ''
  12. def get_access_token(api_key, secret_key):
  13. url = "https://aip.baidubce.com/oauth/2.0/token"
  14. params = {
  15. "grant_type": "client_credentials",
  16. "client_id": api_key,
  17. "client_secret": secret_key
  18. }
  19. response = requests.post(url, params=params)
  20. return response.json().get("access_token")
  21. # 参数分别是提示词、反向提示词、图片尺寸、生成步数、生成数量
  22. def generate_images(prompt, negative_prompt, size, steps, n):
  23. access_token = get_access_token(api_key, secret_key)
  24. url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/text2image/sd_xl?access_token={access_token}"
  25. payload = json.dumps({
  26. "prompt": prompt,
  27. "negative_prompt": negative_prompt,
  28. "size": size,
  29. "steps": steps,
  30. "n": n,
  31. "sampler_index": "DPM++ SDE Karras"
  32. })
  33. headers = {'Content-Type': 'application/json'}
  34. response = requests.request("POST", url, headers=headers, data=payload)
  35. response_data = response.json()
  36. for index, image_data in enumerate(response_data['data']):
  37. image_base64 = image_data['b64_image']
  38. image_bytes = base64.b64decode(image_base64)
  39. image = Image.open(io.BytesIO(image_bytes))
  40. image_path = f"D:\\wenjian\\临时\\image_{index + 1}.png"
  41. image.save(image_path)
  42. print(f"图片 {index + 1} 已保存至 {image_path}")
  43. # 使用示例
  44. if __name__ == '__main__':
  45. # 参数分别是提示词(英文)、反向提示词(英文)、图片尺寸、生成步数、生成数量
  46. generate_images( "dog", "white", "1024x1024", 20, 2)

代码解析

  1. 导入所需库: 使用requests处理HTTP请求,json用于处理JSON数据,base64用于编解码图像数据,PIL.Image和io用于处理图像。
  2. 获取访问令牌: get_access_token(api_key, secret_key): 通过提供API密钥和密钥,从百度智能云获取访问令牌。
  3. 生成图像: generate_images(prompt, negative_prompt, size, steps, n): 使用文心工作室API生成图像。接受提示词、反向提示词、图像尺寸、生成步骤和生成数量作为参数。 使用POST请求调用API,传递JSON格式的参数。 接收响应,并将Base64编码的图像数据转换成图像文件,保存到指定路径。

代码的实际应用

这段代码对于那些需要在应用程序中生成图像的开发者来说非常有用。例如:

  • 社交媒体内容生成:自动创建根据特定主题或趋势生成的图像。
  • 艺术和设计:生成独特的艺术作品或设计元素。
  • 游戏和娱乐:为游戏或其他娱乐内容生成定制化的图像。

应用场景

  • 内容创作:为博客、网站或广告创建视觉内容。
  • 用户交互:在响应用户输入或查询时生成定制化图像。

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

闽ICP备14008679号