媒体指南

视频生成

用文字、图片、音频或已有视频生成新视频

视频生成需要一些时间。POST /v1/videos/generations 会返回任务 ID,通常还会提供 poll_url。通过这个地址查询,完成后即可取得视频。

可以在所选模型支持的图片字段中传入公网 HTTP(S) URL 或支持的 data URL。这些输入按普通媒体路径处理,不会自动创建可复用的素材 ID。

显式指定的素材仍在准备时,POST /v1/videos/generations 返回 409 seedance_material_preparing,并通过 inactive_asset_ids 列出相关素材。查询这些素材直到 ACTIVE,再用相同素材 ID 重试。如果素材为 FAILED,先根据 error_message 修正或重新导入。

选择 API

新接入可以直接使用 /v1/videos/generations。已有 Seedance 2.0 客户端如果发送的是火山 content[] 或 Action 请求,可以继续通过 /api/v3 使用原格式。两种 API 都使用 TokenLab Bearer API 密钥,但字段和状态值不同。

选择生成类型

请明确填写 operation,这样 API 才能按对应的生成类型校验参数。

operation必需或常用输入用途
text-to-videoprompt仅从文本生成
image-to-videoimage_url 或兼容的 image让起始图片动起来
reference-to-videoreference_images,支持时可加 video_urls / audio_urls参考人物、风格或素材
start-end-to-videostart_image, end_image控制第一帧和最后一帧
video-to-videovideo_url 或特定模型的 task_id转换或放大现有剪辑
motion-controlimage_url 加 video_url让主体参考一段视频的动作
audio-to-videoaudio_url根据音频生成视频
video-extensiontask_id、extend_at 或模型专属续写字段续写已有视频

选择模型

curl "https://api.tokenlab.sh/v1/models?recommended_for=video" \
  -H "Authorization: Bearer sk-your-api-key"

model 必须使用 TokenLab 返回的模型 ID,生成类型则通过 operation 和对应媒体字段选择。不要把某种操作名称当成模型 ID。

发送 reference_images、kling_elements、output_audio、duration、resolution 或 aspect_ratio 前,请确认所选模型支持这些字段。

创建视频

curl https://api.tokenlab.sh/v1/videos/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo3.1",
    "operation": "text-to-video",
    "prompt": "一只猫在阳光明媚的花园中漫步的宁静电影镜头",
    "duration": 4,
    "aspect_ratio": "16:9"
  }'

媒体可以从互联网访问时,使用 https URL。临时 URL 必须保持有效,直到 TokenLab 完成任务创建。

模型专属字段

音频行为取决于所选模型和操作。没有音频开关,不代表视频必须无声;省略参数也不等于发送 false。

  • veo3.1 和 veo3.1-fast 按 Gemini API 契约始终生成音频。wan-2.6 和 wan-2.7 的视频生成也不支持关闭声音。省略 output_audio;模型详情允许时也可设置为 true。
  • hailuo-h3 和 Grok 视频模型原生生成音频。不要添加所选模型详情未列出的音频开关。
  • Seedance 1.5/2.x 与 viduq3-pro / viduq3-turbo 默认开启音频,并支持无声输出;PixVerse C1/V5.6/V6 默认关闭音频。仅在当前操作列出该字段时使用 output_audio;Vidu 也接受其契约声明的布尔字段 audio。
  • audio_url / audio_urls 用于输入或参考音频,不是输出声音开关。视频编辑、动作迁移和风格转换可能保留输入音轨;保留原音不等于静音。

允许值及音频相关价格以模型详情为准。受支持的兼容字段 outputAudio、generate_audio 和布尔 audio 与 output_audio 同时出现时,值必须一致。不要假定同系列各版本、各操作的声音控制相同。

  • Seedance 2.0 的 4K、Fast/Mini 分辨率和多媒体参考输入见 Seedance 2.0 视频模型。
  • grok-imagine-video 的 video-to-video 使用 prompt 和公网 HTTPS .mp4 video_url;此操作不使用 duration、resolution 或 aspect_ratio 选项。

PixVerse 与 HappyHorse

模型操作输入分辨率时长音频参数
pixverse-c1, pixverse-v6text-to-video, image-to-video, start-end-to-video, reference-to-videoprompt; image_url; start_image + end_image; reference_images360p, 540p, 720p, 1080p1 至 15 秒的整数output_audio, 默认为 false
pixverse-v5.6text-to-video, image-to-video, start-end-to-video, reference-to-video与 C1、V6 相同360p, 540p, 720p, 1080p5、8 或 10 秒;1080p 支持 5 或 8 秒output_audio, 默认为 false
happyhorse-1.0text-to-video, image-to-video, reference-to-video, video-to-videoprompt; image_url; reference_images; video_url + reference_images720p, 1080p生成操作为 3 至 15 秒;视频转视频输出最长 15 秒不要传入 output_audio

在 TokenLab 上,上述 PixVerse 模型不接受 operation=video-extension。

curl https://api.tokenlab.sh/v1/videos/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "pixverse-v6",
    "operation": "image-to-video",
    "prompt": "A slow camera move through a neon-lit street",
    "image_url": "https://example.com/start.jpg",
    "resolution": "1080p",
    "duration": 5,
    "output_audio": true
  }'

获取生成结果

使用返回的 poll_url 查询。需要固定地址时,可以用创建响应中的 id 或 task_id 调用 GET /v1/tasks/{id}。

视频完成后,响应可能按模型和数量返回 video_url、video 或 videos。billing_transaction_id 用于核对费用,不是任务 ID。

常见问题

  • 不要在代码里写死旧的状态地址,直接使用 poll_url。
  • 模型没有明确支持时,不要把首帧字段和参考图生成混在同一个请求中。
  • 不要假设 duration 描述输入参考视频的长度;它通常控制生成输出的长度。
  • 创建请求超时后,确认没有任务再重新提交。

API 参考

主题参考
创建视频创建视频
获取视频状态获取视频状态
获取任务状态获取任务状态
取消任务取消任务
计费与定价计费与定价

Hailuo H3-Max 可根据文本、首帧或首尾帧生成 5–15 秒的 480p 或 768p 视频,主打快速生成,适用于将镜头构想迅速转为短片。

{
  "model": "hailuo-h3-max",
  "operation": "text-to-video",
  "prompt": "A slow camera move through a quiet garden",
  "resolution": "768p",
  "duration": 5,
  "aspect_ratio": "16:9"
}

本页内容