文心大模型AI绘画教程:基础到高级全解析
最近发现不少小伙伴都对科技周边很感兴趣,所以今天继续给大家介绍科技周边相关的知识,本文《文心大模型AI绘画教程:基础+高级+代码示例》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~
国内首个技术自研、基于大模型的通用且可控的文生图系统,可基于自然语言智能生成不限定风格的图像,面向有图片创作需求的开发者提供API调用服务,为内容创作者提供灵感和高质量配图
AI作画-基础版
AI作画-基础版,基于文心ERNIE-ViLG大模型,根据用户输入的文本,自动创作图片,每次可自定义生成1张至6张图片。在使用AI作画接口服务之前,请您仔细阅读相关协议的全部内容。
AI作画-基础版涉及2个接口,分别为:提交请求、查询结果。
提交请求:传入文本、分辨率、风格参数,创建AI作画任务,获得任务ID。
查询结果:用于在任务创建后,查看图片生成状态。待图片生成完毕,通过查询接口即可查看生成图片的地址链接。
提交请求
接口描述
提交请求接口,根据用户输入的文本,得到图片生成任务ID。
在线调试
您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
请求说明
请求示例
HTTP方法: POST
请求URL: https://aip.baidubce.com/rpc/2.0/ernievilg/v1/txt2img
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
并发数:付费使用后默认并发数为 1
请求参数
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
text | 是 | string | 输入内容,长度不超过100个字(操作指南详见文档) |
resolution | 是 | string | 图片分辨率,可支持10241024、10241536、1536*1024 |
style | 是 | string | 目前支持风格有:探索无限、古风、二次元、写实风格、浮世绘、low poly 、未来主义、像素风格、概念艺术、赛博朋克、洛丽塔风格、巴洛克风格、超现实主义、水彩画、蒸汽波艺术、油画、卡通画 |
num | 否 | int | 图片生成数量,支持1-6张 |
Body示例
<code>{ "text": "睡莲", "style": "油画", "resolution": "1024*1024", "num": 1 }</code>
返回说明
返回参数
参数 | 类型 | 描述 |
---|---|---|
log_id | uint64 | 请求唯一标识码 |
data | object | 结果对象,返回 task id。任务完成后,作为获取图片的依据 |
taskId | int | 图片生成任务id,作为查询接口的入参 |
返回示例
<code>{ "data": { "taskId": 8328053 }, "log_id": 1583376431827547238 }</code>
查询结果
接口描述
查询结果接口,根据图片生成任务ID(有效期一个月)查询生成状态。
在线调试
您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
请求说明
请求示例
HTTP方法: POST
请求URL: https://aip.baidubce.com/rpc/2.0/ernievilg/v1/getImg
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
并发数:付费使用后默认并发数为 2
请求参数
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
taskId | 是 | string | 从提交请求的提交接口的返回值中获取 |
Body示例
<code>{ "taskId":"8328053" }</code>
返回说明
返回参数
参数 | 类型 | 描述 |
---|---|---|
data | object | task_id对应请求的任务状态和生成结果 |
+style | string | 请求内容中的图片风格 |
+taskId | int | 对应任务的id(有效期一个月) |
+imgUrls | array | 生成结果数组(目前默认生成1张图) |
++image | string | 生成结果地址(有效期三个月) |
+text | string | 请求内容中的文本 |
+status | int | 0或1。"1"表示已生成完成,"0"表示任务排队中或正在处理。 |
+createTime | string | 任务创建时间 |
+img | string | 生成结果地址 |
+waiting | string | 预计等待时间 |
log_id | uint64 | 请求唯一标识码 |
返回示例
<code>{ "data": { "style": "油画", "taskId": 8328053, "imgUrls": [ { "image": "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/9eb039cab103d587ed92f52477e2f4a0ex" } ], "text": "睡莲", "status": 1, "createTime": "2022-11-17 16:52:10", "img": "https://wenxin.baidu.com/younger/file/ERNIE-ViLG/9eb039cab103d587ed92f52477e2f4a0ex", "waiting": "0" }, "log_id": 1593165135593954136 } </code>
AI作画-高级版
接口描述
AI 作画,基于文心大模型,根据用户输入的文本,自动创作图片。AI 作画-高级版涉及2个接口,分别为:提交请求、查询结果。
提交请求:支持传入文本、分辨率、数量、参考图等参数,创建 AI 作画任务,获得任务ID。
查询结果:用于在任务创建后,查看图片生成状态。待图片生成完毕,通过查询接口即可查看生成图片的地址链接。
并发概念:并发数指 AI 作画高级版服务同时能处理的请求数量。上一个任务执行完,拿到结果后,并发才结束。
若您对于 prompt 输入有疑问,请参考 “AI作画-高级版使用指南” 。
并发数:付费使用后AI作画-高级版图片生成处理过程并发提升为2
提交请求-接口说明
在线调试
您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
请求示例
HTTP方法: POST
请求URL: https://aip.baidubce.com/rpc/2.0/ernievilg/v1/txt2imgv2
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
请求参数
POST 方式调用
注意:要求使用 JSON 格式的结构体来描述一个请求的具体内容。
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
prompt | 是 | string | 生图的文本描述。仅支持中文、日常标点符号。不支持英文,特殊符号,限制 200 字 |
version | 否 | string | 模型版本,支持 v1、v2,默认为v2,v2 为最新模型,比 v1 在准确度、精细度上有比较明显的提升,且 v2 支持更多尺寸 |
width | 是 | integer | 图片宽度,v1 版本支持:1024x1024、1280x720、720x1280、2048x2048、2560x1440、1440x2560;v2 版本支持:512x512、640x360、360x640、1024x1024、1280x720、720x1280、2048x2048、2560x1440、1440x2560 |
height | 是 | integer | 图片高度,v1 版本支持:1024x1024、1280x720、720x1280、2048x2048、2560x1440、1440x2560;v2 版本支持:512x512、640x360、360x640、1024x1024、1280x720、720x1280、2048x2048、2560x1440、1440x2560 |
image_num | 否 | number | 生成图片数量,默认一张,支持生成 1-8 张 |
image | 否,和url/pdf_file 三选一 | string | 参考图,需 base64 编码,大小不超过 10M,最短边至少 15px,最长边最大 8192px,支持jpg/jpeg/png/bmp 格式。优先级:image >url >pdf_file,当image 字段存在时,url、pdf_file 字段失效 |
url | 否,和image/pdf_file 三选一 | string | 参考图完整 url,url 长度不超过 1024 字节,url 对应的图片需 base64 编码,大小不超过 10M,最短边至少 15px,最长边最大8192px,支持 jpg/jpeg/png/bmp 格式。优先级:image >url >pdf_file,当image 字段存在时,url 字段失效请注意关闭 URL 防盗链 |
pdf_file | 否,和image/url 三选一 | string | 参考图 PDF 文件,base64 编码,大小不超过10M,最短边至少 15px,最长边最大 8192px 。优先级:image >url >pdf_file,当image 字段存在时,url、pdf_file 字段失效 |
pdf_file_num | 否 | string | 需要识别的 PDF 文件的对应页码,当pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
change_degree | 否,当 image、url或 pdf_file 字段存在时,为必需项 | integer | 参考图影响因子,支持 1-10 内;数值越大参考图影响越大 |
请求示例
<code>{ "prompt": "睡莲", "version": "v1", "width": 1024, "height": 1024, "image_num": 1, "image": ""(base64 编码), "change_degree":1 } </code>
返回说明
JSON 格式
注意:若输入为 UTF-8 编码(通过指定 charset 参数),则返回内容为 UTF-8 编码
返回参数
参数 | 类型 | 描述 |
---|---|---|
log_id | uint64 | 请求唯一标识码 |
data | object | 返回数据 |
primary_task_id | long | 生成图片任务long类型 id,与“task_id”参数输出相同,该 id 可用于查询任务状态 |
task_id | string | 生成图片任务string类型 id,与“primary_task_id”参数输出相同,该 id 可用于查询任务状态 |
返回示例
<code>{ "data": { "primary_task_id": 1659384536691865192, "task_id": "1659384536691865192" }, "log_id": 1583376431827547238 } </code>
查询结果-接口说明
在线调试
您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
请求示例
HTTP方法: POST
请求URL: https://aip.baidubce.com/rpc/2.0/ernievilg/v1/getImgv2
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
并发数:付费后默认并发数为 2
请求格式
POST 方式调用
注意:要求使用 JSON 格式的结构体来描述一个请求的具体内容。
请求参数
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
task_id | 是 | long或string | 从提交请求的提交接口的返回值中获取,可使用task_id 查询总任务 |
请求示例1
<code>{"task_id": 1659384536691865192 } </code>
请求示例2
<code>{"task_id": “1659384536691865192” } </code>
返回格式
JSON 格式
返回参数
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
log_id | 是 | uint64 | 请求唯一标识码 |
data | 是 | object | 返回数据 |
├─task_id | 是 | long | 任务 Id |
├─task_status | 是 | string | 计算总状态。有 INIT(初始化),WAIT(排队中), RUNNING(生成中), FAILED(失败), SUCCESS(成功)四种状态,只有 SUCCESS 为成功状态 |
├─task_progress | 是 | number | 图片生成总进度,进度包含2种,0为未处理完,1为处理完成 |
├─sub_task_result_list | 是 | object[] | 子任务生成结果列表 |
├─sub_task_status | 是 | string | 单风格图片状态。有 INIT(初始化),WAIT(排队中), RUNNING(生成中), FAILED(失败), SUCCESS(成功)四种状态,只有 SUCCESS 为成功状态 |
├─sub_task_progress | 否 | number | 单任务图片生成进度,进度包含2种,0为未处理完,1为处理完成 |
├─sub_task_error_code | 是 | string | 单风格任务错误码。0:正常;501:文本黄反拦截;201:模型生图失败 |
├─final_image_list | 是 | object [] | 单风格任务产出的最终图列表 |
├─img_url | 是 | string | 图片所在 BOS http 地址,默认 1 小时失效 |
├─height | 是 | integer | 图片像素信息-高度 |
├─width | 是 | integer | 图片像素信息-宽度 |
├─img_approve_conclusion | 是 | string | 图片机审结果,"block":输出图片违规;"review": 输出图片疑似违规;"pass": 输出图片未发现问题; |
计费规则:返回图片链接计费,因审核拦截等情况导致未返回图片链接不进行计费
返回示例
<code>{ "log_id": 1583376431827547238, "data": { "task_id": 1659384536691865192, "task_status": "SUCCESS", "task_progress": 1 "sub_task_result_list": [ { "sub_task_status": "SUCCESS", "sub_task_progress": 1, "sub_task_error_code": 0, "final_image_list": [ { "img_approve_conclusion": "pass", "img_url": "http://aigc-t2p-dev.bj.bcebos.com/artist- long/50601_0_final.png?authorization=bce-auth- v1%2F166d4fe6e8164b10bc178a36df207978%2F2023-04- 03T03%3A36%3A54Z%2F1800%2Fhost%2F116f64fdd5c17dff734783cd4ee144b036fd7ea7fdaa23 7928153c2039d4ceac", "width": 512, "height": 512 } ] } ]} } </code>
综合案例
需求:使用百度“AI作画-基础版”功能实现输入文字输入图片
步骤一:登录百度智能云,领取资源
AI作画-百度AI开放平台
步骤二:创建百度AI作画应用
步骤三:创建sourceai/model/draw/baidu/aidraw.py文件,内容如下:
<code>import requests import json import time API_KEY = "mLi282q9CTaDMO0aTiCWvbrm" SECRET_KEY = "lHhsIr6Ao7nOTQZk62OyTtQS25rsEkBa" def draw_pic(log): taskid = draw(log) import time time.sleep(5) img_url = query(taskid) return img_url def draw(log): url = "https://aip.baidubce.com/rpc/2.0/ernievilg/v1/txt2img?access_token=" + get_access_token() payload = json.dumps({ "text": log, "resolution": "1024*1024", "style": "写实风格" }) headers = { 'Content-Type': 'application/json', 'Accept': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text) tempResult = json.loads(response.text) taskid = tempResult['data']['taskId'] print(taskid) return taskid 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")) def query(taskId): global img_url tempResult = query_task(taskId) status = tempResult['data']['status'] if status == 1: img_url = tempResult['data']['img'] print(img_url) return img_url elif status == 0: print('检查正在制作中,请等待...') time.sleep(1) img_url = query(taskId) return img_url def query_task(taskId): 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) tempResult = json.loads(response.text) return tempResult if __name__ == '__main__': # draw("绝美壁纸,古装少女,月亮夜晚,祥云,古典纹样,月光柔美,花瓣飘落,多彩炫光,镭射光,浪漫色调,浅粉色,几何构成,丰富细节,唯美二次元") # query('17461266') draw_pic("绝美壁纸,古装少女,月亮夜晚,祥云,古典纹样,月光柔美,花瓣飘落,多彩炫光,镭射光,浪漫色调,浅粉色,几何构成,丰富细节,唯美二次元")</code>
步骤四:创建sourceai/controller/draw_view.py文件,内容如下:
<code>from django.shortcuts import render from django.http import HttpResponse from sourceai.model.imgc import app_imgc import json from sourceai.model.draw.baidu import aidraw_base # Create your views here. def draw_index(request): return render(request, 'draw/drawpic.html') def draw_pic(request): product = request.POST.get('context') print('内容为:',product) result = '' code = 0 try: if product.strip() != '': # result = aidraw_base.query("1699776106452878243") result = aidraw_base.draw_pic(product.strip()) print(result) except Exception as e: result = 'static/img/nopic.jpg' code = -1 return HttpResponse(json.dumps({"code":code,"res": result})) </code>
步骤五:soft863ai/urls.py文件中添加如下内容:
<code>from sourceai.controller import draw_view path('drawindex', draw_view.draw_index), path('drawto', draw_view.draw_pic),</code>
全部内容如下:
<code>from django.contrib import admin from django.urls import path from sourceai import views from sourceai.controller import ocr_view from sourceai.controller import imgc_view from sourceai.controller import nlp_view from sourceai.controller import draw_view urlpatterns = [ path('admin/', admin.site.urls), path('first', views.first_index), path('firstvalue', views.first_value), path('urltotext', views.url_to_text), path('ocrurl', views.ocr_index_url), path('imgtotext', views.img_to_text), path('ocrindex', views.ocr_index), path('ocrsim', ocr_view.ocr_sim), path('imgc', imgc_view.imgc_index), path('imgcto', imgc_view.img_to_text), path('poem', nlp_view.poem_index), path('poemto', nlp_view.poem_to_create), path('drawindex', draw_view.draw_index), path('drawto', draw_view.draw_pic), ]</code>
步骤六:创建templates/draw/drawpic.html文件,内容如下:
</p><p>本篇关于《文心大模型AI绘画教程:基础到高级全解析》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于科技周边的相关知识,请关注golang学习网公众号!</p></div></div></div></div>

