OpenAPI 参考

Modelink API · 视频

Modelink 视频生成 API,涵盖 OpenAI 风格、Fal 队列、可灵、豆包 Seedance、Vidu、Veo、MiniMax H3/H3 Max 等多厂商的文生视频、图生视频与任务查询能力。Fal 格式接口使用 Authorization: Key {api_key};其他接口使用 Bearer 鉴权。

版本 1.0.0

创建视频任务

POST
/v1/videos

OpenAI 风格的统一视频创建接口,服务端根据 model 前缀自动路由到对应供应商:

  • 可灵(Kling)kling-v3-omni 等 Omni 模型,支持文生 / 图生 / 视频生视频、首尾帧、有声视频等,参数结构见 KlingV3OmniCreateRequest
  • Sorasora-2sora-2-pro,支持文生视频与图生视频(通过 input_reference 传参考图),参数结构见 SoraVideoCreateRequest

请求体结构按 model 区分,下方示例分别给出可灵与 Sora 两类模型的用法。任务创建成功后返回任务 ID,可通过 GET /v1/videos/{id} 轮询任务状态并获取生成的视频。

Sora 分辨率限制sora-2 仅支持 1280x720 / 720x1280sora-2-pro 额外支持 1792x1024 / 1024x1792

认证方式

BearerAuthBEARER

Authorization 请求头中传入 API Key 或访问令牌,格式:Bearer {token}

Bearer 格式:JWT

请求体

请求体属性

  • oneOf[0]object

    additionalProperties: false

    • modelenum, 必填

      模型名称。对应可灵文档 model_name 字段。

      default: kling-v3-omni

    • multi_shotboolean

      是否生成多镜头视频。当前参数为 true 时,prompt 参数无效;当前参数为 false 时,shot_type 参数及 multi_prompt 参数无效。

      default: false

    • shot_typeenum

      分镜方式。枚举值:customize。当 multi_shot 参数为 true 时,当前参数必填。

    • promptstring

      文本提示词,可包含正向描述和负向描述。可将提示词模板化来满足不同的视频生成需求。Omni 模型可通过 Prompt 与主体、图片、视频等内容实现多种能力:通过 <<<>>> 的格式来指定某个主体、图片、视频,如:<<<element_1>>>、<<<image_1>>>、<<<video_1>>>。长度不能超过 2500 个字符。当 multi_shot 参数为 false 或 shot_type 参数为 intelligence 时,当前参数不得为空。不同模型版本、视频模式支持范围不同,详见能力地图。

    • multi_promptobject[]

      各分镜信息,如提示词、时长等。通过 index、prompt、duration 参数定义分镜序号及相应提示词和时长,其中:最多支持 6 个分镜,最少支持 1 个分镜;每个分镜相关内容的最大长度不超过 512;每个分镜的时长不大于当前任务的总时长,不小于 1;所有分镜的时长之和等于当前任务的总时长。当 multi_shot 参数为 true 且 shot_type 参数为 customize 时,当前参数不得为空。

    • image_listobject[]

      参考图列表。包括主体、场景、风格等参考图片,也可作为首帧或尾帧生成视频。当作为首帧或尾帧生成视频时:通过 type 参数来定义图片是否为首尾帧(first_frame 为首帧,end_frame 为尾帧);暂不支持仅尾帧,即有尾帧图时必须有首帧图;首帧或首尾帧生视频时,不能使用视频编辑功能。支持传入图片 Base64 编码或图片 URL(确保可访问)。图片格式支持 .jpg/.jpeg/.png,文件大小不超过 10MB,宽高尺寸不小于 300px,宽高比在 1:2.5~2.5:1 之间。有参考视频时,参考图片数量不得超过 4;无参考视频时,参考图片数量不得超过 7。数组中超过 2 张图片时,不支持设置尾帧。image_url 参数值不得为空。

    • video_listobject[]

      参考视频,通过 URL 方式获取。可作为特征参考视频,也可作为待编辑视频,默认为待编辑视频;可选择性保留视频原声。通过 refer_type 参数区分参考视频类型:feature 为特征参考视频,base 为待编辑视频。参考视频为待编辑视频时,不能定义视频首尾帧。通过 keep_original_sound 参数选择是否保留视频原声(yes 为保留,no 为不保留),当前参数对特征参考视频(feature)也生效。有参考视频时,sound 参数值只能为 off。视频格式仅支持 MP4/MOV;视频时长不少于 3 秒,上限与模型版本有关;视频宽高尺寸需介于 720px(含)和 2160px(含)之间;视频帧率基于 24fps~60fps,生成视频时会输出为 24fps。至多仅支持上传 1 段视频,视频大小不超过 200MB。video_url 参数值不得为空。不同模型版本、视频模式支持范围不同,详见能力地图。

    • soundenum

      生成视频时是否同时生成声音。

      default: off

    • modeenum

      生成视频的模式。枚举值:std,pro,4k。其中 std:标准模式(720P),基础模式,性价比高;其中 pro:专家模式(1080P),高表现模式,生成视频质量更佳;4k:4K模式,高表现(同pro),生成视频质量更佳,输出视频分辨率为4K。不同模型版本、视频模式支持范围不同,详见能力地图https://docs.qingque.cn/d/home/eZQAyImcbaS0fz-8ANjXvU5ed?identityId=2Cn18n4EIHT。

      default: pro

    • sizestring

      生成视频的画面纵横比(宽:高)。对应可灵的 aspect_ratio 字段,服务内部自动将 size(如 1280x720)转换为 aspect_ratio(如 16:9)。可灵文档枚举值:16:9, 9:16, 1:1。未使用首帧参考或视频编辑功能时,当前参数必填。

    • secondsenum

      生成视频时长,单位 s。对应可灵文档 duration 字段。枚举值:3,4,5,6,7,8,9,10,11,12,13,14,15。使用视频编辑功能(refer_type 为 base)时,输出结果与传入视频时长相同,此时当前参数无效,按输入视频时长四舍五入取整计量计费。不同模型版本、视频模式支持范围不同,详见能力地图。

      default: 5

    • watermark_infoobject

      是否同时生成含水印的结果。通过 enabled 参数定义。暂不支持自定义水印。

  • oneOf[1]object

    Sora 视频创建请求体(用于 POST /v1/videos,model 以 sora 开头时)。支持文生视频与图生视频。

    additionalProperties: false

    • modelenum, 必填

      模型名称。可选值:sora-2、sora-2-pro。

    • promptstring, 必填

      文本提示词,描述希望生成的视频内容。最大 2500 字符。

    • input_referencestring<uri>

      参考图片 URL,用于图生视频。传入该字段后自动走图生视频流程,图片尺寸需与 size 一致。仅支持文生视频时可省略。

    • secondsenum

      视频时长(秒)。枚举值:4、8、12。

      default: 4

    • sizeenum

      视频分辨率(宽 x 高)。sora-2 仅支持 1280x720 / 720x1280;sora-2-pro 额外支持 1792x1024 / 1024x1792。

      default: 720x1280

