メディアガイド
ビデオ生成
明示的な公開操作、非同期ポーリング、およびモデル固有のメディア入力を使用してビデオを生成します。
ビデオ生成は非同期です。 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 に従って修正または再インポートします。
対応する操作
本番環境では明示的な operation を使用してください。TokenLabは入力からいくつかの操作を推測できますが、明示的な操作値は検証、サポート、および再試行を明確にします。
| 操作 | 必要または典型的な入力 | 使用例 |
|---|---|---|
text-to-video | prompt | テキストのみから生成 |
image-to-video | image_url または互換性のある image | 開始画像をアニメーション化 |
reference-to-video | reference_images およびサポートされているモデルのオプションの video_urls / audio_urls | アイデンティティ、スタイル、またはアセットの参照を保持 |
start-end-to-video | start_image, end_image | 最初と最後のフレームを制御 |
video-to-video | video_url またはモデル固有の task_id | 既存のクリップを変換またはアップスケール |
motion-control | image_url と video_url | 対象にモーション参照を適用 |
audio-to-video | audio_url | 音声条件付きのビデオフロー |
video-extension | task_id, extend_at またはモデル固有の拡張フィールド | 生成されたビデオを続行 |
モデル発見
curl "https://api.tokenlab.sh/v1/models?recommended_for=video" \
-H "Authorization: Bearer sk-your-api-key"model には TokenLab に表示されるモデル ID を使い、機能差分は operation と対応するメディア入力で選択してください。例: wan-2.7、happyhorse-1.0、viduq3、viduq3-mix、pixverse-v6、veo3.1、seedance-2.0。操作固有の接尾辞を TokenLab のモデル名として使わないでください。
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"
}'本番メディア入力には、インラインの data: URL よりも公開 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-v6 | text-to-video, image-to-video, start-end-to-video, reference-to-video | prompt; image_url; start_image + end_image; reference_images | 360p, 540p, 720p, 1080p | 1 ~ 15 秒の任意の整数 | output_audio, デフォルトは false |
pixverse-v5.6 | text-to-video, image-to-video, start-end-to-video, reference-to-video | C1 および V6 と同じフィールド | 360p, 540p, 720p, 1080p | 5、8、または 10 秒。1080p は 5 または 8 秒をサポートします。 | output_audio, デフォルトは false |
happyhorse-1.0 | text-to-video, image-to-video, reference-to-video, video-to-video | prompt; image_url; reference_images; video_url + reference_images | 720p, 1080p | 生成操作では 3 ~ 15 秒。video-to-video 出力は最大 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 はタスク識別子ではなく、請求識別子として扱ってください。
一般的な落とし穴
- 古いビデオステータスパスをハードコーディングしないでください。
poll_urlを優先してください。 - モデル詳細が許可していない限り、最初のフレームフィールドを専用の参照画像フローと組み合わせないでください。
durationが入力参照ビデオの長さを示すとは限りません。通常は生成された出力の長さを制御します。- タイムアウト後にタスクがすでに作成されたかどうかを確認せずに作成リクエストを再試行しないでください。
APIリファレンス
| トピック | リファレンス |
|---|---|
| ビデオの作成 | ビデオの作成 |
| ビデオステータスの取得 | ビデオステータスの取得 |
| タスクステータスの取得 | タスクステータスの取得 |
| タスクのキャンセル | タスクのキャンセル |
| 請求と価格設定 | 請求と価格設定 |
OpenAI 形式と Volc 互換の動画 API
複数モデルにまたがる TokenLab の統一動画 API には /v1/videos/generations を使います。Volc 形式の content[] や Action リクエストを使う既存の Seedance 2.0 連携を移行する場合は、/api/v3 配下の Seedance 互換エンドポイントを使えます。どちらも TokenLab Bearer API Key と非同期ポーリングを使いますが、リクエストと応答の形は異なります。
Hailuo H3-Max は、テキスト、最初のフレーム、または最初と最後のフレームから、480p または 768p の 5~15 秒の動画を生成します。生成速度を重視しており、ショットのアイデアを短い映像にすばやくまとめるのに適しています。
{
"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"
}