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

这篇具有很好参考价值的文章主要介绍了调用百度文心AI作画API实现中文-图像跨模态生成。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者介绍

乔冠华,女,西安工程大学电子信息学院,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作画API实现中文-图像跨模态生成

利用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. 注册百度智能云账号

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

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

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

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

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

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

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

2. 获取API

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

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

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

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

三.代码实现

完整代码

  • 提交请求代码
    创建“提交请求”接口文件,并根据申请的个人API Key和Secret Key,以及自定义输入的文本和参数信息,修改并运行以下代码。(该代码可得到图片生成任务ID——“taskId”)
import requests
import json

API_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”:

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

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

调用百度文心AI作画API实现中文-图像跨模态生成
参考链接:
https://zhuanlan.zhihu.com/p/600247099
https://zhuanlan.zhihu.com/p/455523289文章来源地址https://www.toymoban.com/news/detail-438925.html

到了这里,关于调用百度文心AI作画API实现中文-图像跨模态生成的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微信小程序调用百度API实现图像识别功能】----项目实战

    本章主要讲述: 如何更快的上手小程序 如何搭建一个页面以及跳转到另一个页面 如何调用百度API接口实现图像识别技术 如何在微信小程序的后台添加合法域名        私信获取源码,有问题可以关注留言或私信,计算机毕业设计(小程序,网页设计,数据库,php开发等) 目录

    2024年02月09日
    浏览(48)
  • 【微信小程序调用百度API实现图像识别实战】----前后端分离

    前言:基于之前发布的文章【微信小程序调用百度API实现图像识别功能】----项目实战稍微进行了升级改进,主要新增了后端,数据库,实现对于虫害识别,返回防治建议等信息。 本文主要讲述: 如何创建数据库 如何连接数据库 如何创建后端服务 如何调用后端服务 目录  一

    2024年04月25日
    浏览(34)
  • 百度千帆大模型文心一言api调用

    demo工程(csdn上传总是报错461, 只好使用百度网盘了) 链接:https://pan.baidu.com/s/1EXbQDBMMNh1pyMIKwCmnow?pwd=7891 提取码:7891 https://login.bce.baidu.com/ https://cloud.baidu.com/product/wenxinworkshop 创建应用成功后,可以获取到API Key和Secret Key api调用是按token(字数)收费的,不开通收费无法使用。 Java发送

    2024年02月09日
    浏览(40)
  • ERNIE-ViLG文心跨模态AI绘画大模型——中文版stable-diffusion

    上期图文教程,我们分享了stable-diffusion AI绘画大模型,且分享了如何使用stable-diffusion的代码实现过程,可以说stable-diffusion绘画模型开创了AI绘画的巅峰。 stable-diffusion模型,你也用AI生成获得一等奖的艺术图 stable-diffusion stable diffusion模型是Stability AI开源的一个text-to-image的扩

    2024年02月09日
    浏览(92)
  • C#调用百度翻译API自动将中文转化为英文,按行转换

    我们可以使用百度翻译API获取到翻译结果 翻译API地址: http://api.fanyi.baidu.com/api/trans/vip/translate 窗体FormTranslator设计器如图:  窗体设计器源代码如下: 文件:FormTranslator.Designer.cs TranslateUtil.cs源程序如下: 文件FormTranslator.cs 【需要到百度上申请开发者账号appId和密码password】

    2024年02月14日
    浏览(29)
  • 【微信小程序】调用百度API进行图像识别(以植物识别为例)

    需要素材与源码可联系笔者,项目文件过多不适宜全部展示。 微信小程序调用百度API可分为以下三步: 注册百度智能云账号,并开通植物识别API 在小程序中调用 渲染在小程序页面上 移步百度只能云平台https://cloud.baidu.com/ 注册好账号之后,把鼠标放在 产品 上,侧边会展开

    2024年02月05日
    浏览(40)
  • 快速调用百度AI开放平台的API,以OCR通用文字识别为例(封装函数进行连续调用)

    🔥博客主页:是dream 🚀系列专栏: 深度学习环境搭建、环境配置问题解决、自然语言处理、语音信号处理、项目开发 💘每日语录:眼里有不朽的光芒 心里有永恒的希望 。 🎉感谢大家点赞👍收藏⭐指正✍️         百度开放平台允许开发者访问和利用百度的各种服务

    2024年02月06日
    浏览(41)
  • 百度发布文心大模型4.0,百度搜索实现重构;AI报告2023

    🦉 AI新闻 🚀 百度发布文心大模型4.0,百度搜索实现重构 摘要 :10月17日,百度创始人李彦宏在百度世界2023上发布了文心大模型4.0,并开启邀请测试。这是迄今为止最强大的文心大模型,提升了理解、生成、逻辑和记忆能力,在综合水平上不逊于GPT-4。此外,百度搜索已经重

    2024年02月07日
    浏览(39)
  • [Unity+文心知识库]使用百度智能云搭建私有知识库,集成知识库API,打造具备知识库的AI二次元姐姐

            最近从百度智能云的官方技术支持那边了解到,目前百度千帆大模型平台提供有在线的知识库功能,能够在线上传自己的私人知识库文档,并且配置文心一言模型作为文本生成的引擎,构建自己的私有知识库。之前自己搭建知识库都是用的langchain框架,在本地部署使

    2024年02月04日
    浏览(34)
  • 用python实现调用百度图片搜索的API

    前言: 这段代码是一个简单的图片爬虫程序 它可以通过输入,在百度图片中搜索相关图片,并返回一张随机的图片。 代码使用Flask框架搭建了一个简单的Web应用,将用户输入的作为参数传递给爬虫程序,然后从百度图片中获取相关图片的URL 并随机选择一张返回

    2024年02月11日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包