请求

POST/v1/videos
curl https://api.qnaigc.com/v1/videos \
  --request POST \
  --header 'Authorization: Bearer YOUR_BEARER_AUTH' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "kling-v3-omni",
  "prompt": "视频连贯在一起",
  "image_list": [
    {
      "image": "https://picsum.photos/1280/720",
      "type": "first_frame"
    },
    {
      "image": "https://picsum.photos/1280/720",
      "type": "end_frame"
    }
  ],
  "size": "1920x1080",
  "mode": "pro"
}'

响应

object

视频任务创建成功

响应体属性

  • idstring, 必填

    视频任务唯一 ID,用于后续查询任务状态

  • objectenum, 必填

    对象类型,固定为 video

  • modelstring

    使用的模型名称,例如 kling-video-o1

  • modestring

    生成模式,std(标准模式)或 pro(专家模式)

  • statusstring, 必填

    任务状态,通常为 queued(排队中)

  • created_atinteger

    创建时间(Unix 时间戳,秒)

  • updated_atinteger

    更新时间(Unix 时间戳,秒)

  • secondsstring

    视频时长(秒)

  • sizestring

    请求体中的视频分辨率(宽 x 高)

  • job_type_descriptionstring

    任务类型描述。

  • billing_type_descriptionstring

    计费类型描述。

响应

application/json
{
  "id": "qvideo-user123-1766391125174150336",
  "object": "video",
  "model": "kling-v3-omni",
  "mode": "pro",
  "status": "queued",
  "created_at": 1766391125,
  "updated_at": 1766391125,
  "seconds": "5",
  "size": "1920x1080"
}

查询视频生成状态

GET
/v1/videos/{id}

