文心大模型文档

接口文档

接口说明

ERNIE-ViLG AI作画大模型:文心ERNIE-ViLG2.0 是基于用户输入文本、或文本加图片生成图像及图像编辑功能的技术,主要为用户提供跨模态的文本生成图像的大模型技术服务。

其中,参考图功能是需要用户上传一张符合要求的图片,再输入prompt文本,选择相应的参数设置,即可生成新的图像。

  • 温馨提示
  1. 使用须知

在您使用文心ERNIE-ViLG2.0大模型服务的API接口调用前,请您仔细阅读《服务协议》的相关内容,并遵守《服务使用规范》的相关要求进行合规的大模型API服务调用。

  1. 其他生图途径

您还可前往百度智能云按需购买您的用量,届时您将在百度智能云控制台内调用AI作画大模型的API接口及查看使用详情,文心官网将无法使用您的购买额度。

获取API Key

文心官网密钥

您可以登录文心大模型API服务平台个人中心获取您的专属API Key(AK)和Secret Key(SK),查看您的AK/SK。请注意保护您的密钥信息,避免泄露。您可以通过删除已泄露的密钥来保护您的账户安全。

AK:SK查看及创建.png

百度智能云密钥

  1. 如您进入百度智能云开放平台进行付费提额,您可在百度智能云控制台里创建生成您的AK/SK进行查看和使用。请注意保护您的密钥信息,避免泄露。
  2. 在百度智能云控制台使用时,请您查看百度AI开放平台的接口文档并以其提供的信息为准,如有使用差异时请以所在付费平台提供的API接口文档为准。

调用方式

在本地Python环境调用接口

  • 安装wenxin-api工具包
pip install --upgrade wenxin-api

*注意:建议python版本在python 3.7及以上版本

  • 如何调用

(调用分为两种类型)

类型1:普通的文生图

# -*- coding: utf-8 -*
import wenxin_api # 可以通过"pip install wenxin-api"命令安装
from wenxin_api.tasks.text_to_image import TextToImage
wenxin_api.ak = "your_ak"
wenxin_api.sk = "your_sk"
num = 1
input_dict = {
    "text": "睡莲",
    "style": "油画",
    "resolution":"1024*1024",
    "num": num
}
rst = TextToImage.create(**input_dict)
print(rst)
  • 等待过程返回信息
2022-08-12 02:23:15,488 - model is painting now!, taskId: 1023101, waiting: 2m
2022-08-12 02:23:35,641 - model is painting now!, taskId: 1023101, waiting: 1m
2022-08-12 02:23:55,982 - model is painting now!, taskId: 1023101, waiting: 1m
  • 返回结果示例
{
    "imgUrls":[
        "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157afdaef4f0dfef0d5e51459160fbex",
        "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157afdaef4f0dfef0d5e51459160fbi4",
        "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157afdaef4f0dfef0d5e51459160fb5q",
        "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157afdaef4f0dfef0d5e51459160fb30",
        "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157afdaef4f0dfef0d5e51459160fbv9",
        "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157afdaef4f0dfef0d5e51459160fba2",
        "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157afdaef4f0dfef0d5e51459160fbbf",
        "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157afdaef4f0dfef0d5e51459160fbms",
        "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157afdaef4f0dfef0d5e51459160fbu7",
        "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157afdaef4f0dfef0d5e51459160fbct"
    ]
}

类型2:带参考图的文生图

# -*- coding: utf-8 -*
import wenxin_api # 可以通过"pip install wenxin-api"命令安装
from wenxin_api.tasks.text_to_image import TextToImageRef
wenxin_api.ak = "your_ak"
wenxin_api.sk = "your_sk"
ref_img = "本地参考图文件,jpg或png格式"
num = 1
resolution = "1024*1024"
input_dict = {
    "text": "睡莲",
    "style": "油画",
    "ref_img": ref_img,
    "resolution": resolution,
    "num": num
}
rst = TextToImageRef.create(**input_dict)
print(rst)
  • 等待过程返回信息
2022-08-12 02:23:15,488 - model is painting now!, taskId: 1023101, waiting: 2m
2022-08-12 02:23:35,641 - model is painting now!, taskId: 1023101, waiting: 1m
2022-08-12 02:23:55,982 - model is painting now!, taskId: 1023101, waiting: 1m
  • 返回结果示例
{
    "imgUrls":[
        "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157afdaef4f0dfef0d5e51459160fbex",
    ]
}

