ビデオと素材

ビデオのステータスを取得

ビデオ生成タスクのステータスと結果を取得します

GET
/v1/tasks/{id}

パスパラメータ

idstringpath必須

動画作成リクエストから返されるタスクID。id と task_id は同じ非同期識別子として扱ってください。

作成レスポンスが poll_url を返す場合は、その正確な URL を呼び出してください。これが /v1/tasks/{id} を指す場合は、それを正準の固定ステータスエンドポイントとして扱ってください。

期限切れまたは利用できない公開タスクでは 404 async_task_not_found が返る場合があります。現在の API キーでタスクの所有権を確認できない場合は 403 task_not_owned が返ります。

レスポンス

結果、エラー、タイムスタンプ、モデルのフィールドはタスクで利用可能な場合に返されます。

idstring

正準の非同期タスク識別子。

task_idstring

非同期タスク識別子の別名。

poll_urlstring

作成レスポンスが提供する場合の推奨ポーリングURL。

billing_transaction_idstring

決済がすでに完了している場合に返される TokenLab の請求トランザクション ID です。dashboard / 照合で使う取引識別子であり、非同期 id / task_id とは別物です。

statusstring

タスクのステータス: pending, processing, completed, failed。

progressnumber

任意の進捗値です。実際の進捗値が利用できる場合のみ返されます。完了判定には status を使用してください。

video_urlstring

生成されたビデオの URL(完了時)。

videoobject

利用可能な場合に url、duration、width、height を含む単一ビデオペイロード。

videosarray

生成タスクが複数の出力を返す場合の複数ビデオペイロード。

errorstring | object

エラーメッセージ(失敗時)。

createdinteger

作成タイムスタンプ。

updatedinteger

最終更新タイムスタンプ。

modelstring

タスクに使用されたモデル。

リクエスト

curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
  -H "Authorization: Bearer sk-your-api-key"

レスポンス

{
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "model": "veo3.1",
  "created": 1706000000,
  "updated": 1706000000
}

ポーリングのベストプラクティス

  • 5〜10秒ごとにポーリングする
  • 長時間のタスクには指数バックオフを実装する
  • 最大タイムアウトを設定する(例: 10分)
  • failed ステータスを適切に処理する
import requests
import time

def wait_for_video(task_id, max_wait=600, interval=5):
    """Wait for video with timeout."""
    start = time.time()

    while time.time() - start < max_wait:
        response = requests.get(
            f"https://api.tokenlab.sh/v1/tasks/{task_id}",
            headers={"Authorization": "Bearer sk-your-api-key"}
        )
        response.raise_for_status()
        data = response.json()

        if data["status"] == "completed":
            return data["video_url"]
        elif data["status"] == "failed":
            raise Exception(data.get("error", "Video generation failed"))

        time.sleep(interval)

    raise TimeoutError("Video generation timed out")

認証

BearerAuth
AuthorizationBearer <token>

APIキー認証。Dashboard > API > API KeysでAPIキーを作成または管理します。

場所: header

パスパラメータ

id*string

id / task_id によって返される、または poll_url に埋め込まれた非同期タスクID

レスポンス

application/json

application/json

application/json

application/json