大模型开发实战篇5:多模态--文生图模型API

大模型文生图是一种基于人工智能大模型的技术,能够将自然语言文本描述转化为对应的图像。目前非常火的AI大模型赛道,有很多公司在此赛道竞争。详情可看这篇文章。

今天我们来看下如何调用WebAPI来实现文生图功能。我们一般都会将OpenAI的接口,因为OpenAI是标杆,其他大模型都以它为参考,并且很多大模型的接口都复刻了OpenAI的接口,不管是接口形式还是参数定义基本都一样;也就是只要学会了OpenAI的接口,很多其他大模型也就会调用了。

一、OpenAI的文生图模型 DALL·E 

OpenAI Images API 提供了三种与图像交互的方法:

  1. 基于文本提示生成图像(DALL·E 3 和 DALL·E 2)
  2. 通过模型编辑(替换)已存在图像的某些区域,根据新的文本提示创建编辑过的图像版本(仅限 DALL·E 2)
  3. 创建现有图像的变体(仅限 DALL·E 2)

本文主要介绍第一种文生图像的使用方法。

关于 DALL·E 3 模型更新的更多内容,请参考 OpenAI Cookbook的官方链接:https://cookbook.openai.com/articles/what_is_new_with_dalle_3

图像生成 API参数

  • prompt:(必须传)提示词,一段对所需图像的文字描述。对于 DALL・E-2,最大长度为 1000 个字符;对于 DALL・E-3,最大长度为 4000 个字符。
  • model('dall-e-2' 或 'dall-e-3'):您正在使用的模型。请注意将其设置为 'dall-e-3',因为如果为空,默认为 'dall-e-2'。
  • style'natural' 或 'vivid'):生成图像的风格。必须是 'vivid' 或 'natural' 之一。'vivid' 会使模型倾向于生成超现实和戏剧性的图像。'natural' 会使模型产生更自然、不那么超现实的图像。默认为 'vivid'。
  • quality'standard' 或 'hd'):将生成的图像质量。'hd' 创建细节更精细、整体一致性更高的图像。默认为 'standard'。
  • n(int):要生成的图像数量。必须在1到10之间。默认为1。对于 dall-e-3,只支持 n=1
  • size(...):生成图像的尺寸。对于 DALL·E-2 模型,必须是 256x256、512x512 或 1024x1024 之一。对于 DALL·E-3 模型,必须是 1024x1024、1792x1024 或 1024x1792 之一。
  • response_format('url' 或 'b64_json'):返回生成图像的格式。必须是 "url" 或 "b64_json" 之一。默认为 "url"。url形式的图片地址是有效期限制的,一般是2个小时后过期,所以在代码开发中若需要长期保留图片,需要将图片及时保存到本地。
  • user(str):代表您的终端用户的唯一标识符,将帮助 OpenAI 监控和检测滥用。

了解更多可取官方api教程:https://platform.openai.com/docs/api-reference/images/create

代码演示

1、标准模型(quality="standard")

from openai import OpenAI
client = OpenAI(api_key="sk-xxx", base_url="https://vip.apiyi.com/v1")

response = client.images.generate(
    model="dall-e-3",
    prompt="In the style of a Polaroid photo, a cute Japanese high school girl, dressed in her school uniform, with short black hair, is smiling and posing at the entrance of her high school. The soft, warm tones of the Polaroid film capture the gentle morning light, highlighting the neat pleats of her skirt and the crisp white collar of her blouse. Her cheerful expression and bright eyes reflect the excitement of a new day, and the background shows the familiar brick walls and arched entryway of the school, with a few cherry blossom petals scattered on the ground, adding a touch of seasonal beauty.",
    size="1024x1024",
    quality="standard",
    n=1,
)

image_url = response.data[0].url
print(image_url)

可以看到,模型为dall-e-3, quality的参数值为standard标准版本,尺寸1024*1024 。

返回结果:

https://dalleprodsec.blob.core.windows.net/private/images/533473e0-f83d-4cde-980f-c392386ed3c9/generated_00.png?se=2025-02-17T14%3A09%3A29Z&sig=%2FoN77%2Bkb%2FKA4OY84bNaQ7N%2BZ1ZSVC2js1%2Ff9UoD6W4s%3D&ske=2025-02-22T15%3A19%3A26Z&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96&sks=b&skt=2025-02-15T15%3A19%3A26Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02

2、高清模式(quality="hd")

response = client.images.generate(
    model="dall-e-3",
    prompt="a white siamese cat",
    size="1024x1024",
    quality="hd",
    n=1,
)

print(response.data[0].url)

3、自然风格(style="natural")

response = client.images.generate(
    model="dall-e-3",
    prompt="a white siamese cat",
    size="1024x1024",
    quality="standard",
    n=1,
    style="natural"
)
print(response.data[0].url)