根据视频任务 ID 查询视频生成状态和结果,适用于通过 POST /v1/videos 创建的可灵(kling-v3-omni 等)与 Sora(sora-2、sora-2-pro)任务。建议定期轮询直到状态变为 completed 或 failed。

认证方式

BearerAuthBEARER

Authorization 请求头中传入 API Key 或访问令牌,格式:Bearer {token}

Bearer 格式:JWT

路径参数

  • Name
    id
    Type
    string, 必填
    Description

    视频任务 ID,创建视频时返回的 id 字段

请求体

暂无请求体

请求

GET/v1/videos/{id}
curl https://api.qnaigc.com/v1/videos/{id} \
  --header 'Authorization: Bearer YOUR_BEARER_AUTH' \
  --header 'Accept: application/json'

响应

object

成功获取视频任务状态

响应体属性

  • idstring, 必填

    视频任务唯一 ID

  • objectenum, 必填

    对象类型,固定为 video

  • modelstring

    使用的模型名称

  • modestring

    生成模式,std 或 pro,仅在成功时返回

  • statusenum, 必填

    任务状态:initializing(初始化中)、queued(排队中)、in_progress(处理中)、downloading(下载中)、uploading(上传中)、completed(已完成)、failed(失败)、cancelled(已取消)

  • created_atinteger

    创建时间(Unix 时间戳,秒)

  • updated_atinteger

    更新时间(Unix 时间戳,秒)

  • completed_atinteger

    完成时间(Unix 时间戳,秒),仅在已完成或失败时返回

  • secondsstring

    视频时长(秒)

  • sizestring

    视频分辨率(宽 x 高)

  • task_resultobject

    任务结果,包含生成的视频列表,仅在已完成时返回

    • videosobject[]

      生成的视频列表

  • errorobject

    错误信息,仅在失败时返回

    • codestring

      错误码

    • messagestring

      错误描述

响应

application/json
{
  "id": "qvideo-user123-1766391125174150336",
  "object": "video",
  "model": "kling-video-o1",
  "status": "in_progress",
  "created_at": 1766391125,
  "updated_at": 1766391150
}

视频 Remix

POST
/v1/videos/{id}/remix

基于已完成的视频任务,使用新的提示词重新生成视频。保持原视频的时长和分辨率。支持的模型:sora-2、sora-2-pro(需为通过 POST /v1/videos 创建并已完成的 Sora 视频任务)。

认证方式

BearerAuthBEARER

Authorization 请求头中传入 API Key 或访问令牌,格式:Bearer {token}

Bearer 格式:JWT

路径参数

  • Name
    id
    Type
    string, 必填
    Description

    原视频任务 ID(必须是已完成的视频任务)

请求体

请求体属性

  • promptstring, 必填

    新的视频生成提示词,最大 2500 字符。描述希望在新视频中呈现的变化、风格或效果。

请求

POST/v1/videos/{id}/remix
curl https://api.qnaigc.com/v1/videos/{id}/remix \
  --request POST \
  --header 'Authorization: Bearer YOUR_BEARER_AUTH' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "prompt": "将场景改为夜晚,增加霓虹灯效果,赛博朋克风格"
}'

响应

object & object

Remix 任务创建成功

响应体属性

  • allOf[0]object
    • idstring, 必填

      视频任务唯一 ID,用于后续查询任务状态

    • objectenum, 必填

      对象类型,固定为 video

    • modelstring

      使用的模型名称,例如 kling-video-o1

    • modestring

      生成模式,std(标准模式)或 pro(专家模式)

    • statusstring, 必填

      任务状态,通常为 queued(排队中)

    • created_atinteger

      创建时间(Unix 时间戳,秒)

    • updated_atinteger

      更新时间(Unix 时间戳,秒)

    • secondsstring

      视频时长(秒)

    • sizestring

      请求体中的视频分辨率(宽 x 高)

    • job_type_descriptionstring

      任务类型描述。

    • billing_type_descriptionstring

      计费类型描述。

  • allOf[1]object
    • remixed_from_video_idstring, 必填

      源视频任务 ID。

响应

application/json
{
  "id": "qvideo-user123-1766454050923137689",
  "object": "video",
  "model": "sora-2",
  "status": "queued",
  "created_at": 1766454050,
  "updated_at": 1766454050,
  "seconds": "4",
  "size": "1280x720",
  "remixed_from_video_id": "qvideo-user123-1766453713089395279"
}