AI 大模型推理

  • AI 大模型推理 > API 文档 > 图生图 (images edits)

    图生图 (images edits)

    最近更新时间: 2025-12-10 12:34:04

    七牛云 AI 大模型推理 API 支持图生图(Image-to-Image)功能,兼容 OpenAI Images Edit API 接口格式,支持基于输入图像和文本描述生成新的图像,方便您集成到各种图像编辑和创意应用场景中。

    接口说明

    Token API 接入点

    七牛云 AI 大模型推理 API 接入域名:

    支持接口列表

    接口名 说明
    /images/edits 图生图接口,根据输入图像和文本描述生成新的图像
    输出格式:Base64 编码的图像数据

    支持的模型列表

    模型 ID 模型名称 说明 状态
    gemini-2.5-flash-image Gemini 2.5 Flash Image (🍌 Nano Banana) 又称 Nano Banana,谷歌的快速图像模型,支持高质量的图像编辑、风格转换和内容修改 ✅已推出
    gemini-3.0-pro-image-preview Gemini 3.0 Pro Image Preview (🍌 Nano Banana Pro) 又称 Nano Banana Pro,谷歌最新预览版图像模型,提供更强大的图像编辑和生成能力,支持复杂的图像处理任务 ✅已推出
    kling-v2 kling v2 图生图 V2.0 模型 ✅已推出

    调用示例

    基础图像编辑

    # 使用图片 URL 进行图生图 export OPENAI_BASE_URL="https://api.qnaigc.com/v1" export OPENAI_API_KEY="<七牛云 AI API KEY>" curl "$OPENAI_BASE_URL/images/edits" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "gemini-3.0-pro-image-preview", "image": "https://fastly.picsum.photos/id/173/1280/720.jpg?hmac=xH_ViV5QGlLeWARvoUE2frSLNcUXvAGKHaMs0Hy6c_0", "prompt": "为这个场景添加日落效果,让整体色调更温暖" }' 

    使用多张输入图像

    # 使用多张图像作为输入 export OPENAI_BASE_URL="https://api.qnaigc.com/v1" export OPENAI_API_KEY="<七牛云 AI API KEY>" curl "$OPENAI_BASE_URL/images/edits" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "gemini-3.0-pro-image-preview", "image": [ "https://fastly.picsum.photos/id/173/1280/720.jpg?hmac=xH_ViV5QGlLeWARvoUE2frSLNcUXvAGKHaMs0Hy6c_0", "https://fastly.picsum.photos/id/94/1280/720.jpg?hmac=k4Q_QD8yQKjvw4F4QeTMhhR8QczYaWGOdXuRWMe8NB4" ], "prompt": "结合这两张图片的风格,生成一张新的艺术作品" }' 

    使用 image_config 控制比例和分辨率(推荐)

    # 使用 image_config 参数控制图像比例和分辨率(推荐 Gemini 模型使用) export OPENAI_BASE_URL="https://api.qnaigc.com/v1" export OPENAI_API_KEY="<七牛云 AI API KEY>" curl "$OPENAI_BASE_URL/images/edits" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "gemini-3.0-pro-image-preview", "image": [ "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg" ], "mask": "https://i.mji.rip/2025/10/21/920fbd51345c4dbefc796f3f44a32b01.png", "prompt": "添加两个拥抱的人", "image_config": { "aspect_ratio": "9:16", "image_size": "4K" } }' 

    使用Kling模型

    # kling 模型使用多张图像作为输入 export OPENAI_BASE_URL="https://api.qnaigc.com/v1" export OPENAI_API_KEY="<七牛云 AI API KEY>" curl "$OPENAI_BASE_URL/images/edits" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "kling-v2", "image": "", "prompt": "综合两个图像画一个漫画图", "subject_image_list":[ { "subject_image":"https://aitoken-image.qnaigc.com/1383010xxx/image-1761793032508597404-1383010xxx/0.png?e=1763089082&token=IDB69r4gicDbMfrecarthgw1btTTWEFNg9i5_yasXqhp:JapC2EihLvSADMficht3pZVn5Xc=" }, { "subject_image":"https://aitoken-image.qnaigc.com/1383010xxx/image-1761793032508597404-1383010xxx/0.png?e=1763089082&token=IDB69r4gicDbMfrecarthgw1btTTWEFNg9i5_yasXqhp:JapC2EihLvSADMficht3pZVn5Xc=" } ] }' 

    请求参数

    Header 参数

    参数名 类型 必填 说明
    Authorization string API Key,格式:Bearer YOUR_API_KEY
    Content-Type string 请求内容类型,固定值:application/json

    Body 参数 (JSON)

    参数名 类型 必填 默认值 说明 模型支持
    model string - 图像生成模型名称,如 gemini-3.0-pro-image-preview -
    image string 或 array - 输入图像,支持以下格式:
    - Base64 data URI(如 data:image/png;base64,...)
    - 图片 URL(如 https://example.com/image.jpg)
    - 数组形式的多张图片
    -
    prompt string - 图像编辑的文本描述提示词 -
    n integer 1 生成图像数量,取值范围:1-10 -
    size string - 图像尺寸,格式:宽x高,支持以下尺寸:
    1024x10241536x10241792x10241024x15361024x1792
    1344x768768x13441248x832832x1248
    1184x864864x11841152x896896x11521536x672
    注意:Gemini 模型推荐使用 image_config 参数替代 size 参数
    ✅已支持
    image_config object - 图像配置对象,用于控制图像比例和分辨率
    包含 aspect_ratioimage_size 两个字段
    推荐 Gemini 模型使用此参数
    ✅已支持
    mask string - 遮罩图像 URL 或 Base64 data URI,用于指定编辑区域 -
    quality string - 图像质量,可选值:standard(标准质量)、hd(高清质量) 暂不支持
    background string - 背景处理方式,可选值:transparent(透明)、opaque(不透明)、auto(自动) 暂不支持
    input_fidelity string - 输入图像保真度,可选值:high(高保真)、low(低保真) 暂不支持
    output_format string png 输出格式,可选值:pngjpegwebp 暂不支持
    output_compression integer - 输出压缩质量,取值范围:0-100(仅适用于 webp/jpeg 格式) 暂不支持
    response_format string b64_json 响应格式,可选值:b64_json(Base64 编码)、url(图片 URL) 暂不支持
    stream boolean false 是否启用流式响应 暂不支持
    subject_image_list array - 图生图的参考图片列表 仅限kling模型
    > subject_image_list.subject_image string - 图生图的参考图片,内容为可公开访问的 url 链接 仅限kling模型
    scene_image sting - 场景参考图,内容为可公开访问的 url 链接 仅限kling模型
    style_image sting - 风格参考图,内容为可公开访问的 url 链接 仅限kling模型
    aspect_ratio sting “16:9” 生成图片的画面纵横比(宽:高) 仅限kling模型

    参数详细说明

    model

    • 必填参数
    • 指定使用的图像编辑模型
    • 不同模型支持的参数和功能可能有所不同
    • 示例:gemini-3.0-pro-image-preview

    image

    • 必填参数
    • 输入图像,支持多种格式:
      • Base64 data URI:使用 data:image/png;base64, 前缀 + Base64 编码的图像数据
      • 图片 URL:可访问的公网图片链接,如 https://example.com/image.jpg
      • 数组形式:支持传入多张图片,格式为 ["url1", "url2"] 或混合 data URI 和 URL
    • 建议使用高质量的输入图像以获得更好的编辑效果

    prompt

    • 必填参数
    • 图像编辑的文本描述提示词
    • 建议:
      • 清晰描述期望的编辑效果
      • 包含风格、色彩、构图等具体细节
      • 使用逗号分隔不同的描述要素
    • 示例:
      • "将图片中的天空改为日落时分的橙红色,增加温暖的氛围"
      • "将照片转换为油画风格,保持主体不变,增强色彩饱和度"
      • "移除背景中的杂物,让背景变得简洁干净"

    n

    • 可选参数,默认值为 1
    • 控制一次请求生成的图像数量
    • 取值范围:1-10
    • 注意:生成多张图片会消耗更多 tokens

    size

    • 可选参数
    • 指定生成图像的尺寸,格式为 宽x高
    • 注意:此参数只能控制图像比例,不能控制分辨率
    • 支持以下尺寸规格:
      • 正方形:1024x1024
      • 横向:1536x10241792x10241344x7681248x8321184x8641152x8961536x672
      • 纵向:1024x15361024x1792768x1344832x1248864x1184896x1152
    • 具体支持的尺寸取决于所选模型
    • 推荐:Gemini 模型推荐使用 image_config 参数替代 size 参数,image_config 可以同时控制比例和分辨率

    image_config

    • 可选参数
    • 图像配置对象,用于控制图像比例和分辨率
    • 推荐 Gemini 模型使用此参数,功能更强大
    • 包含以下字段:
      • aspect_ratio (string, 可选):图像宽高比,可选值:
        • 1:1 - 正方形
        • 2:3 - 纵向
        • 3:2 - 横向
        • 3:4 - 纵向
        • 4:3 - 横向
        • 4:5 - 纵向
        • 5:4 - 横向
        • 9:16 - 纵向(竖屏)
        • 16:9 - 横向(横屏)
        • 21:9 - 超宽屏
      • image_size (string, 可选):图像分辨率
        • gemini-3.0-pro-image-preview 模型支持此参数
        • 可选值:1K2K4K
        • 其他模型不支持此参数
    • 示例:
      { "image_config": { "aspect_ratio": "9:16", "image_size": "2K" } } 

    quality

    • 可选参数
    • 控制图像生成质量
    • 可选值:
      • standard:标准质量
      • hd:高清质量

    background

    • 可选参数
    • 控制背景处理方式
    • 可选值:
      • transparent:生成透明背景
      • opaque:生成不透明背景
      • auto:自动决定

    input_fidelity

    • 可选参数
    • 控制对输入图像的保真程度
    • 可选值:
      • high:高保真,生成的图像更接近原始输入
      • low:低保真,允许更大的创意改动

    mask

    • 可选参数
    • 遮罩图像,用于指定只编辑图像的特定区域
    • 支持格式:
      • Base64 data URI:data:image/png;base64,...
      • 图片 URL:https://example.com/mask.png
    • 遮罩图像规则:
      • 黑色 (#000000) 区域:保持原图不变
      • 白色 (#FFFFFF) 区域:应用编辑效果
      • 灰色区域:部分应用编辑效果

    output_format

    • 可选参数,默认为 png
    • 指定输出图像的格式
    • 可选值:
      • png:PNG 格式,支持透明背景,文件较大
      • jpeg:JPEG 格式,文件较小,不支持透明背景
      • webp:WebP 格式,平衡质量和文件大小

    output_compression

    • 可选参数
    • 输出图像的压缩质量
    • 取值范围:0-100
      • 0:最低质量,最小文件
      • 100:最高质量,最大文件
    • 仅适用于 webpjpeg 格式
    • 不适用于 png 格式

    response_format

    • 可选参数,默认为 b64_json
    • 指定响应中图像数据的格式
    • 可选值:
      • b64_json:返回 Base64 编码的图像数据 (推荐)
      • url:返回图片 URL(需模型支持)

    stream

    • 可选参数,默认为 false
    • 是否启用流式响应
    • 部分模型支持流式返回中间结果

    subject_image_list

    • 最多支持4张图片,最少支持1张图片

    subject_image_list.subject_image

    • 图片格式支持.jpg / .jpeg / .png
    • 图片文件大小不能超过10MB,图片宽高尺寸不小于300px,图片宽高比要在1:2.5 ~ 2.5:1之间

    scene_image
    场景参考图

    • 图片格式支持.jpg / .jpeg / .png
    • 图片文件大小不能超过10MB,图片宽高尺寸不小于300px,图片宽高比要在1:2.5 ~ 2.5:1之间

    style_image

    • 图片格式支持.jpg / .jpeg / .png
    • 图片文件大小不能超过10MB,图片宽高尺寸不小于300px,图片宽高比要在1:2.5 ~ 2.5:1之间

    aspect_ratio

    • 枚举值:16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9

    响应格式

    成功响应

    使用 Gemini 2.5 Flash Image 系列模型返回格式如下:

    { "created": 1234567890, "data": [ { "b64_json": "iVBORw0KGgoAAAANSUhEUgA..." }, { "b64_json": "iVBORw0KGgoAAAANSUhEUgB..." } ], "output_format": "png", "usage": { "total_tokens": 6234, "input_tokens": 1234, "output_tokens": 5000, "input_tokens_details": { "text_tokens": 234, "image_tokens": 1000 } } } 

    使用 kling 系列模型返回格式如下:

    { "task_id": "image-1762159125266058362-1383010xxx" } 

    响应参数说明

    字段名 类型 说明
    created integer 响应创建时间戳 (Unix 时间戳,秒)
    data array 生成的图像数据数组
    data[].b64_json string Base64 编码的图像数据
    size string 图像尺寸
    output_format string 输出格式,默认为 png
    usage object Token 使用统计信息
    usage.total_tokens integer 总 token 数
    usage.input_tokens integer 输入 token 数 (包括文本和图像)
    usage.output_tokens integer 输出 token 数 (图像生成消耗)
    usage.input_tokens_details object 输入 token 详情
    usage.input_tokens_details.text_tokens integer 文本提示词消耗的 token 数
    usage.input_tokens_details.image_tokens integer 输入图像消耗的 token 数
    task_id string 目前为 kling 系列模型独有的返回结果,task_id 为 kling 模型异步生成图像的任务 ID

    查询异步生成图像任务状态

    该接口使用方式同文生图文档中的 查询异步生成图像任务状态 接口。

    接口名 说明
    /v1/images/tasks/:task_id kling 生成图像异步任务独有的状态查询接口,
    用于查询生成图像异步任务的当前状态以及最终生成的图像结果。

    参数说明:

    参数名称 参数类型 是否必填 参数描述
    task_id string 生成图像异步任务 ID,在使用 kling 系列模型调用 /images/generations 接口的结果生成
    请求路径参数,直接将值填写在请求路径中

    使用示例可以参考如下,假设你已经使用 /images/edits 接口使用 kling 模型请求发起了一个生成图像异步任务,任务 ID 是 image-1762159125266058362-1383010xxx

    # 调用查询异步生成图像任务状态 export OPENAI_BASE_URL="https://api.qnaigc.com/v1" export OPENAI_API_KEY="<七牛云 AI API KEY>" curl "$OPENAI_BASE_URL/v1/images/tasks/image-1762159125266058362-1383010xxx" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" 

    成功响应示例如下:

    { "task_id": "image-1762159125266058362-1383010xxx", "created": 1761793032, "status": "succeed", "status_message": "成功", "data": [ { "index": 0, "url": "https://aitoken-image.qnaigc.com/1383010xxx/image-1761793032508597404-1383010xxx/0.png?e=1763089082&token=IDB69r4gicDbMfrecarthgw1btTTWEFNg9i5_yasXqhp:JapC2EihLvSADMficht3pZVn5Xc=" } ], "quantity": 1 } 

    上述示例响应字段说明

    字段名 类型 说明
    task_id string 图像生成任务的唯一标识符
    created integer 表示任务创建时间的 Unix 时间戳
    status string 任务的当前状态(例如:succeed 成功,更多看如下状态码细节)
    status_message string 描述当前状态的消息,例如在 succeed 状态时,这个字段信息描述是 成功
    data array
    data[].index integer 图像在生成序列中的索引
    data[].url string 访问生成图像文件的可直接访问 URL
    quantity integer 此任务中生成的图像数量,同时该数量会用于计量计算

    status 字段可能的取值包括:

    • submitted:任务已接收,等待处理
    • processing:任务正在处理中
    • succeed:任务成功完成,图像已生成并可访问
    • failed:任务在处理过程中失败

    常见问题

    Q: 图生图和文生图有什么区别?

    A: 文生图 (/images/generations) 是纯粹根据文本描述生成全新的图像;图生图 (/images/edits) 则是基于输入的图像进行编辑和改造,可以保留原图的部分特征。

    Q: 支持哪些输入图像格式?

    A: 支持常见的图像格式,包括 PNG、JPEG、WebP 等。可以通过 Base64 data URI 或公网可访问的图片 URL 提供输入图像。

    Q: 如何控制生成结果更接近原图?

    A: 可以使用 input_fidelity: "high" 参数来提高对原图的保真度,生成的图像会更接近输入图像。

    Q: 如何处理多张输入图像?

    A: 将 image 参数设置为数组格式,如 ["url1", "url2"],模型会结合多张输入图像的特征进行编辑。

    Q: 如何将生成的图像保存到七牛云对象存储?

    A: 推荐使用七牛对象存储来存储生成的图像。我们提供了多种语言的上传 SDK,简单易用,欢迎查看我们的【SDK 中心】来了解。更多对象存储信息欢迎参考对象存储的【产品使用文档】。

    Q: 遮罩图像 (mask) 应该如何制作?

    A: 遮罩图像应该是黑白图像:

    • 白色区域 (#FFFFFF):表示需要编辑的区域
    • 黑色区域 (#000000):表示保持不变的区域
    • 灰色区域:会部分应用编辑效果

    您可以使用 Photoshop、GIMP 等图像编辑软件创建遮罩图像。

    参考文档

    以上内容是否对您有帮助?