Skip to content

Seedance2.0 OpenAI 兼容视频接口文档

支持的模型

  • sec-seedance-2.0-480p
  • sec-seedance-2.0-480p-fast
  • sec-seedance-2.0-480p-tj
  • sec-seedance-2.0-480p-fast-tj
  • sec-seedance-2.0-720p
  • sec-seedance-2.0-720p-fast
  • sec-seedance-2.0-720p-tj
  • sec-seedance-2.0-720p-fast-tj
  • sec-seedance-2.0-1080p-tj
  • sec-seedance-2.0-1080p
  • sec-seedance-2.0-4k-tj
  • sec-seedance-2.0-4k
  • seedance-2.0-720p-tj
  • seedance-2.0-720p-fast-tj
  • seedance-2.0-720p
  • seedance-2.0-720p-fast
  • sec-seedance-2.5-480p
  • sec-seedance-2.5-720p

BaseUrl:

baseUrl
https://apiok.cc

重要说明

该接口面向需要接入 OpenAI / Sora 风格视频协议的平台,例如 NewAPI 等聚合平台。接口使用平台 API Key 鉴权。

/v1/videos 是异步生成入口:传入视频模型时创建视频任务,传入图片模型时创建图片任务。

通用说明

所有接口均需要通过请求头传递 API Key:

参数名位置类型必填说明
AuthorizationHeaderStringY固定格式:Bearer {apiKey}
  • API Key 与平台账号绑定,仅能访问该账号下的任务和资源。
  • 模型、线路、价格和能力会随运营策略调整
  • OpenAI 兼容视频接口路径为 /v1/videos
  • OpenAI 兼容模型列表接口路径为 /v1/models
  • 图片任务完成后的图片 URL 同样放在 metadata.url

推荐调用流程

  1. 调用 GET BaseUrl/v1/models 获取当前可用模型列表。
  2. 从模型列表中选择选择合适的模型原样传入 model
  3. 调用 POST BaseUrl/v1/videos 创建生成任务;传视频模型生成视频,传图片模型生成图片。
  4. 使用创建接口返回的 id 调用 GET BaseUrl/v1/videos/{video_id} 轮询任务状态。
  5. 任务 status=completed 后,可读取 metadata.url,或调用 GET BaseUrl/v1/videos/{video_id}/content 获取 302 下载跳转。

任务状态

状态值说明
queued已创建,等待执行
in_progress执行中
completed任务成功完成
failed任务执行失败

错误响应

接口失败时返回 OpenAI / NewAPI 兼容错误结构:

json
{
  "code": "错误代码",
  "message": "错误原因",
  "statusCode": "状态码"
}
  • 常见错误码:
HTTP 状态码code说明
400invalid_request请求体缺失或字段格式不合法
400model_ambiguousmodel 未使用模型列表返回的完整 ID,或无法匹配当前可用模型
400invalid_metadatametadata 字段格式不合法,或传入不支持的扩展字段
400unsupported_parameter当前参数值暂不支持,例如 n 不为 1variant 不为 videoimage
400video_not_completed内容下载接口请求的任务尚未完成
400content_not_available任务已完成但内容地址不可用
401invalid_api_keyAPI Key 缺失、格式错误、已禁用或不存在
404not_found任务不存在,或不属于当前 API Key 对应账号
500internal_error服务内部异常

获取模型列表

作用:获取当前可用于兼容接口的模型列表,包含图片模型和视频模型。 提交方式:GET BaseUrl/v1/models 编码:UTF-8

输入参数

无。

返回参数

HTTP 200:

属性名类型必填说明
objectStringY固定为 list
dataList<ModelItem>Y当前可用模型列表

ModelItem

属性名类型必填说明
idStringY创建任务时使用的模型 ID,必须原样传入 model
objectStringY固定为 model
createdLongY创建时间戳;暂无创建时间时为 0
owned_byStringY模型归属方

返回示例

json
{
  "object": "list",
  "data": [
    {
      "id": "12:example-video-model",
      "object": "model",
      "created": 0,
      "owned_by": "aistarslab"
    }
  ]
}

创建生成任务

作用:创建异步生成任务,并返回 OpenAI 风格视频对象。传入视频模型时生成视频,传入图片模型时生成图片。 提交方式:POST BaseUrl/v1/videos 编码:UTF-8 Content-Type:application/json

输入参数

参数名类型必填说明
modelStringY模型列表接口返回的 data[].id,必须原样传入
promptStringY生成提示词
imageStringN单张参考图片 URL;会作为参考图片列表的第一张
secondsStringN视频任务时长,单位:秒;优先级高于 duration;图片任务忽略
durationIntegerN视频任务时长,单位:秒;未传 seconds 时生效;图片任务忽略
sizeStringN画幅比例,如 16:99:161:1;图片任务直接使用该字段作为图片比例,未传时自动选择默认比例
widthIntegerN期望宽度;未传 sizemetadata.size 时会与 height 一起换算画幅比例
heightIntegerN期望高度;未传 sizemetadata.size 时会与 width 一起换算画幅比例
nIntegerN生成数量;当前仅支持 1
metadataObjectN平台扩展参数