其他语言调用接口

ERNIE-ViLG API包含两个接口,一个是提交请求接口,一个是查询结果接口。

shell代码示例

获取accessToken
curl -XPOST "https://wenxin.baidu.com/moduleApi/portal/api/oauth/token?grant_type=client_credentials&client_id={your_ak}&client_secret={your_sk}" -H "Content-Type:application/x-www-form-urlencoded"

返回结果

  • 得到accessToken(参数data的值即为accessToken)
# 输出的data值就是accessToken
{
    "code":0,
    "msg":"success",
    "data":"24.821bce8e36a147127bbb820359f16994.86400000.1660985554034.beaabb134e7a26eabb9e2f1e17678d29-100063"
}
创建预测任务

⚠️需要将{accessToken}替换成上一步得到的data值(注意:连同花括号也一起替换)

curl -i -k "https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernievilg/v1/txt2img?access_token=${access_token}" --data-urlencode "text=睡莲" --data-urlencode "style=油画" --data-urlencode "resolution=1024*1024" --data-urlencode "num=4" #分辨率和数量非必须参数,默认resolution=1024*1024、number=4

返回创建任务的结果示例:

(返回结果包括,返回的参数code:错误码、msg:错误信息、data:结果对象)

{
    "code":0,
    "msg":"success",
    "data":{
        "requestId":"2d975c829235d84aba5d1b3f54cb1a03",
        "taskId":1037117
    }
}
查询任务

⚠️注意:需要将{access_token}替换成第一步输出的data值;{task_id}替换成上面输出的data里的taskId值。

(注意:连同花括号也一起替换)

curl -i -k "https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernievilg/v1/getImg?access_token={access_token}" --data-urlencode "taskId={task_id}"

返回查询任务的结果示例1(排队中):

{
    "code":0,
    "msg":"success",
    "data":{
        "img":"",
        "waiting":"30s",
        "imgUrls":[

        ],
        "createTime":"2022-08-19 17:26:42",
        "requestId":"8247a420fb5167bd028b1bc77403070a",
        "style":"油画",
        "text":"睡莲",
        "resolution":"1024 * 1024",
        "taskId":1037124,
        "status":0
    }
}

返回查询任务的结果示例2(预测成功):

{
    "code":0,
    "msg":"success",
    "data":{
        "img":"https://wenxin.baidu.com/younger/file/ERNIE-ViLG/2b5718c69aef65137945df4aac0ecf1cex",
        "waiting":"0",
        "imgUrls":[
            {
                "image":"https://wenxin.baidu.com/younger/file/ERNIE-ViLG/2b5718c69aef65137945df4aac0ecf1cex",
                "score":null
            },
            {
                "image":"https://wenxin.baidu.com/younger/file/ERNIE-ViLG/2b5718c69aef65137945df4aac0ecf1ci4",
                "score":null
            },
            {
                "image":"https://wenxin.baidu.com/younger/file/ERNIE-ViLG/2b5718c69aef65137945df4aac0ecf1c5q",
                "score":null
            },
            {
                "image":"https://wenxin.baidu.com/younger/file/ERNIE-ViLG/2b5718c69aef65137945df4aac0ecf1c30",
                "score":null
            }
          
            
            
        ],
        "createTime":"2022-08-19 17:07:02",
        "requestId":"2883dd9e9dc54d6ee00894d7b37f022a",
        "style":"油画",
        "text":"睡莲",
        "resolution":"1024 * 1024",
        "taskId":1037013,
        "status":1
    }
}

1. ERNIE-ViLG跨模态文生图—提交请求接口

接口要求
内容 说明
传输方式 https (为提高安全性,强烈推荐https)
请求地址 https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernievilg/v1/txt2img
字符编码 UTF-8
响应格式 统一采用JSON格式
开发语言 任意,只要可以向服务发起HTTP请求的均可
适用范围 任意操作系统,但因不支持跨域不适用于浏览器,请在后端调用接口
请求行 POST
请求QPS限制 1
平均响应时间 1024*1024的响应时长平均30s,1024*1536和1536*1024的响应时长平均50s
接口调用流程
  • 将请求参数放在Http Request Body中,以POST表单的形式提交,详见下方 请求参数 。
  • 向服务器端发送Http请求后,接收服务器端的返回结果。
