← 記事

AI動画生成API:TypeScriptでテキストから動画を作る

Pipe2.aiのTypeScript SDKでAI動画生成を開始し、実行状態を確認して、生成された動画アセットを取得する方法を解説します。

使い方 著者 Pipe2.ai 更新日 September 3, 2026

AI動画生成API:TypeScriptでテキストから動画を作る

AI動画生成APIでは、プロンプトから非同期の実行を開始して動画を作ります。Video Generatorを起動し、返された実行IDで状態を確認し、完了した実行のアセットから動画URLを読み取ります。Pipe2のTypeScript SDKはこれらの公開操作を直接提供するため、テキストから動画を作る最初の実装を小さく保てます。

TypeScript SDKでテキストから動画を生成する

@pipe2-ai/sdkをインストールし、Pipe2トークンをPIPE2_TOKENに設定して、このモジュールをNodeで実行します。例では、生成対象を明確な1ショットにするため、観察できる1つの動作と短い時間指定を使っています。

import { createClient } from '@pipe2-ai/sdk';

const input = {
  prompt: '[0-3s] A paper airplane circles above a classroom. [3-6s] It lands beside a notebook. Gentle room ambience, no music.',
};
const client = createClient(process.env.PIPE2_TOKEN);
const { run_pipeline } = await client.RunPipeline({
  pipeline_slug: 'video-generator',
  input,
});

while (true) {
  const { pipeline_runs_by_pk: run } = await client.GetPipelineRun({
    id: run_pipeline.run_id,
  });
  if (run?.status === 'completed') {
    console.log(run.assets?.[0]?.url);
    break;
  }
  if (run?.status === 'failed') throw new Error(run.error_message ?? 'Video generation failed');
  await new Promise((resolve) => setTimeout(resolve, 3000));
}

認証と状態確認を除いた、同じパイプラインリクエストは次のとおりです。

{
  "pipeline_slug": "video-generator",
  "input": {
    "prompt": "[0-3s] A paper airplane circles above a classroom. [3-6s] It lands beside a notebook. Gentle room ambience, no music."
  }
}

TypeScript SDKドキュメントには、インストール、認証、パイプライン実行、状態取得、サブスクリプション、アップロード、クレジット操作がまとめられています。

実行・ポーリング・アセット取得の流れ

RunPipelineには、パイプラインのslugとJSONの入力オブジェクトを渡します。動画生成が終わるまでHTTPリクエストを保持するのではなく、新しい実行の識別子が返ります。GetPipelineRunで使うrun_pipeline.run_idを保存してください。

ポーリングするたびに、最新の実行レコードが返ります。状態がcompletedの実行には生成アセットが含まれ、例では最初のアセットURLを表示します。failedの実行には、利用者への表示やログ記録に使えるエラーメッセージがあります。本番コードでは全体のタイムアウトも設け、実行が見つからない場合は無限に問い合わせずエラーとして扱います。

小さなスクリプトなら数秒ごとのポーリングで十分です。継続的な更新が必要なサービスでは、同じ実行状態を非同期イテラブルとして受け取るWatchPipelineRunも利用できます。

最も単純な有効入力から始める

このリクエストの入力はpromptだけです。これはテキストから動画を作るための最小の実用入力で、モデル選択はAutoのままです。Video Generatorには、開始・終了フレームや、任意の画像・動画・音声参照も渡せます。利用できる長さ、解像度、アスペクト比、参照数の上限は、互換性のあるモデルルートによって異なります。

製品要件で必要になった設定だけを追加してください。配信先に合うアスペクト比、被写体を保つための参照画像、長いクリップに対応する別ルートなどが考えられます。費用やメディア量が増えるリクエストを送る前に、同じpipeline_sluginputEstimatePipelineCostを呼び出せます。

1つの生成ショットに合うプロンプトを書く

APIを使っても、正確なショット指示は必要です。画面に見える動作、カメラの動き、環境、時間、音を記述し、指定時間内に物理的に成立する動作に絞ります。

例には2つの時間帯がありますが、出来事は連続しています。紙飛行機が旋回し、その後ノートの横に着地します。場所の切り替え、複数人物、編集カットは求めていません。そのため、動きの連続性、物体の形、着地の瞬間、音を確認しやすくなります。

大きな制作では、ショットごとに生成して確認してから編集します。AI動画の作り方では、このAPI呼び出しの先にある企画、確認、組み立て、字幕、仕上げを解説しています。

認証と失敗を明示的に処理する

Pipe2トークンでクライアントを作成し、トークンはサーバーまたは安全なローカル環境変数に保存します。ブラウザーに配信するソース、リポジトリ、パイプライン入力には含めないでください。

送信時のエラーと実行中の失敗を分けて扱います。未認証、不正な入力、必要なクレジットを予約できない場合は、実行が始まる前に送信が失敗します。正常に作成された実行が後でfailedになることもあるため、error_messageを確認します。アセットURLは状態がcompletedになってから利用してください。

画像から始める場合は、SDKで説明されているアセット手順でアップロードまたは参照し、画像からAI動画を作るガイドで素材の準備と動きの指定を確認できます。

よくある質問

AI動画生成APIは動画をすぐに返しますか?

いいえ。生成は非同期で進むため、Video Generatorを開始すると実行IDが返ります。その実行の状態がcompletedまたはfailedになるまで確認し、完了後にアセットから動画URLを取得します。

テキストから動画を生成するための最小の有効入力は何ですか?

プロンプトだけで実行できます。Video Generatorにはモデルごとの任意設定や画像・動画・音声の参照素材も渡せますが、最初は省くと実装が簡潔になり、Autoが互換性のあるルートを選べます。

モデル提供元ごとのAPIキーも必要ですか?

公開SDKの例ではPipe2トークンで認証します。リクエストではPipe2のVideo Generatorパイプラインを指定し、Pipe2が互換性のある生成ルートを選ぶため、クライアントから別の提供元の認証情報を送る必要はありません。

実際の動作を見る

1 / 12

関連記事

2