metadata 扩展参数

参数名类型必填说明
resolutionStringN分辨率或质量档位,如 720p1080p1K;图片任务未传时自动选择模型默认值
sizeStringN画面比例,如 16:99:16;优先级高于 width / height
mode_typeStringN视频生成模式:text2videoimage2videoframes2video;图片任务忽略
imagesList<String>N参考图片 URL 列表;会追加在顶层 image 之后
videosList<String>N视频任务参考视频 URL 列表;图片任务忽略
audiosList<String>N视频任务参考音频 URL 列表;图片任务忽略

mode_type 规则

模式说明素材要求
text2video文生视频不允许传入参考图片
image2video全能参考至少传入 1 张参考图片;可按线路能力组合参考视频、参考音频
frames2video首尾帧生视频必须正好传入 2 张参考图片,顺序为首帧、尾帧
  • mode_type 必须被所选模型和线路支持。
  • 未显式传入 mode_type 时:存在参考图片则按 image2video(全能参考)处理,否则按 text2video 处理。
  • 部分线路对参考图片、视频、音频数量或组合方式有额外限制,具体以创建接口实时校验为准。

请求示例

json
{
  "model": "12:example-video-model",
  "prompt": "海边日落,镜头缓慢向前推进",
  "seconds": "10",
  "size": "16:9",
  "n": 1,
  "metadata": {
    "resolution": "720p",
    "mode_type": "image2video",
    "images": [
      "https://example.com/reference.jpg"
    ],
    "audios": [
      "https://example.com/music.mp3"
    ]
  }
}

图片模型请求示例

json
{
  "model": "21:example-image-model",
  "prompt": "一只白色陶瓷杯放在木桌上,柔和自然光,产品摄影",
  "size": "1:1",
  "n": 1,
  "metadata": {
    "resolution": "1K"
  }
}

返回参数

HTTP 200:

属性名类型必填说明
idStringY任务 ID,用于查询任务和获取内容
task_idStringY任务 ID,用于查询任务和获取内容
objectStringY固定为 video
modelStringN创建任务时使用的模型
statusStringY任务状态,见“任务状态”
progressIntegerN任务进度,范围 0-100
secondsStringN视频时长,单位:秒;图片任务为空
sizeStringN视频或图片画幅比例
created_atLongN创建时间,Unix 秒
completed_atLongN完成时间,Unix 秒;未完成时为空
errorObjectN任务失败时的错误信息

返回示例

json
{
  "id": "task_xxxxx",
  "object": "video",
  "model": "example-video-model",
  "status": "queued",
  "progress": 0,
  "seconds": "10",
  "size": "16:9",
  "created_at": 1781539200
}

查询生成任务

作用:查询生成任务状态和结果。 提交方式:GET BaseUrl/v1/videos/{task_id} 编码:UTF-8

输入参数

参数名位置类型必填说明
task_idPathStringY创建接口返回的 id

返回参数

HTTP 200:

属性名类型必填说明
idStringY任务 ID,用于查询任务和获取内容
modelStringN创建任务时使用的模型
statusStringY任务状态,见“任务状态”
progressIntegerN任务进度,范围 0-100
created_atLongN创建时间,Unix 秒
completed_atLongN完成时间,Unix 秒;未完成时为空
errorObjectN任务失败时的错误信息

返回示例:处理中

json
{
  "id": "task_xxxxx",
  "object": "video",
  "model": "example-video-model",
  "status": "in_progress",
  "progress": 45,
  "seconds": "10",
  "size": "16:9",
  "created_at": 1781539200
}

返回示例:已完成

json
{
  "id": "task_xxxxx",
  "object": "video",
  "model": "example-video-model",
  "status": "completed",
  "progress": 100,
  "seconds": "10",
  "size": "16:9",
  "created_at": 1781539200,
  "completed_at": 1781539260,
  "metadata": {
    "result_url": "https://example.com/result.mp4"
  }
}

返回示例:失败

json
{
  "id": "task_xxxxx",
  "object": "video",
  "model": "example-video-model",
  "status": "failed",
  "progress": 100,
  "seconds": "10",
  "size": "16:9",
  "created_at": 1781539200,
  "completed_at": 1781539260,
  "error": {
    "code": "task_failed",
    "message": "生成失败,请检查文案或素材"
  }
}

获取生成内容

作用:获取生成完成后的内容地址。接口返回 302 重定向,客户端应跟随 Location 下载或播放真实文件。 提交方式:GET BaseUrl/v1/videos/{video_id}/content 编码:UTF-8

输入参数

参数名位置类型必填说明
task_idPathStringY创建接口返回的 id

成功响应

返回视频数据流

请求示例

bash
curl -L 'https://apiok.cc/v1/videos/task_xxxxx/content' \
  -H 'Authorization: Bearer sk-xxxxxx'