请求参数
  • 在调用业务接口时,配置以下参数。
  • header 信息
参数名
Content-Type application/x-www-form-urlencoded
  • 参数:
参数名 类型 是否必传 描述
access_token string
text string 输入内容,长度不超过100个字
style string 图片风格,目前支持风格有:古风、二次元、写实风格、浮世绘、low poly 、未来主义、像素风格、概念艺术、赛博朋克、洛丽塔风格、巴洛克风格、超现实主义、水彩画、蒸汽波艺术、油画、卡通画
resolution string 图片尺寸,目前支持的有:1024*1024 方图、1024*1536 长图、1536*1024 横图
num int 图片数量,目前默认4张
image file 用该字段时 请将访问类型设置为: Content-Type 设置为 application/form-data
  • 获取access_token 向授权服务地址 https://wenxin.baidu.com/moduleApi/portal/api/oauth/token 发送请求(使用POST),并在URL中带上以下参数:

    1. grant_type: 必须参数,固定为client_credentials;
    2. client_id: 必须参数,应用的API Key(AK) 从链接专区申请;
    3. client_secret: 必须参数,应用的Secret Key(SK) 从链接专区申请;
  • 返回参数
参数名 类型 描述
code int 错误码
msg string 错误信息
data object 结果对象,返回 task id。任务完成后,作为获取图片的依据
taskId int 图片生成任务id,作为查询接口的入参
  • 错误码
错误码 错误描述
4001 请求参数格式错误,不是标准的JSON格式
4002 请求参数格式错误,请检查必传参数是否齐全,参数类型等
4003 text长度超过模型要求的最大值
4004 API服务内部错误,可能引起原因有请求超时、模型推理错误等

2. ERNIE-ViLG跨模态文生图—查询结果接口

ERNIE-ViLG 跨模态文生成图,提交请求后,查询生成的图片。

接口要求
内容 说明
传输方式 https (为提高安全性,一致采用https)
请求地址 https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernievilg/v1/getImg
字符编码 UTF-8
响应格式 统一采用JSON格式
开发语言 任意,只要可以向服务发起HTTP请求的均可
适用范围 任意操作系统,但因不支持跨域不适用于浏览器,请在后端调用接口
请求行 POST
接口调用流程
  • 将请求参数以POST表单的形式提交,详见下方 请求参数 。
  • 向服务器端发送Http请求后,接收服务器端的返回结果。
请求参数
  • 在调用业务接口时,配置以下参数。
  • 参数
参数名 类型 是否必传 描述
access_token string 与上述获取方式一致
taskId string 从上一章节的提交接口的返回值中获取
返回参数
参数名 类型 描述
code int 错误码
msg string 错误信息
data object task_id对应请求的任务状态和生成结果
img string 生成结果地址 后期去掉 使用 imgUrls
imgUrls array 生成结果数组 目前默认生成10张图
waiting string 预计等待时间
createTime string 任务创建时间
style string 请求内容中的图片风格
text string 请求内容中的文本
taskId int 对应任务的id
status int 0或1。"1"表示已生成完成,"0"表示任务排队中或正在处理。
resolution string 请求内容的图片尺寸
num int 请求生成图片的数量
image file 上传参考图的图片

参考图功能

1. reference image

POST application/form-data /moduleApi/portal/api/rest/1.0/ernievilg/v1/txt2img

2. 响应
{
    "code": 0, 
    "msg": "success",
    "data": {
        "taskId": 23001
    },
    "requestId": "549eb16b46ae419b368b287a3dcad196"
}
3. 调用示例

参考图.png

错误码
错误码 错误描述
4001 请求参数格式错误
4002 请求参数格式错误,请检查必传参数是否齐全,参数类型等
4003 请求参数中,图片风格不在可选范围内
4004 API服务内部错误,可能引起原因有请求超时、模型推理错误等
1 请求内容触发黄反算子和敏感词过滤,提示文本:暂不支持创作该内容,请修改后再试
上一篇
ERNIE 3.0系列模型精调
下一篇
Prompt指南