OpenAPI 参考

Modelink API · 视频

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

版本 1.0.0

文生视频

POST
/queue/byteplus/seedance-2.0/fast/text-to-video

提交文生视频任务,返回 IN_QUEUE 状态和 request_id。 prompt 最大 2500 字符。

认证方式

FalApiKeyAuthAPI 密钥

Fal 格式接口鉴权方式:Authorization: Key {api_key}

header 参数:Authorization

查询参数

  • Name
    fal_webhook
    Type
    string<uri>
    Description

    可选。任务状态变化时接收 FAL 格式回调的 HTTPS 地址。详见 FAL 格式 Webhook

请求体

请求体属性

  • durationstring

    视频时长(秒),取值范围 4~15,传字符串格式。 留空时由模型自动决定。

    pattern: ^([4-9]|1[0-5])$

  • generate_audioboolean

    是否生成背景音频。

  • promptstring, 必填

    视频描述文本,最大 2500 字符。

  • auto_create_assetsboolean

    可选。文生视频通常无媒体 URL,传 true 通常不额外建素材;与图生/参考生视频字段语义一致。详见 Seedance 虚拟人像生视频自动临时素材

请求

POST/queue/byteplus/seedance-2.0/fast/text-to-video
curl 'https://api.qnaigc.com/queue/byteplus/seedance-2.0/fast/text-to-video?fal_webhook={fal_webhook}' \
  --request POST \
  --header 'Authorization: YOUR_FAL_API_KEY_AUTH' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "prompt": "一只猫在阳光下慵懒地伸展,4K 高清",
  "resolution": "720p",
  "duration": "5",
  "aspect_ratio": "16:9",
  "generate_audio": true
}'

响应

object & object

任务已入队

响应体属性

    • request_idstring, 必填

      任务唯一标识符。

    • response_urlstring, 必填

      获取结果的完整 URL。

    • status_urlstring, 必填

      查询状态的完整 URL。

    • cancel_urlstring

      取消任务的 URL(暂不支持)。

    • queue_positioninteger

      队列位置(入队时为 0)。

响应

application/json
{
  "status": "IN_QUEUE",
  "request_id": "qvideo-abc123",
  "response_url": "https://api.aitoken.com/queue/byteplus/seedance-2.0/fast/requests/qvideo-abc123",
  "status_url": "https://api.aitoken.com/queue/byteplus/seedance-2.0/fast/requests/qvideo-abc123/status",
  "queue_position": 0,
  "logs": []
}

图生视频(首帧/首尾帧)

POST
/queue/byteplus/seedance-2.0/fast/image-to-video

提交图生视频任务。

  • image_url(必填):首帧图片,支持 HTTPS URL、base64 data URI(data:image/...)、qasset:// 引用
  • end_image_url(可选):末帧图片,提供后走「首尾帧」模式
  • auto_create_assets(可选):含人像 HTTP(S) 图片时可开启临时素材审核,详见 Seedance 虚拟人像生视频自动临时素材 prompt 最大 2500 字符。

认证方式

FalApiKeyAuthAPI 密钥

Fal 格式接口鉴权方式:Authorization: Key {api_key}

header 参数:Authorization

查询参数

  • Name
    fal_webhook
    Type
    string<uri>
    Description

    可选。任务状态变化时接收 FAL 格式回调的 HTTPS 地址。详见 FAL 格式 Webhook

请求体

请求体属性

  • durationstring

    视频时长(秒),取值范围 4~15,传字符串格式。 留空时由模型自动决定。

    pattern: ^([4-9]|1[0-5])$

  • generate_audioboolean

    是否生成背景音频。

  • promptstring, 必填

    视频描述文本,最大 2500 字符。

  • image_urlstring, 必填

    首帧图片。支持:

    • HTTPS URL
    • base64 data URI(data:image/jpeg;base64,...),最大 50MB
    • qasset 引用(qasset://qasset-{uid}-{ts}
  • end_image_urlstring

    末帧图片(可选)。提供后走「首尾帧」模式。 支持格式同 image_url

  • auto_create_assetsboolean

    可选。为 true 时,对 image_url / end_image_url 中的 HTTP(S) 图片自动创建临时素材并审核后再生成视频;未传或 false 保持历史行为。详见 Seedance 虚拟人像生视频自动临时素材

请求

POST/queue/byteplus/seedance-2.0/fast/image-to-video
curl 'https://api.qnaigc.com/queue/byteplus/seedance-2.0/fast/image-to-video?fal_webhook={fal_webhook}' \
  --request POST \
  --header 'Authorization: YOUR_FAL_API_KEY_AUTH' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "prompt": "镜头缓慢推进,阳光透过树叶洒落",
  "image_url": "https://example.com/frame.jpg",
  "resolution": "720p",
  "duration": "5",
  "aspect_ratio": "16:9"
}'

