AI 大模型推理

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

    视频生成 (kling系列)

    最近更新时间: 2025-12-23 17:18:55

    七牛云 AI 大模型推理 API 支持可灵(Kling)系列视频生成模型,提供文生视频(Text-to-Video)、图生视频(Image-to-Video)和视频生视频(Video-to-Video)等多种高级功能,兼容 OpenAI Videos API 接口格式,方便您集成到各种业务和应用场景中。

    可灵模型核心特点

    • 高清分辨率: 最高支持 1080P (1920x1080) 高清视频输出
    • 灵活时长: 支持生成 5秒10秒 视频
    • 多种生成方式:
      • 文生视频 (Text-to-Video): 根据文本描述生成视频
      • 图生视频 (Image-to-Video): 基于参考图片生成动态视频
      • 视频生视频 (Video-to-Video): 基于参考视频生成新视频
      • 参考首尾帧生视频: 指定首尾关键帧,AI 补充中间过渡
    • 无声视频: 生成的视频默认为无声视频(除非使用视频生视频功能并设置保留原声)

    接口说明

    Token API 接入点

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

    支持接口列表

    接口名 说明
    /videos 视频创建接口,支持文生视频、图生视频、视频生视频和参考首尾帧生视频
    /videos/:id 查询视频生成状态接口,根据视频任务 ID 查询生成进度和结果

    支持的模型

    模型 ID 模型名称 说明 状态
    kling-video-o1 可灵 O1 可灵最新推出的高性能视频生成模型
    特点: 最新旗舰模型,支持文生视频、图生视频、视频生视频、参考首尾帧生视频全功能
    输出: 支持 std(720P)/pro(1080P) 模式
    ✅ 已上线
    kling-v2-1 可灵 V2.1 可灵 V2.1 视频生成模型
    特点: 支持图生视频及参考首尾帧生成,不支持文生视频
    输出: 支持 std(720P)/pro(1080P) 模式
    ✅ 已上线
    kling-v2-5-turbo 可灵 V2.5 Turbo 可灵 V2.5 Turbo 视频生成模型
    特点: 支持文生视频、图生视频、视频生视频、参考首尾帧生视频全功能
    输出: 支持 std(720P)/pro(1080P) 模式
    ✅ 已上线

    请求参数说明

    创建视频接口 (POST /videos)

    接口说明: 创建视频生成任务,提交后会返回任务 ID,您需要使用查询接口轮询任务状态并获取生成的视频。

    Header 参数

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

    Body 参数 (JSON)

    参数名 类型 必填 默认值 说明 支持模型
    model string - 视频生成模型名称,例如:kling-video-o1
    详细说明
    • 指定使用的视频生成模型
    • 可选值:kling-video-o1kling-v2-1kling-v2-5-turbo
    全部
    prompt string - 视频生成的文本描述提示词,最大 2500 字符
    详细说明
    • 字符数限制:不超过 2500 个字符
    • 建议:提示词越详细、具体,生成的视频质量越好
    • 建议包含:场景描述、动作、风格、光线、氛围等细节
    • 示例:"一只橘色的猫坐在窗台上,温暖的阳光洒在它身上,它慢慢转头看向镜头,电影风格,高清画质"
    全部
    input_reference string - 参考图像
    详细说明
    支持传入图片 Base64 编码或图片 URL(确保可访问)
    Base64 编码格式要求
      - 若使用 Base64 方式,请确保所有图像数据参数均采用 Base64 编码格式
      - 请不要在 Base64 编码字符串前添加任何前缀(如 data:image/png;base64,
      - 正确格式应该直接是 Base64 编码后的字符串
      - ✅ 正确示例:iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
      - ❌ 错误示例:data:image/png;base64,iVBORw0KGgoAAAA...
    图片格式支持.jpg / .jpeg / .png
    图片要求
      - 文件大小:不能超过 10MB
      - 图片尺寸:宽高不小于 300px
      - 图片宽高比:介于 1:2.5 ~ 2.5:1 之间
    • 不同模型版本、视频模式支持范围不同,详见可灵模型能力地图
    kling-v2-1
    kling-v2-5-turbo
    image_tail string - 参考图像 - 尾帧控制
    详细说明
    支持传入图片 Base64 编码或图片 URL(确保可访问)
    Base64 编码格式要求
      - 若使用 Base64 方式,请确保所有图像数据参数均采用 Base64 编码格式
      - 请不要在 Base64 编码字符串前添加任何前缀(如 data:image/png;base64,
      - 正确格式应该直接是 Base64 编码后的字符串
      - ✅ 正确示例:iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
      - ❌ 错误示例:data:image/png;base64,iVBORw0KGgoAAAA...
    图片格式支持.jpg / .jpeg / .png
    图片要求
      - 文件大小:不能超过 10MB
      - 图片尺寸:宽高不小于 300px
    首尾帧控制说明
      - 当同时配置 input_referenceimage_tail 参数时,表示控制首尾帧生视频
      - 此时 mode 参数仅支持 pro 模式(不支持 std 模式)
      - 系统将根据首帧和尾帧图片生成连贯过渡的视频
    • 不同模型版本、视频模式支持范围不同,详见可灵模型能力地图
    kling-v2-1
    kling-v2-5-turbo
    image_list array 参考图列表
    详细说明
    功能说明
      - 包括主体、场景、风格等参考图片
      - 也可作为首帧或尾帧生成视频
    首帧/尾帧功能
      - 通过 type 参数来定义图片是否为首尾帧:first_frame 为首帧,end_frame 为尾帧
      - 暂时不支持仅尾帧,即有尾帧图时必须有首帧图
      - 首帧或首尾帧生视频时,不能使用视频编辑功能
      - 数组中超过 2 张图片时,不支持设置尾帧
    参数格式:JSON 数组,每个元素包含 image_url 和可选的 type 字段
    参数示例
      - 普通参考图:"image_list": [{"image": "image_url_or_base64"}]
      - 首尾帧参考:"image_list": [{"image": "image_url_or_base64", "type": "first_frame"}, {"image": "image_url_or_base64", "type": "end_frame"}]
    支持传入图片 Base64 编码或图片 URL(确保可访问)
    Base64 编码格式要求
      - 若使用 Base64 方式,请确保所有图像数据参数均采用 Base64 编码格式
      - 请不要在 Base64 编码字符串前添加任何前缀(如 data:image/png;base64,
      - 正确格式应该直接是 Base64 编码后的字符串
      - ✅ 正确示例:"image_list": [{"image_url": "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="}]
      - ❌ 错误示例:"image_list": [{"image_url": "data:image/png;base64,iVBORw0KGgoAAAA..."}]
    图片格式支持.jpg / .jpeg / .png
    图片要求
      - 文件大小:不能超过 10MB
      - 图片尺寸:宽高不小于 300px
      - 图片宽高比:介于 1:2.5 ~ 2.5:1 之间
      - image_url 参数值不得为空
    数量限制
      - 有参考视频时:参考图片数量不得超过 4 张
      - 无参考视频时:参考图片数量不得超过 7 张
    kling-video-o1
    video_list array - 参考视频列表
    详细说明
    • 参考视频,通过 URL 方式提供
    • 参考视频可作为特征参考视频,也可作为待编辑视频(默认为待编辑视频);可选择性保留视频原声
    • 通过 refer_type 参数区分参考视频类型:
      - feature:特征参考视频,用于指导视频风格和内容
      - base:待编辑视频,基于此视频进行编辑和生成
    • 当参考视频为待编辑视频时,不能定义视频首尾帧
    • 通过 keep_original_sound 参数选择是否保留视频原声:
      - yes:保留原视频声音
      - no:不保留原视频声音
      - 当前参数对特征参考视频(feature)也生效
    格式要求
      - 视频格式:仅支持 MP4 和 MOV
      - 视频时长:≥3 秒且 ≤10 秒
      - 视频尺寸:宽高均需介于 720px(含)和 2160px(含)之间
      - 视频帧率:24fps~60fps,生成视频时会输出为 24fps
      - 视频大小:单个视频不超过 200MB
      - video_url 参数值不得为空
    数量限制:至多仅支持上传 1 段视频
    参数示例"video_list": [{"video_url": "https://example.com/reference-video.mp4", "refer_type": "base", "keep_original_sound": "yes"}]
    kling-video-o1
    seconds string 5 视频时长(秒),可选值:510
    详细说明
    • 控制生成视频的时长(单位:秒)
    • 不同时长会影响生成成本和时间
    全部
    size string 1920x1080 视频分辨率,格式:宽x高
    可选值:1920x10801080x19201280x720720x12801080x1080720x720
    详细说明
    • 该字段仅能控制视频的宽高比例(横屏/竖屏/正方形),视频分辨率品质由 mode 字段控制
    • 作用:主要用于判断横竖屏方向
      - 宽 > 高:横屏
      - 宽 < 高:竖屏
      - 宽 = 高:正方形
    全部
    mode string std 生成视频的模式
    可选值:stdpro
    std:标准模式(标准),基础模式,性价比高,输出分辨率为 720P
    pro:专家模式(高品质),高表现模式,生成视频质量更佳,输出分辨率为 1080P
    不同品质会影响生成成本和时间
    全部

    响应体说明

    创建视频任务成功后,接口会立即返回任务基本信息。接口返回已创建的视频任务基本信息,包含任务 ID、模型、状态等字段。视频尚未生成完成,需要通过查询接口获取最终结果。响应体包含以下字段:

    字段名 类型 说明
    id string 视频任务唯一 ID,用于后续查询任务状态
    object string 对象类型,固定为 video
    model string 使用的模型名称,例如 kling-video-o1
    mode string 生成模式,std(标准模式)或 pro(专家模式)
    status string 任务状态,通常为 queued(排队中)
    created_at integer 创建时间(Unix 时间戳,秒)
    updated_at integer 更新时间(Unix 时间戳,秒)
    seconds string 视频时长(秒)
    size string 请求体中的视频分辨率(宽 x 高)

    响应示例:

    {
        "id": "qvideo-user123-1766391125174150336",
        "object": "video",
        "model": "kling-video-o1",
        "mode": "std",
        "status": "queued",
        "created_at": 1766391125,
        "updated_at": 1766391125,
        "seconds": "5",
        "size": "1280x720"
    }
    

    查询视频状态接口 (GET /videos/:id)

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

    Path 参数

    参数名 类型 必填 说明
    id string 视频任务 ID,创建视频时返回的 id 字段,例如:qvideo-user123-1766391125174150336

    Header 参数

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

    响应体说明

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

    字段名 类型 说明
    id string 视频任务唯一 ID
    object string 对象类型,固定为 video
    model string 使用的模型名称
    mode string 生成模式,stdpro,仅在成功时返回
    status string 任务状态,见下方状态说明
    created_at integer 创建时间 (Unix 时间戳,秒)
    updated_at integer 更新时间 (Unix 时间戳,秒)
    completed_at integer 完成时间 (Unix 时间戳,秒),仅在已完成或失败时返回
    seconds string 视频时长 (秒)
    size string 视频分辨率 (宽 x 高)
    task_result object 任务结果,包含生成的视频列表,仅在已完成时返回
    task_result.videos array 生成的视频列表
    task_result.videos[].id string 视频 ID,全局唯一
    task_result.videos[].url string 视频下载 URL(注意:生成的视频会在 7 天后过期,请及时转存)
    task_result.videos[].duration string 视频时长 (秒)
    error object 错误信息,仅在失败时返回
    error.code string 错误码
    error.message string 错误描述

    任务状态说明

    状态值 说明
    initializing 初始化中,任务已创建
    queued 排队中,等待处理
    in_progress 处理中,模型正在生成视频
    downloading 下载中,正在下载结果
    uploading 上传中,正在上传到七牛云存储
    completed 已完成,视频生成成功
    failed 失败,视频生成失败
    cancelled 已取消,用户主动取消

    响应示例

    处理中状态

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "kling-video-o1",
      "status": "in_progress",
      "created_at": 1234567890,
      "updated_at": 1234567895
    }
    

    成功完成状态

    {
      "id": "qvideo-user123-1766391125174150336",
      "object": "video",
      "model": "kling-video-o1",
      "mode": "std",
      "status": "completed",
      "created_at": 1766391125,
      "updated_at": 1766391255,
      "completed_at": 1766391255,
      "seconds": "5",
      "size": "1280x720",
      "task_result": {
        "videos": [
          {
            "id": "qvideo-user123-1766391125174150336-1",
            "url": "https://aitoken-video.qnaigc.com/user123/qvideo-user123-1766391125174150336/1.mp4?e=1766996055&token=IDB69r4gicDbMd9Fbmn9w2bWuEENg9i5_yasXqhp:SxmElNSeeug5RahcQ5sSdCTxwPw=",
            "duration": "5"
          }
        ]
      }
    }
    

    失败状态

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "kling-video-o1",
      "mode": "std",
      "status": "failed",
      "created_at": 1765776987,
      "updated_at": 1765776990,
      "completed_at": 1765776990,
      "error": {
          "code": "kling_error",
          "message": "Kling API returned error"
      },
      "seconds": "5"
    }
    

    HTTP 调用示例

    基础文生视频 (kling-video-o1)

    使用 kling-video-o1 模型生成高分辨率 1080P 视频:

    # 调用 kling-video-o1 文生视频 API
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    
    curl "$OPENAI_BASE_URL/videos" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d '{
            "model": "kling-video-o1",
            "prompt": "一只可爱的橘猫在阳光下奔跑,慢镜头,电影质感",
            "size": "1920x1080",
            "mode": "pro"
        }'
    

    响应示例:

    {
        "id": "qvideo-user123-1764904843275618838",
        "object": "video",
        "model": "kling-video-o1",
        "mode": "pro",
        "status": "queued",
        "created_at": 1764904843,
        "updated_at": 1764904843,
        "seconds": "5",
        "size": "1920x1080"
    }
    

    点击查看生成的视频

    图生视频 (kling-video-o1)

    使用 kling-video-o1 模型基于参考图片生成视频:

    # 基于参考图片生成视频
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 API KEY>"
    
    curl "$OPENAI_BASE_URL/videos" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d '{
            "model": "kling-video-o1",
            "prompt": "这个人在跑马拉松",
            "image_list": [
                {
                    "image": "https://aitoken-public.qnaigc.com/example/generate-video/running-man.jpg"
                }
            ],
            "size": "1920x1080",
            "mode": "pro"
        }'
    

    点击查看生成的视频

    有参考视频生成视频 (kling-video-o1)

    使用 kling-video-o1 模型基于参考视频生成新视频:

    # 基于参考视频生成新视频
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    
    curl "$OPENAI_BASE_URL/videos" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d '{
            "model": "kling-video-o1",
            "prompt": "画面中增加一个小狗",
            "video_list": [
                {
                    "video_url": "https://aitoken-public.qnaigc.com/example/generate-video/the-little-dog-is-running-on-the-lawn..mp4",
                    "refer_type": "feature",
                    "keep_original_sound": "yes"
                }
            ],
            "size": "1920x1080",
            "mode": "pro"
        }'
    

    点击查看生成的视频

    多图首尾帧生视频 (kling-video-o1)

    使用 kling-video-o1 模型的 image_list 参数,通过指定首帧和尾帧图片生成连贯视频:

    # 基于首尾帧图片生成视频
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    
    curl "$OPENAI_BASE_URL/videos" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d '{
            "model": "kling-video-o1",
            "prompt": "视频连贯在一起",
            "image_list": [
                {
                    "image": "https://fastly.picsum.photos/id/173/1280/720.jpg?hmac=xH_ViV5QGlLeWARvoUE2frSLNcUXvAGKHaMs0Hy6c_0",
                    "type": "first_frame"
                },
                {
                    "image": "https://fastly.picsum.photos/id/999/1280/720.jpg?hmac=YPLs2sdukTxfP4z7CI7wNIWwNXYksSjUi1yENuaT-RI",
                    "type": "end_frame"
                }
            ],
            "size": "1920x1080",
            "mode": "pro"
        }'
    

    点击查看生成的视频

    图生视频 (kling-v2-1)

    使用 kling-v2-1 模型基于参考图片生成视频:

    # 基于参考图片生成视频
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 API KEY>"
    
    curl "$OPENAI_BASE_URL/videos" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d '{
            "model": "kling-v2-1",
            "prompt": "人在奔跑",
            "input_reference":"https://aitoken-public.qnaigc.com/example/generate-video/running-man.jpg",
            "size": "1280x720",
            "mode": "pro"
          }'
    

    点击查看生成的视频

    图生视频 (kling-v2-5-turbo) - 指定尾帧

    使用 kling-v2-5-turbo 模型生成视频,并指定尾帧图片:

    # 指定尾帧图生视频
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 API KEY>"
    
    curl "$OPENAI_BASE_URL/videos" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d'{
            "model": "kling-v2-5-turbo",
            "prompt": "人在跑到了天涯海角",
            "input_reference":"https://aitoken-public.qnaigc.com/example/generate-video/running-man.jpg",
            "image_tail":"https://aitoken-public.qnaigc.com/example/generate-video/end-of-the-earth-and-sky.jpg",
            "size": "1280x720",
            "mode": "pro"
        }'
    

    点击查看生成的视频

    查询视频生成状态

    # 查询视频任务状态
    export OPENAI_BASE_URL="https://api.qnaigc.com/v1"
    export OPENAI_API_KEY="<七牛云 AI API KEY>"
    export VIDEO_ID="qvideo-user123-1234567890123456789"
    
    curl "$OPENAI_BASE_URL/videos/$VIDEO_ID" \
        -H "Authorization: Bearer $OPENAI_API_KEY"
    

    响应示例 (处理中):

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "kling-video-o1",
      "status": "in_progress",
      "created_at": 1234567890,
      "updated_at": 1234567895
    }
    

    响应示例 (已完成):

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "kling-video-o1",
      "mode": "std",
      "status": "completed",
      "created_at": 1766391125,
      "updated_at": 1766391255,
      "completed_at": 1766391255,
      "seconds": "5",
      "size": "1280x720",
      "task_result": {
        "videos": [
          {
            "id": "qvideo-user123-1234567890123456789-1",
            "url": "https://aitoken-video.qnaigc.com/root/qvideo-user123-1234567890123456789/1.mp4?e=1766996055&token=IDB69r4gicDbMd9Fbmn9w2bWuEENg9i5_yasXqhp:SxmElNSeeug5RahcQ5sSdCTxwPw=",
            "duration": "5"
          }
        ]
      }
    }
    

    响应示例 (错误):

    {
      "id": "qvideo-user123-1234567890123456789",
      "object": "video",
      "model": "kling-video-o1",
      "mode": "std",
      "status": "failed",
      "created_at": 1765776987,
      "updated_at": 1765776990,
      "completed_at": 1765776990,
      "error": {
          "code": "kling_error",
          "message": "Kling API returned error"
      },
      "seconds": "5"
    }
    

    常见问题

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

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

    Q: 视频生成需要多长时间?

    A: 视频生成时间取决于视频时长和当前队列情况。通常情况下:

    • 5 秒视频:2-5 分钟
    • 10 秒视频:5-10 分钟

    建议使用轮询方式查询任务状态。

    Q: 生成的视频会保存多久?

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

    Q: 如何提高视频生成质量?

    A:

    • 详细的提示词:描述越详细,生成效果越好
    • 包含关键要素:场景、动作、风格、光线、氛围等
    • 使用具体的风格描述:如"电影风格"、"高清画质"等

    Q: kling 模型的具体能力和参数有什么区别?

    A: 更多详细的模型能力对比和参数说明,可参考 可灵官方文档

    参考文档

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