4、戏剧风格(style="vivid")

response = client.images.generate(
    model="dall-e-3",
    prompt="a white siamese cat",
    size="1024x1024",
    quality="standard",
    n=1,
    style="vivid"
)
print(response.data[0].url)

二、智普图像生成模型

cogview-4适用于图像生成任务,通过对用户文字描述快速、精准的理解,让AI的图像表达更加精确和个性化。

  • 模型编码:cogview-4最新、cogview-3-flash ;CogView-4模型:0.06 元 / 次 ;
  • 可以去体验一下效果:https://www.bigmodel.cn/trialcenter/modeltrial?modelCode=cogview-4

请求参数

参数名类型必填描述
modelString模型编码
promptString所需图像的文本描述
sizeString图片尺寸,可选值:1024x1024,768x1344,864x1152,1344x768,1152x864,1440x720,720x1440,默认是1024x1024。
user_idString终端用户的唯一ID,协助平台对终端用户的违规行为、生成违法及不良信息或其他滥用行为进行干预。ID长度要求:最少6个字符,最多128个字符。

响应参数

参数名称类型参数说明
createdString请求创建时间,是以秒为单位的Unix时间戳。
dataList数组,包含生成的图片 URL。目前数组中只包含一张图片。
 urlString图片链接。图片的临时链接有效期为 30天,请及时转存图片。
content_filterList返回内容安全的相关信息。
 roleString安全生效环节,包括 role = assistant 模型推理,role = user 用户输入,role = history 历史上下文
 levelInteger严重程度 level 0-3,level 0表示最严重,3表示轻微

调用示例

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 请填写您自己的APIKey
  
response = client.images.generations(
    model="cogview-4", #填写需要调用的模型编码
    prompt="一只可爱的小猫咪",
)

print(response.data[0].url)

响应示例

{
  "created": 1703485556,
  "data": [
      {
          "url": "https://......"
      }
  ]
}


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/970878.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(arxiv2411) CARE Transformer

作者提出了两个问题,问题 1:堆叠是充分利用局部归纳偏差和长距离信息优势的最佳方法吗? 问题 2:是否有可能同时提高线性视觉 Transformer 的效率和准确性? 为了解决这两个问题,作者提出了一种 deCoupled du…

时间序列分析(四)——差分运算、延迟算子、AR(p)模型

此前篇章: 时间序列分析(一)——基础概念篇 时间序列分析(二)——平稳性检验 时间序列分析(三)——白噪声检验 一、差分运算 差分运算的定义:差分运算是一种将非平稳时间序列转换…

仿叮咚买菜鸿蒙原生APP

# DingdongShopping 这是一个原生鸿蒙版的仿叮咚买菜APP项目 鸿蒙Next发布至今已经有一年多的时间了,但有时候我们想要实现一些复杂的功能或者效果,在开发文档上查阅一些资料还是比较费时的,有可能还找不到我们想要的内容。而社会层面上分享…

【大模型】DeepSeek 高级提示词技巧使用详解

目录 一、前言 二、DeepSeek 通用提示词技巧 2.1 DeepSeek 通用提示词技巧总结 三、DeepSeek 进阶使用技巧 3.1 DeepSeek一个特定角色的人设 3.1.1 为DeepSeek设置角色操作案例一 3.1.2 为DeepSeek设置角色操作案例二 3.2 DeepSeek开放人设升级 3.2.1 特殊的人设&#…

图论算法篇:邻接矩阵以及邻接表和链式前向星建图

那么我们从这一篇文章开始就正式进入了图相关算法的学习,那么对于认识图的各种算法之前,那么我们首先得学会建图,但是要在建图之前,我们又得对图这种非常基本非常常见的数据结构有着一定的认识,所以我们就先来简单回顾…

内容中台如何搭建?

内容概要 企业搭建内容中台的核心目标在于通过技术驱动的内容资产整合与流程优化,实现跨业务场景的内容高效复用与敏捷响应。这一过程始于对业务需求的深度拆解,包括明确内容生产、分发、管理的核心痛点,例如多部门协作效率低下、内容版本混…

Navicate数据库连接工具的下载与安装,附带使用(连接MySQL,建表、增删改查)

1.Navicate安装包下载 Navicat 中国 | 支持 MySQL、Redis、MariaDB、MongoDB、SQL Server、SQLite、Oracle 和 PostgreSQL 的数据库管理 2.安装 3.连接数据库 4.建表和四个基本的增删改查语句 CREATE DATABASE ckk_school20250216;USE ckk_school20250216;CREATE TABLE stude…

探秘 Map 和 Set 底层:二叉搜索树与哈希表的深度解析,解锁高效数据存储秘密!