响应

object & object

任务已入队

响应体属性

    • request_idstring, 必填

      任务唯一标识符。

    • response_urlstring, 必填

      获取结果的完整 URL。

    • status_urlstring, 必填

      查询状态的完整 URL。

    • cancel_urlstring

      取消任务的 URL(暂不支持)。

    • queue_positioninteger

      队列位置(入队时为 0)。

响应

application/json
{
  "request_id": "string",
  "response_url": "string",
  "status_url": "string",
  "cancel_url": "string",
  "status": "IN_QUEUE",
  "queue_position": 42,
  "logs": [
    {
      "message": "string",
      "level": "STDERR",
      "source": "string",
      "timestamp": "string"
    }
  ]
}

多模态参考生视频

POST
/queue/byteplus/seedance-2.0/fast/reference-to-video

提交多模态参考生视频任务,支持图片、视频、音频参考素材混合输入。

数量限制

类型最大数量
image_urls9
video_urls3
audio_urls3
总计12

约束

  • image_urlsvideo_urls 至少提供其一
  • 单独提供 audio_urls 而不提供图片/视频时报错
  • URL 支持 HTTPS URL 和 qasset:// 引用

prompt 最大 2500 字符。

含人像的 HTTP(S) 媒体可传 auto_create_assets: true 由平台自动创建临时素材,详见 Seedance 虚拟人像生视频自动临时素材

认证方式

FalApiKeyAuthAPI 密钥

Fal 格式接口鉴权方式:Authorization: Key {api_key}

header 参数:Authorization

查询参数

  • Name
    fal_webhook
    Type
    string<uri>
    Description

    可选。任务状态变化时接收 FAL 格式回调的 HTTPS 地址。详见 FAL 格式 Webhook

请求体

请求体属性

  • durationstring

    视频时长(秒),取值范围 4~15,传字符串格式。 留空时由模型自动决定。

    pattern: ^([4-9]|1[0-5])$

  • generate_audioboolean

    是否生成背景音频。

  • promptstring, 必填

    视频描述文本,最大 2500 字符。

  • image_urlsstring[]

    参考图片列表,最多 9 张,支持 HTTPS URL 和 qasset 引用。

  • video_urlsstring[]

    参考视频列表,最多 3 个,支持 HTTPS URL 和 qasset 引用。

  • audio_urlsstring[]

    参考音频列表,最多 3 个,支持 HTTPS URL 和 qasset 引用。 注意:单独提供 audio_urls 而不提供 image_urls/video_urls 时请求会被拒绝。

  • auto_create_assetsboolean

    可选。为 true 时,对请求中的 HTTP(S) 图片/视频/音频自动创建临时素材并审核后再生成视频;未传或 false 保持历史行为。详见 Seedance 虚拟人像生视频自动临时素材

请求

POST/queue/byteplus/seedance-2.0/fast/reference-to-video
curl 'https://api.qnaigc.com/queue/byteplus/seedance-2.0/fast/reference-to-video?fal_webhook={fal_webhook}' \
  --request POST \
  --header 'Authorization: YOUR_FAL_API_KEY_AUTH' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "prompt": "参考图片中的风格,生成一段动态场景",
  "image_urls": [
    "https://example.com/ref1.jpg",
    "https://example.com/ref2.jpg"
  ],
  "resolution": "720p",
  "duration": "5"
}'

响应

object & object

任务已入队

响应体属性

    • request_idstring, 必填

      任务唯一标识符。

    • response_urlstring, 必填

      获取结果的完整 URL。

    • status_urlstring, 必填

      查询状态的完整 URL。

    • cancel_urlstring

      取消任务的 URL(暂不支持)。

    • queue_positioninteger

      队列位置(入队时为 0)。

响应

application/json
{
  "request_id": "string",
  "response_url": "string",
  "status_url": "string",
  "cancel_url": "string",
  "status": "IN_QUEUE",
  "queue_position": 42,
  "logs": [
    {
      "message": "string",
      "level": "STDERR",
      "source": "string",
      "timestamp": "string"
    }
  ]
}