视频生成 API

使用 TeamoRouter API Key 调用视频接口。所有路径都带 /v1 前缀,任务接口统一为 /v1/videos。认证头为 Authorization: Bearer $TEAMO_API_KEY。

接口列表

方法 完整路径 用途
GET /v1/models?type=video 视频模型及支持的参数
POST /v1/videos 创建视频任务
GET /v1/videos 列出自己的视频任务
GET /v1/videos/{video_id} 查询任务状态
GET /v1/videos/{video_id}/content 下载已完成的 MP4
DELETE /v1/videos/{video_id} 删除已结束的任务及媒体

OpenAPI 文件。创建、查询、分页、下载和删除采用 OpenAI Videos 的接口形态;模型使用 TeamoRouter 目录中的 ID。暂不支持 Files API 的 file_id、remix、edit、extend、thumbnail 和 spritesheet。

模型列表

视频模型目录正在加载模型…

目录来自当前服务。参数保留 API 原始大小写,最新约束以 GET /v1/models?type=video 为准,账户可用性以接口响应为准。

左右滚动表格查看完整参数;— 表示目录未提供该选项。

视频模型 ID、类型、可选时长、分辨率、画幅和目录状态
模型 / API ID类型时长分辨率画幅目录状态

最新状态和参数以 GET /v1/models?type=video 为准。model_spec.offline: true 表示模型当前不可用。时长、分辨率和画幅必须符合 model_spec.constraints。

创建视频

支持 JSON 和 multipart/form-data。model、prompt 必填。seconds 是秒数字符串,默认 "4";size 为 宽x高,省略时使用该模型目录的首个分辨率和画幅组合。每个模型支持的值不同。

bash
curl https://api.teamorouter.com/v1/videos \
  -H "Authorization: Bearer $TEAMO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-video-request-001" \
  -d '{"model":"seedance-2-0-mini-text-to-video-basic","prompt":"一只小狗在草地上奔跑","seconds":"4","size":"854x480"}'

也可以使用 duration(如 "4s")、resolution、aspect_ratio、audio 等模型专用扩展参数。不要提交相互冲突的 seconds / duration 或 size / 分辨率、画幅组合。

图生视频可传 input_reference: {"image_url":"https://..."} 或 base64 data URL;multipart 可上传 input_reference 文件(PNG、JPEG、WebP)。参考图模型会将其作为参考图输入。首尾帧和多参考素材可使用模型支持的 image_url、end_image_url、reference_image_urls、reference_video_urls 等扩展字段。

提交时建议设置 Idempotency-Key。结果不明确时,必须用原 Key 和完全相同的参数重试,避免重复生成。返回的 id 是后续操作的 video_id。

json
{
  "id": "video_id",
  "object": "video",
  "model": "seedance-2-0-mini-text-to-video-basic",
  "status": "queued",
  "progress": 0,
  "created_at": 1793019600,
  "completed_at": null,
  "expires_at": 1793624400,
  "seconds": "4",
  "size": "854x480",
  "error": null,
  "remixed_from_video_id": null
}

查询和下载

每 5–10 秒查询 GET /v1/videos/{video_id}。响应始终为 JSON,状态为 queued、in_progress、completed 或 failed;时间戳使用 Unix 秒。失败原因在 error.code 和 error.message 中。

完成后单独下载,不要将查询响应保存为视频:

bash
curl "https://api.teamorouter.com/v1/videos/VIDEO_ID/content" \
  -H "Authorization: Bearer $TEAMO_API_KEY" --output video.mp4

variant 仅支持 video。未完成返回 409;媒体过期、已删除或不属于当前账户返回 404。媒体保留 7 天,以 expires_at 为准。

OpenAI Python SDK

python
import os, time
from openai import OpenAI

client = OpenAI(api_key=os.environ["TEAMO_API_KEY"], base_url="https://api.teamorouter.com/v1")
video = client.videos.create(
    model="seedance-2-0-mini-text-to-video-basic",
    prompt="A small dog running on grass",
    seconds="4",
    size="854x480",
    extra_headers={"Idempotency-Key": "my-video-request-001"},
)
while video.status in ("queued", "in_progress"):
    time.sleep(5)
    video = client.videos.retrieve(video.id)
if video.status == "failed":
    raise RuntimeError(video.error)
client.videos.download_content(video.id).write_to_file("video.mp4")

列表和删除

GET /v1/videos?limit=20&order=desc 返回 object: "list"、data、first_id、last_id 和 has_more。limit 范围为 1–100;order 支持 asc / desc。有下一页时,将 last_id 作为 after 请求下一页。

DELETE /v1/videos/{video_id} 仅允许删除已完成或失败的任务,返回 {"id":"video_id","object":"video.deleted","deleted":true}。删除后无法再次查询或下载,不会取消正在生成的任务。

工作台扩展

网站使用 /v1/videos/catalog、/v1/videos/models、/v1/videos/quote、/v1/videos/{video_id}/request 与 /v1/videos/conversations。它们是 TeamoRouter 扩展,不属于 OpenAI 的标准任务接口。

准备好了?三步即可开始登录控制台 · 购买额度 · 创建 API Key
DiscordGet community help instantly