作者介绍

乔冠华,女,西安工程大学电子信息学院,2020级硕士研究生,张宏伟人工智能课题组。
研究方向:机器视觉与人工智能。
电子邮件:1078914066@qq.com

一.文心AI作画API介绍

1. 文心AI作画

文心ERNIE-ViLG,一款适合中文的跨模态AI绘画大模型。
论文地址:https://arxiv.org/pdf/2112.15283.pdf
体验连接:https://wenxin.baidu.com/ernie-vilg

文心ERNIE-ViLG是一个大规模的中文跨模态生成模型,其参数规模达到100亿。该模型首次通过自回归算法将图像生成和文本生成统一建模,增强模型的跨模态语义对齐能力,显著提升图文生成效果。

ERNIE-ViLG生成的不同风格的图像如下:

利用AI技术生成图片的最终目的是要便捷地为人类创造美的作品,激发人的想象力和创作力。在艺术创作、虚拟现实、图像编辑、AI 辅助设计、虚拟数字人等领域,文心 ERNIE-ViLG 这类跨模态大模型有着广泛的应用前景,也为这些领域未来的发展提供了无限的创意和可能。作为百度“文心”大模型全景图中的重要一员,文心 ERNIE-ViLG 也代表着百度文心在跨模态大模型领域迈出坚实步伐,从技术自主创新和加速产业应用方面持续推动中国 AI 发展。

2.接口介绍

文心AI作画API基于文心ERNIE-ViLG大模型,可根据用户输入的中文文本,自动创作图片。

文心AI作画涉及2个接口,分别为:提交请求、查询结果。

  • 提交请求:传入文本、分辨率、风格参数,创建ERNIE-ViLG AI作画任务,获得任务ID。
  • 查询结果:用于在任务创建后,查看图片生成状态。待图片生成完毕,通过查询接口即可查看生成图片的地址链接。

该接口通过自定义丰富的修饰词,生成不同风格、不同构图、不同流派的图片(每次可自定义生成1张至6张图片)。

二.注册账号并获取API Key

进入:百度智能云并创建应用获取API Key,Secret Key

1. 注册百度智能云账号

免费注册登录百度智能云账号进入下图界面,选择右上角 “控制台”模块:

选择“产品服务”中“人工之智能”模块的“智能创作平台”项目:

点击领取免费的接口资源(根据要求实名认证后可获取):

2. 获取API

在“应用列表”中点击“创建应用”,免费创建个人文本-图像生成应用模块:

创建成功的应用模块如下,从中可以获取个人应用模块的API Key和Secret Key:

三.代码实现

完整代码

  • 提交请求代码
    创建“提交请求”接口文件,并根据申请的个人API Key和Secret Key,以及自定义输入的文本和参数信息,修改并运行以下代码。(该代码可得到图片生成任务ID——“taskId”)