- 上一篇
- JavaScript修改元素样式的方法有哪几种?

- 下一篇
- Zookeeper客户端连接失败解决方法
-
- 科技周边 · 人工智能 | 8分钟前 |
- 在Colab运行AI绘画模型教程
- 416浏览 收藏
-
- 科技周边 · 人工智能 | 15分钟前 |
- 豆包AI图像生成代码实用教程
- 276浏览 收藏
-
- 科技周边 · 人工智能 | 15分钟前 |
- 豆包AI缓存代码教程详解
- 474浏览 收藏
-
- 科技周边 · 人工智能 | 24分钟前 |
- MemoAI官方版下载指南
- 105浏览 收藏
-
- 科技周边 · 人工智能 | 33分钟前 | 排版 文字特效 漫画 ElserAIComics 对话气泡
- ElserAIComics添加对话气泡方法
- 371浏览 收藏
-
- 科技周边 · 人工智能 | 40分钟前 |
- 豆包AI解析CSV数据方法详解
- 131浏览 收藏
-
- 科技周边 · 人工智能 | 42分钟前 |
- ChatGPT需翻墙吗?国内访问方法详解
- 398浏览 收藏
-
- 科技周边 · 人工智能 | 44分钟前 |
- 豆包AI如何防御Web安全?攻击防护指南
- 113浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 茅茅虫AIGC检测
- 茅茅虫AIGC检测,湖南茅茅虫科技有限公司倾力打造,运用NLP技术精准识别AI生成文本,提供论文、专著等学术文本的AIGC检测服务。支持多种格式,生成可视化报告,保障您的学术诚信和内容质量。
- 148次使用
-
- 赛林匹克平台(Challympics)
- 探索赛林匹克平台Challympics,一个聚焦人工智能、算力算法、量子计算等前沿技术的赛事聚合平台。连接产学研用,助力科技创新与产业升级。
- 177次使用
-
- 笔格AIPPT
- SEO 笔格AIPPT是135编辑器推出的AI智能PPT制作平台,依托DeepSeek大模型,实现智能大纲生成、一键PPT生成、AI文字优化、图像生成等功能。免费试用,提升PPT制作效率,适用于商务演示、教育培训等多种场景。
- 165次使用
-
- 稿定PPT
- 告别PPT制作难题!稿定PPT提供海量模板、AI智能生成、在线协作,助您轻松制作专业演示文稿。职场办公、教育学习、企业服务全覆盖,降本增效,释放创意!
- 154次使用
-
- Suno苏诺中文版
- 探索Suno苏诺中文版,一款颠覆传统音乐创作的AI平台。无需专业技能,轻松创作个性化音乐。智能词曲生成、风格迁移、海量音效,释放您的音乐灵感!
- 181次使用
-
- GPT-4王者加冕!读图做题性能炸天,凭自己就能考上斯坦福
- 2023-04-25 501浏览
-
- 单块V100训练模型提速72倍!尤洋团队新成果获AAAI 2023杰出论文奖
- 2023-04-24 501浏览
-
- ChatGPT 真的会接管世界吗?
- 2023-04-13 501浏览
-
- VR的终极形态是「假眼」?Neuralink前联合创始人掏出新产品:科学之眼!
- 2023-04-30 501浏览
-
- 实现实时制造可视性优势有哪些?
- 2023-04-15 501浏览