目录 二叉搜索树(红黑树) 概念: 示例: Java代码实现: 性能分析: 哈希表 概念: 哈希冲突: 哈希冲突的避免: 避免方式1 -- 哈希函数设计 避免方式2 -- 负载因子…

python从入门到进去

python从入门到进去 第一章、软件和工具的安装一、安装 python 解释器二、安装 pycharm 第二章、初识 python一、注释可分三种二、打印输入语句三、变量1、基本数据类型1.1、整数数据类型 int1.2、浮点数数据类型 float1.3、布尔数据类型 boolean1.4、字符串数据类型 string 2、…

001-监控你的文件-FSWatch-C++开源库108杰

fswatch 原理与应用简介fswatch 安装fswatch 实践应用具体应用场景与细节补充 1. 简介 有些知识,你知道了不算厉害,但你要是不知道,就容易出乱。 很多时候,程序需要及时获取磁盘上某个文件对象(文件夹、文件&#xff0…

华为云kubernetes基于keda自动伸缩deployment副本(监听redis队列长度)

1 概述 KEDA(Kubernetes-based Event-Driven Autoscaler,网址是https://keda.sh)是在 Kubernetes 中事件驱动的弹性伸缩器,功能非常强大。不仅支持根据基础的CPU和内存指标进行伸缩,还支持根据各种消息队列中的长度、…

解锁机器学习核心算法 | 决策树:机器学习中高效分类的利器

引言 前面几篇文章我们学习了机器学习的核心算法线性回归和逻辑回归。这篇文章我们继续学习机器学习的经典算法——决策树(Decision Tree) 一、决策树算法简介 决策树算法是一种典型的分类方法,也是一种逼近离散函数值的方法。它的核心思想…

CRISPR spacers数据库;CRT和PILER-CR用于MAGs的spacers搜索

iPHoP:病毒宿主预测-CSDN博客 之前介绍了这个方法来预测病毒宿主,今天来介绍另一种比较用的多的方法CRISPR比对 CRISPR spacers数据库 Dash 在这可以下载作者搜集的spacers用于后期比对 CRT和PILER-CR 使用 CRT 和 PILERCR 识别 CRISPR 间隔区&#x…

TestHubo基础教程-创建项目

TestHubo是一款国产开源一站式测试工具,涵盖功能测试、接口测试、性能测试,以及 Web 和 App 测试,可以满足不同类型项目的测试需求。本文将介绍如何快速创建第一个项目,以快速入门上手。 1、创建项目 在 TestHubo 中,…

多模态基础模型第二篇-deepseek-r1部署

分别使用本地windows和云端linux进行部署,测试不同硬件资源的模型推理性能: windos部署:直接打开Download Ollama on Linux 下载,然后本地启动服务, linux部署:curl -fsSL https://ollama.ai/install.sh …

本地 Ollama 部署 Deepseek R1 并使用 Spring AI Alibaba 构建 Chat 应用示例

本地部署 Deepseek R1 并使用 Spring AI Alibaba 构建 Chat 应用示例 Ollama 部署 Deepseek R1 官网:https://www.deepseek.com/ Github:https://github.com/deepseek-ai Ollama:https://ollama.com/ Docker Compose 部署一个 Ollama 和…

【TI C2000】F28002x的系统延时、GPIO配置及SCI(UART)串口发送、接收

【TI C2000】F28002x的系统延时、GPIO配置及SCI(UART)串口发送、接收 文章目录 系统延时GPIO配置GPIO输出SCI配置SCI发送、接收测试附录:F28002x开发板上手、环境配置、烧录及TMS320F280025C模板工程建立F28002x叙述烧录SDK库文件说明工程建…

LabVIEW中的icon.llb 库

icon.llb 库位于 C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform 目录下,是 LabVIEW 系统中的一个重要库。它的主要功能是与图标相关的操作,提供了一些实用的 VI 用于处理 LabVIEW 图标的显示、修改和设置。通过该库&#x…

C语言-章节 1:变量与数据类型 ——「未初始化的诅咒」

在那神秘且广袤无垠的「比特大陆」上,阳光奋力地穿过「内存森林」中错综复杂的代码枝叶缝隙,洒下一片片斑驳陆离、如梦似幻的光影。林间的空气里,弥漫着一股浓郁的十六进制锈蚀味,仿佛在诉说着这片森林中隐藏的古老秘密。 一位零基…

Dest1ny漏洞库:用友 U8-CRM 系统 ajaxgetborrowdata.php 存在 SQL 注入漏洞

大家好,今天是Dest1ny漏洞库的专题!! 会时不时发送新的漏洞资讯!! 大家多多关注,多多点赞!!! 用友U8-CRM系统ajaxgetborrowdata.php存在SQL注入漏洞,文件多…