AI 大模型推理

  • AI 大模型推理 > API 文档 > 图片生成 (kling系列)

    图片生成 (kling系列)

    最近更新时间: 2025-12-25 19:08:03

    七牛云 AI 大模型推理 API 支持 Kling 系列模型的图像生成功能,包括文生图(Text-to-Image)和图生图(Image-to-Image),兼容 OpenAI Images API 接口格式,方便您集成到各种业务和应用场景中。

    Kling 模型核心特点

    • 异步接口: Kling 模型采用异步调用方式,提交任务后返回 task_id,需要轮询查询任务状态
    • 多版本支持: 支持 v1、v1.5、v2、v2-new、v2.1 等多个版本
    • 丰富比例: 支持多种宽高比例(16:9、9:16、1:1、4:3、3:4 等)
    • 高级参考: 支持多种参考图片类型
      • 角色特征参考: 保留角色整体特征(服装、姿态、身体特征),适合保持角色形象一致性
      • 人物长相参考: 重点保留人物面部特征(五官、表情),要求图片仅含1张人脸
      • 主体参考: 提供主体角色/物体的特征参考,支持2-4张图片综合生成
      • 场景参考: 保留空间结构、环境氛围、光影关系等场景元素
      • 风格参考: 提供艺术风格、绘画技法、色调、质感等视觉风格参考
    • URL 返回格式: 接口返回的图片是 URL 而不是 Base64 编码,有效期为 7 天
    • 多种功能:
      • 文生图 (Text-to-Image): 根据文本描述生成图像
      • 单图生图 (Single Image-to-Image): 基于单张参考图片进行编辑和改造
      • 多图生图 (Multi Image-to-Image): 基于多张参考图片(2-4张)进行综合生成
      • 负向提示词: 支持指定不希望出现的内容
      • 参考强度控制: 支持调节参考图片的影响强度

    接口说明

    Token API 接入点

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

    支持接口列表

    接口名 说明
    /images/generations 文生图/单图生图接口
    • 文生图:根据文本描述生成图像
    • 单图生图:基于单张参考图片和文本描述生成新的图像
    返回格式:task_id(任务 ID)
    /images/edits 多图生图接口,基于多张参考图片(2-4张)和文本描述生成新的图像
    返回格式:task_id(任务 ID)
    /images/tasks/:task_id 查询图像生成任务状态接口,根据任务 ID 查询生成进度和结果

    支持的模型

    模型 ID 模型名称 说明 状态
    kling-v1 Kling v1 文生图 V1.0 模型 ✅ 已上线
    kling-v1-5 Kling v1.5 文生图 V1.5 模型,支持角色特征参考和人物长相参考 ✅ 已上线
    kling-v2 Kling v2 文生图 V2.0 系列模型,支持图生图功能 ✅ 已上线
    kling-v2-new Kling v2-new 文生图 V2.0 系列模型 ✅ 已上线
    kling-v2-1 Kling v2.1 文生图 V2.1 系列模型 ✅ 已上线

    请求参数说明

    文生图/单图生图接口 (POST /images/generations)

    接口说明: 创建文生图或单图生图任务,提交后会返回任务 ID(task_id),您需要使用查询接口轮询任务状态并获取生成的图像。

    使用场景:

    • 文生图:不传 image 参数,仅使用 prompt 生成图像
    • 单图生图:传入 image 参数(单张参考图片),基于该图片和 prompt 生成新图像

    Header 参数

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

    Body 参数 (JSON)

    参数名 类型 必填 默认值 说明
    model string - 图像生成模型名称
    详细说明
    • 可选值:kling-v1kling-v1-5kling-v2kling-v2-newkling-v2-1
    • 不同版本支持的参数和功能可能有所不同
    prompt string - 图像生成的文本描述提示词
    详细说明
    • 字符数限制:不超过 2500 个字符
    • 建议:提示词越详细、具体,生成的图像质量越好
    • 建议包含:风格、光线、构图、色彩等细节
    • 使用逗号分隔不同的描述要素
    • 示例:"一只橘色的猫,坐在窗台上,温暖的阳光,柔和的阴影,专业摄影,高清画质"
    n integer 1 生成图像数量,取值范围:1-10
    详细说明
    • 控制一次请求生成的图像数量
    • 注意:生成多张图片会消耗更多费用
    negative_prompt string - 负向文本提示词
    详细说明
    • 用于指定不希望在生成图像中出现的内容
    • 字符数限制:不超过 2500 个字符
    注意:图生图场景下(image 字段不为空时)不支持负向提示词
    image string - 参考图像(单图生图时使用)
    详细说明
    支持传入图片 Base64 编码或图片 URL(确保可访问)
    • 若使用 Base64 方式,请确保所有图像数据参数均采用 Base64 编码格式
    • 提交 Base64 编码数据时,不要添加任何前缀(如 data:image/png;base64,),直接传递 Base64 编码字符串
    正确示例iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
    错误示例data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
    • 图片格式支持:.jpg / .jpeg / .png
    • 图片文件大小不能超过 10MB
    • 图片宽高尺寸不小于 300px
    • 图片宽高比要在 1:2.5 ~ 2.5:1 之间
    注意:进行单图生图时,此参数必填;仅文生图时不传此参数
    • 对于 kling-v1-5 模型,当使用此参数时,image_reference 参数也必须同时传入
    image_reference string - 图片参考类型
    详细说明
    • 枚举值:subject(角色特征参考)、face(人物长相参考)
    • 使用 face(人物长相参考)时,上传图片需仅含 1 张人脸
    • 仅 kling-v1-5 支持当前参数
    • 使用 kling-v1-5image 参数不为空时,当前参数必填
    image_fidelity float 0.5 生成过程中对用户上传图片的参考强度
    详细说明
    • 取值范围:[0, 1]
    • 数值越大,参考强度越大
    • 控制生成图像与参考图像的相似程度
    human_fidelity float 0.45 面部参考强度,即参考图中人物五官相似度
    详细说明
    • 仅 image_reference 参数为 subject 时生效
    • 取值范围:[0, 1]
    • 数值越大,参考强度越大
    aspect_ratio string 16:9 生成图片的画面纵横比(宽:高)
    详细说明
    • 枚举值:16:99:161:14:33:43:22:321:9
    • 控制生成图像的宽高比例

    响应体说明

    创建文生图任务成功后,接口会立即返回任务 ID。图像尚未生成完成,需要通过查询接口获取最终结果。响应体包含以下字段:

    字段名 类型 说明
    task_id string 图像生成任务唯一 ID,用于后续查询任务状态

    响应示例:

    {
      "task_id": "chatimage-1762159125266058362-user123"
    }
    

    多图生图接口 (POST /images/edits)

    接口说明: 创建多图生图任务,基于多张参考图像(2-4张)和文本描述生成新的图像。提交后会返回任务 ID(task_id),您需要使用查询接口轮询任务状态并获取生成的图像。

    使用场景:

    • 基于 2-4 张参考图片进行综合生成
    • 支持使用 subject_image_listscene_imagestyle_image 等多种参考图片类型

    Header 参数

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

    Body 参数 (JSON)

    参数名 类型 必填 默认值 说明
    model string - 图像生成模型名称
    详细说明
    • 支持多图生图的模型:kling-v1kling-v1-5kling-v2kling-v2-newkling-v2-1
    image string - 输入图像 URL
    详细说明
    注意:多图生图场景下此参数必填,但可以传空字符串,实际图像通过 subject_image_list 等参数指定
    • 如果直接提供图像 URL,必须是公开可访问的链接
    prompt string - 图像编辑的文本描述提示词
    详细说明
    • 清晰描述期望的编辑效果
    • 包含风格、色彩、构图等具体细节
    • 字符数限制:不超过 2500 个字符
    n integer 1 生成图像数量,取值范围:1-10
    详细说明
    • 控制一次请求生成的图像数量
    • 注意:生成多张图片会消耗更多费用
    subject_image_list array - 多图生图的参考图片列表
    详细说明
    最多支持 4 张图片,最少支持 2 张图片
    • 每个元素包含 subject_image 字段(图片 URL)
    • 图片格式支持:.jpg / .jpeg / .png
    • 图片文件大小不能超过 10MB
    • 图片宽高尺寸不小于 300px
    • 图片宽高比要在 1:2.5 ~ 2.5:1 之间
    scene_image string - 场景参考图 URL
    详细说明
    • 内容为可公开访问的 URL 链接
    • 图片格式支持:.jpg / .jpeg / .png
    • 图片文件大小不能超过 10MB
    • 图片宽高尺寸不小于 300px
    • 图片宽高比要在 1:2.5 ~ 2.5:1 之间
    style_image string - 风格参考图 URL
    详细说明
    • 内容为可公开访问的 URL 链接
    • 图片格式支持:.jpg / .jpeg / .png
    • 图片文件大小不能超过 10MB
    • 图片宽高尺寸不小于 300px
    • 图片宽高比要在 1:2.5 ~ 2.5:1 之间
    aspect_ratio string 16:9 生成图片的画面纵横比(宽:高)
    详细说明
    • 枚举值:16:99:161:14:33:43:22:321:9
    • 控制生成图像的宽高比例

    响应体说明

    创建图生图任务成功后,接口会立即返回任务 ID。图像尚未生成完成,需要通过查询接口获取最终结果。响应格式与文生图接口相同:

    字段名 类型 说明
    task_id string 图像生成任务唯一 ID,用于后续查询任务状态

    响应示例:

    {
      "task_id": "chatimage-1762159125266058362-user123"
    }
    

    查询任务状态接口 (GET /images/tasks/:task_id)

    接口说明: 根据任务 ID 查询图像生成状态和结果,建议定期轮询直到状态变为 succeedfailed

    Path 参数

    参数名 类型 必填 说明
    task_id string 图像生成任务 ID,创建任务时返回的 task_id 字段,例如:image-1762159125266058362-user123

    Header 参数

    参数名 类型 必填 说明
    Authorization string API Key,格式:Bearer YOUR_API_KEY

    响应体说明

    根据任务状态不同,返回的字段也有所不同。任务完成后会包含 data 字段,其中包含生成的图像下载链接。

    字段名 类型 说明
    task_id string 图像生成任务的唯一标识符
    created integer 任务创建时间(Unix 时间戳,秒)
    status string 任务的当前状态,见下方状态说明
    status_message string 描述当前状态的消息
    data array 包含生成图像信息的数组,仅在已完成时返回
    data[].index integer 图像在生成序列中的索引,从 0 开始
    data[].url string 访问生成图像文件的可直接访问 URL(注意:生成的图像会在 7 天后过期,请及时转存)
    quantity integer 此任务中生成的图像数量,同时该数量会用于计费

    任务状态说明

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

    响应示例

    处理中状态

    {
      "task_id": "chatimage-1762159125266058362-user123",
      "created": 1761793032,
      "status": "processing",
      "status_message": "处理中"
    }
    

    成功完成状态

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

    失败状态

    {
      "task_id": "chatimage-1762159125266058362-user123",
      "created": 1761793032,
      "status": "failed",
      "status_message": "失败"
    }
    

    HTTP 调用示例

    基础文生图

    使用 Kling 模型生成图像:

    # 调用 Kling 文生图 API
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    
    curl "$OPENAI_BASE_URL/images/generations" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d '{
            "model": "kling-v2",
            "prompt": "一只可爱的橘猫坐在窗台上看着夕阳,照片风格,高清画质",
            "aspect_ratio": "16:9"
        }'
    

    响应:

    {
      "task_id": "chatimage-1762159125266058362-user123"
    }
    

    使用负向提示词

    使用负向提示词指定不希望出现的内容:

    # 使用负向提示词
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    
    curl "$OPENAI_BASE_URL/images/generations" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d '{
            "model": "kling-v2",
            "prompt": "一个美丽的花园",
            "negative_prompt": "模糊,低质量,变形",
            "aspect_ratio": "1:1"
        }'
    

    使用参考图片(kling-v1-5)

    使用 kling-v1-5 模型的角色特征参考功能:

    # 使用角色特征参考
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    
    curl "$OPENAI_BASE_URL/images/generations" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d '{
            "model": "kling-v1-5",
            "prompt": "一个穿着西装的商务人士",
            "image": "https://aitoken-public.qnaigc.com/example/generate-image/smile-woman.png",
            "image_reference": "subject",
            "image_fidelity": 0.7,
            "human_fidelity": 0.6
        }'
    

    单图生图示例

    使用单张参考图片进行图生图:

    # 使用单张参考图片(单图生图)
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    
    curl "$OPENAI_BASE_URL/images/generations" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d '{
            "model": "kling-v1",
            "image": "https://aitoken-public.qnaigc.com/example/generate-video/running-man.jpg",
            "prompt": "将这张图片转换为水彩画风格",
            "aspect_ratio": "16:9"
        }'
    

    多图生图示例

    使用多张参考图片(2-4张)进行图生图:

    # 使用多张参考图片(多图生图)
    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-public.qnaigc.com/example/generate-image/smile-woman.png"
              },
              {
                  "subject_image": "https://aitoken-public.qnaigc.com/example/generate-image/image-to-image-with-mask-1.jpg"
              }
            ],
            "aspect_ratio": "16:9"
        }'
    

    使用场景和风格参考

    使用场景参考图和风格参考图进行图生图:

    # 使用场景和风格参考
    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",
            "prompt": "一个梦幻般的森林场景",
            "subject_image_list": [
                {
                    "subject_image": "https://aitoken-public.qnaigc.com/example/generate-image/smile-woman.png"
                },
                {
                    "subject_image": "https://aitoken-public.qnaigc.com/example/generate-image/image-to-image-with-mask-1.jpg"
                }
            ],
            "scene_image": "https://aitoken-public.qnaigc.com/example/generate-image/image-to-image-with-mask-1.jpg",
            "style_image": "https://aitoken-public.qnaigc.com/example/generate-image/smile-woman.png",
            "aspect_ratio": "9:16"
        }'
    

    查询任务状态

    查询图像生成任务的状态:

    # 查询任务状态
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    export TASK_ID="chatimage-1762159125266058362-user123"
    
    curl "$OPENAI_BASE_URL/images/tasks/$TASK_ID" \
        -H "Authorization: Bearer $OPENAI_API_KEY"
    

    响应示例(已提交):

    {
      "task_id": "chatimage-1766654340713562325-user123",
      "created": 1766654340,
      "status": "submitted",
      "status_message": "已提交"
    }
    

    响应示例(处理中):

    {
      "task_id": "chatimage-1762159125266058362-user123",
      "created": 1761793032,
      "status": "processing",
      "status_message": "处理中"
    }
    

    响应示例(已完成):

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

    常见问题

    Q: Kling 模型的文生图、单图生图和多图生图有什么区别?

    A:

    • 文生图 (/images/generations,不传 image 参数):纯粹根据文本描述生成全新的图像
    • 单图生图 (/images/generations,传入单张 image 参数):基于单张参考图片进行编辑和改造
    • 多图生图 (/images/edits,传入 2-4 张 subject_image_list):基于多张参考图片进行综合生成,可以保留多个图片的特征并结合

    Q: 为什么 Kling 模型使用异步接口?

    A: Kling 模型的图像生成过程需要较长时间,采用异步方式可以避免长时间等待导致的超时问题。您只需提交任务获得 task_id,然后定期轮询查询任务状态即可。

    Q: 图像生成需要多长时间?

    A: 图像生成时间取决于模型版本、图像复杂度和当前队列情况。通常情况下:

    • 单张图像:1-3 分钟
    • 多张图像:2-5 分钟

    建议使用轮询方式查询任务状态,轮询间隔建议为 5-10 秒。

    Q: 生成的图像会保存多久?

    A: 生成的图像会在 7 天后过期,建议在图像生成后及时下载或转存到您自己的存储空间。

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

    A: 生成的图像已经自动保存在七牛云对象存储 (Kodo) 中,返回的 URL 即为 Kodo 存储地址,但有效期仅有 7 天。如需转存到您自己的存储空间,推荐使用七牛对象存储的【SDK 中心】进行操作。更多对象存储信息欢迎参考对象存储的【产品使用文档】。

    Q: 如何提高图像生成质量?

    A:

    • 详细的提示词:描述越详细,生成效果越好
    • 使用负向提示词:明确指定不希望出现的内容(如"模糊"、"低质量"等)
    • 合理设置参考强度:调整 image_fidelityhuman_fidelity 参数
    • 包含关键要素:风格、光线、构图、色彩等

    Q: kling-v1-5 的 image_reference 参数有什么用?

    A: image_reference 参数用于指定参考图片的使用方式:

    • subject(角色特征参考):保留参考图中角色的整体特征(服装、姿态等),但可以调整面部相似度
    • face(人物长相参考):重点保留参考图中人物的面部特征,要求参考图中只能有 1 张人脸

    配合 image_fidelityhuman_fidelity 参数可以精确控制参考程度。

    Q: 多图生图支持哪些参考图片类型?

    A: Kling 模型的多图生图功能 (/images/edits) 支持以下参考图片类型:

    • subject_image_list:主体参考图片列表(最少 2 张,最多 4 张
    • scene_image:场景参考图
    • style_image:风格参考图

    可以单独使用或组合使用这些参考图片。

    Q: 负向提示词在什么情况下不能使用?

    A: 在图生图场景下(即 image 字段不为空时)不支持负向提示词。这是因为图生图已经有了明确的参考,负向提示词可能会产生冲突。

    Q: 任务失败的常见原因?

    A:

    • 内容审核未通过:提示词或参考图片包含违规内容
    • 参考图片无法访问:提供的图片 URL 无法访问或已过期
    • 图片格式不符合要求:图片尺寸、大小或格式不满足要求
    • 参数配置错误:必填参数缺失或参数值超出范围

    Q: 如何优化轮询查询?

    A:

    • 轮询间隔:建议 5-10 秒查询一次,避免过于频繁
    • 超时处理:建议设置超时时间(如 5 分钟),超时后停止轮询
    • 状态判断:只需关注 succeedfailed 两种终态,其他状态继续轮询

    参考文档

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