import requests
import jsonAPI_KEY = "自己申请的API Key"
SECRET_KEY = "自己申请的Secret Key"def main():url = "https://aip.baidubce.com/rpc/2.0/ernievilg/v1/txt2img?access_token=" + get_access_token()payload = json.dumps({"text": "中国山水画",#输入中文描述"resolution": "1024*1024",#选择图片分辨率,可支持1024*1024、1024*1536、1536*1024"style": "古风",#选择图像风格,古风、二次元、写实风格、浮世绘、未来主义、赛博朋克等等"num": 2#输入要生成的图片数量,可选1~6张})headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)print(response.text)#获取Access Token
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"))if __name__ == '__main__':main()
  • 查询结果代码
    创建“查询结果”接口文件,根据申请的个人API Key和Secret Key,以及“提交请求”代码得到的图片生成任务ID——“taskId”(有效期一个月),修改并运行以下代码。(该代码可得到最终生成的图片)
import requests
import json
from io import BytesIO#BytesIO实现了在内存中读写bytes
from PIL import Image
import os
API_KEY = "自己申请的API Key"
SECRET_KEY = "自己申请的Secret Key"def main():#API接口的url url = "https://aip.baidubce.com/rpc/2.0/ernievilg/v1/getImg?access_token=" + get_access_token()#发送请求获取网页内容 payload = json.dumps({"taskId": "提交请求代码返回的 'taskId' 的值"})headers = {'Content-Type': 'application/json','Accept': 'application/json'}    response = requests.request("POST", url, headers=headers, data=payload)print('请求的返回值:',response.text)json_result = json.loads(response.text)imgUrls=json_result['data']['imgUrls']#返回imgUrls的结果print("imgUrls的返回值:", imgUrls)#imgUrls":[{"image":"https://wenxin.baidu.com/younger/file/ERNIE-ViLG/4a90992981919xxxxxx"},{"image":"https://wenxin.baidu.com/younger/file/ERNIE-ViLG/4a90992981919a74f0b4xxxxx"}]print("imgUrls类型:",type(imgUrls))#查看imgUrls类型,是列表print("imgUrls数量:",len(imgUrls))#获得图片网址并将图片保存到本地for i in range(0,len(imgUrls)):img_url=imgUrls[i]print('imges_url:',img_url)img_url=img_url['image']print('image_url:',img_url)#保存图片到本地req=requests.get(img_url)#获取图片网址image = Image.open(BytesIO(req.content))#在内存中打开图片image.save(os.path.join('图片保存路径','{}.jpg'.format(i)), 'JPEG')#获取Access Token
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"))if __name__ == '__main__':main()

四.效果展示

  • 运行“提交请求”代码后,可以得到获得任务ID——“taskId”:

  • 根据获得的任务ID运行“查询结果”代码后即可得到最终生成的.jpg图片:


参考链接:
https://zhuanlan.zhihu.com/p/600247099
https://zhuanlan.zhihu.com/p/455523289

调用百度文心AI作画API实现中文-图像跨模态生成相关推荐

  1. 程序员盒子接入百度文心大模型文生图能力

    原文:https://www.coderutil.com/article?id=203 一.前言 AI时代是一个快速发展的时代,它带来了很多机会和挑战.对于普通人来说,AI技术的应用可以帮助我们更高效 ...

  2. AI绘画,画渣or画神?百度文心·一格AI作画平台初体验与总结

    简介 文心·一格,是基于文心大模型能力的AI艺术和创意辅助平台.用户输入一段文本描述,并选择方向.风格和尺寸,点击[立即生成], AI就会根据对文本的理解自动进行画作的创作. 体验网址 https:/ ...

  3. 百度文心一格x京东618:打造电商行业首个AI线下广告,节省80%制作成本

    小钱买到大快乐,小钱能不能买到好的营销创意?AIGC 赋予了所有行业新面貌,并逐渐成为各行各业从业者的新型生产工具.在此背景下,今年618期间,京东联合百度文心一格,将 AIGC 应用于电商营销,进行 ...

  4. 螳螂科技接入百度“文心一言”,提升营销管理AI服务能力

    2月 22日, 螳螂科技宣布成为百度"文心一言"(英文名:ERNIE Bot)首批生态合作伙伴.后续,螳螂科技将通过百度智能云全面体验并接入文心一言的能力. 接下来,螳螂科技将把百 ...

  5. 生成式 AI:百度“文心一言”对标 ChatGPT?什么技术趋势促使 ChatGPT 火爆全网?

    文章目录 前言 一.生成式 AI 的发展和现状 1.1.什么是生成式 AI? 1.2.生成式 AI 的发展趋势 1.3.AI 生成内容的业务场景和分类 二.生成式 AI 从分析领域到创作领域 2.1. ...

  6. 百度“文心一言”携手酷开科技,实现AI智能领域新突破!

    进入21世纪,AI人工智能一直都是讨论度非常高的话题之一,各行各业的领导者都开始在智能领域进行了初步探索,这也证明了AI人工智能在未来一定会在很大程度上影响我们的生活.工作. 近日,深圳市酷开网络科技 ...

  7. 百度“文心一言”首批生态合作伙伴公布,Moka接入打造人力资源数字化人AI服务

    近日,百度"文心一言"(英文名:ERNIE Bot)公布首批生态合作伙伴,企业级HR SaaS服务商Moka位列其中,将优先体验并接入"文心一言",以此打造更创 ...

  8. 聚观早报 | 百度文心一言被用户挤爆;贝莱德准备竞购瑞信

    今日要闻:百度文心一言被用户挤爆:贝莱德准备竞购瑞信:Meta 在美国推出付费加「蓝 V」服务:三星正开发 3500ppi 的 FMM:老干妈冰激凌要来了 百度文心一言被用户挤爆 百度正式发布了自己的 ...

  9. 15大不同领域问答对比,ChatGPT模型大战:国产版百度文心一言、昆仑万维天工能否击败GPT-4(含百度文心一言、昆仑万维天工个人内测体验测试邀请码获取方法,亲测有效)

    目录 前言 百度内测申请 天工内测申请 申请方式 内测体验 登录界面 运行体验 内测对比 基本问答 事实性问答 科普文写作 小红书文案 项目计划撰写 古文理解 模型的常识能力和反事实推理 代码理解 法 ...

最新文章

  1. linux 内核调整相关参数
  2. java居中的命令_用JAVA把语句排列成左对齐、右对齐、居中
  3. mysql讀取sql_SQL 2008连接读取mysql数据的方法
  4. 博客园7月底至8月初51Aspx源码发布详情
  5. php ftp rmdir,PHP中的ftp_rmdir()函数
  6. MATLAB判断矩阵相等
  7. 需求简报_代码简报:我如何通过做自己喜欢的事情来获得顶级技术实习
  8. C++11命名空间的using说明
  9. cocos2dx 圆盘抽奖_cocoscreator之微信小游戏的抽奖转盘
  10. Pytorch 学习笔记:
  11. MySQL VARCHAR的说明信息
  12. 科技经济调整td-scdma中国
  13. 【自动驾驶】MPC控制器 + 驾驶模型器
  14. js从地址栏获取参数
  15. ggplot画 ump 和tsne 从seurat中使用addmodule得到的umap 使用ggplot画图
  16. 多线程总结--小码哥java
  17. 《AlignedReID: Surpassing Human-Level Performance in Person Re-Identification》论文解读
  18. 央行新规收款码事件|还有人不知道收款码的概念?
  19. python打字机效果_打字效果动画的4种实现方法(超简单)
  20. 新年Java小游戏之「年兽大作战」祝您笑口常开

热门文章

  1. Workbench网格划分(2)
  2. Could not find method stopService(View) in a parent or ancestor Context for android:onClick attribut
  3. 关于python和speech
  4. 直播|华曙Flight激光烧结3D打印科技全面升级
  5. 智能灯2022年全球行业分析报告
  6. java javac 区别
  7. MongoDB备份与恢复(linux命令行实现)
  8. 数字货币的旁观者:我们为什么说区块链商业化时机还未到来?
  9. 【软件工具】服务器硬件资源监控
  10. SSM框架网上水果超市的设计与实现+文档