APIリファレンス

動画生成

TENSORAXIS を通じて動画生成タスクを送信し、タスクステータスをポーリングし、Seedance/Doubao の高度なパラメータを渡します。

動画生成は非同期です。タスクを送信して task_id を取得し、タスクステータスをポーリングし、完了後に動画URLを読み取ります。

Seedance/Doubao 動画モデルの場合、TENSORAXIS のリクエストフィールド promptimagesmetadata を使用してください。アップストリームの Volcengine 形式のトップレベル content[] ボディを直接 /v1/video/generations に送信しないでください。TENSORAXIS は prompt フィールドを見つけられず、400 prompt is required を返します。

モデル別ページ

このページでは、共通の送信・取得・ポーリングのフローを説明します。各動画ファミリーの機能マトリクス、リクエストフィールド、機能ごとの例、パラメータ表については、専用ページを参照してください。

  • SeeDance 動画生成 — Volcengine Ark Doubao Seedance(テキスト/画像から動画、開始/終了フレーム、動画参照/継続)
  • HappyHorse 動画生成 — Alibaba Cloud Bailian DashScope(テキスト/画像/参照から動画、動画編集)

エンドポイント

メソッドパス目的推奨用途
POST/v1/video/generations動画生成タスクを送信Seedance/Doubao 向けの共通 TENSORAXIS 動画タスクエントリ
GET/v1/video/generations/{task_id}動画生成タスクを取得上記の送信エンドポイントとペアで使用
POST/v1/videosOpenAI/Sora 形式のタスク送信Sora/OpenAI 互換クライアント
GET/v1/videos/{task_id}OpenAI/Sora 形式のタスク取得Sora/OpenAI 互換クライアント
GET/v1/videos/{task_id}/content動画コンテンツのプロキシダウンロード完了した動画コンテンツの取得

新規の Seedance/Doubao 連携では、/v1/video/generations の使用を推奨します。

リクエストボディ

POST /v1/video/generations

フィールド必須説明
modelstringはい呼び出すモデル名
promptstringはい動画プロンプト。空の値は 400 prompt is required を返す
imagestringいいえ単一の参照画像URL。サーバー側で images に正規化される
imagesstring[]いいえ画像から動画生成のための参照画像URL
metadataobjectいいえモデル固有またはプロバイダー固有のパラメータ。Seedance/Doubao の高度なパラメータはここに指定する
secondsstringいいえ互換用フィールド。正の整数は Doubao/Seedance のアップストリーム duration にマッピングされる
durationintegerいいえ共通タスクフィールド。Seedance/Doubao では metadata.duration の使用を推奨
sizestringいいえ一部の動画モデルで使用されるサイズフィールド
modestringいいえ一部の動画モデルで使用されるモードフィールド
input_referencestringいいえ一部の OpenAI/Sora 互換フローで使用される入力参照。Seedance/Doubao の例では使用されない

正しい例と誤った例

誤り: アップストリームのトップレベル content[] ボディを直接 TENSORAXIS に送信する。

{
  "model": "doubao-seedance-2-0-260128",
  "content": [
    {
      "type": "text",
      "text": "An old man wearing a hat smiles and walks forward"
    }
  ]
}

正しい: TENSORAXIS のリクエストフィールドを使用し、リレーに変換させる。

{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "An old man wearing a hat smiles and walks forward",
  "images": ["https://example.com/reference.jpg"],
  "metadata": {
    "resolution": "1080p",
    "ratio": "16:9",
    "duration": 5,
    "camera_fixed": true,
    "watermark": false
  }
}

タスクの送信

curl https://api.tensoraxis.com/v1/video/generations \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0-260128",
    "prompt": "An old man wearing a hat smiles and walks forward",
    "images": ["https://example.com/reference.jpg"],
    "metadata": {
      "resolution": "1080p",
      "ratio": "16:9",
      "duration": 5,
      "camera_fixed": true,
      "watermark": false
    }
  }'

送信が成功すると、公開タスクIDが返されます。フィールドは動画チャンネルによって多少異なりますが、通常は以下が含まれます。

{
  "id": "task_xxxxx",
  "task_id": "task_xxxxx",
  "object": "video",
  "model": "doubao-seedance-2-0-260128",
  "status": "queued",
  "progress": 0,
  "created_at": 1760000000
}

ポーリングのために id または task_id を保存してください。

タスクの取得

共通の動画タスクエンドポイントで送信した場合は、以下でポーリングします。

curl https://api.tensoraxis.com/v1/video/generations/task_xxxxx \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY"

共通の取得レスポンスは、タスクラッパー形式を使用します。

{
  "code": "success",
  "message": "",
  "data": {
    "task_id": "task_xxxxx",
    "status": "SUCCESS",
    "progress": "100%",
    "result_url": "https://example.com/video.mp4",
    "fail_reason": ""
  }
}

一般的なステータスの意味:

ステータス意味
SUBMITTED / QUEUED送信済みまたはキュー待ち
IN_PROGRESS生成中
SUCCESS完了。result_url を読み取る
FAILURE失敗。fail_reason を読み取る

OpenAI/Sora 形式の取得パスは次のとおりです。

curl https://api.tensoraxis.com/v1/videos/task_xxxxx \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY"

このパスは object: "video" というレスポンスを返し、成功時には動画URLを urlvideo_urlmetadata.url として公開します。

Seedance/Doubao の metadata

Doubao/Seedance チャンネルの場合、TENSORAXIS は promptimagesmetadata を Volcengine のコンテンツ生成タスク形式に変換します。

TENSORAXIS リクエストフィールドアップストリームへの転送先
promptcontent[].text
images[]content[].image_url.url
secondsduration
metadata.resolutionresolution
metadata.ratioratio
metadata.durationduration
metadata.framesframes
metadata.seedseed
metadata.camera_fixedcamera_fixed
metadata.watermarkwatermark
metadata.generate_audiogenerate_audio
metadata.draftdraft
metadata.service_tierservice_tier
metadata.return_last_framereturn_last_frame
metadata.execution_expires_afterexecution_expires_after
metadata.callback_urlcallback_url
metadata.toolstools

注記:

  • metadata.model は除去され、課金対象モデルを上書きすることはできません。
  • 現在のアダプター構造にマッピングされない metadata フィールドは、通常アップストリームに転送されません。
  • metadata.content は高度な内部互換用フィールドであり、images から生成されるコンテンツリストを上書きする場合があります。公開向けの連携ではこれを使用すべきではありません。
  • 有効な値、列挙値、実際のアップストリームの挙動は、選択したモデルの Volcengine 公式ドキュメントで定義されています。このページでは、現在の TENSORAXIS リレーがフィールドをどのように受け取り転送するかのみを説明します。

ポーリングに関する推奨事項

  • 送信後、最初のポーリングまで2〜5秒待機してください。
  • タスクが生成中の間は、5〜10秒ごとにポーリングしてください。
  • コールバックの代替として高頻度なポーリングを使用しないでください。大量のバッチはアプリケーション側でキューイングしてください。
  • 429 を受け取った場合は、並行数を減らし、指数バックオフでリトライしてください。