Wan 3.0 APIドキュメント
コードからWan 3.0を呼び出すために必要な情報をすべて掲載しています。ベースURLはhttps://cheapergen.com/api/v1です。まずプレイグラウンドでお試しください。
コーディングエージェントを使いますか?
これをClaude Code、Cursor、Codex、または任意のコーディングエージェントに貼り付けてください。プロジェクトにAPIを追加し、キーをCHEAPERGEN_API_KEYに保存して、支払いが発生する前に無料見積もりでテストします。
Add Wan 3.0 (CheaperGen endpoint alibaba/ wan-3.0/ text-to-video) to this project by following https:/ / cheapergen.com/ agents/ integrate.md認証
ダッシュボード → APIキーでキーを作成し、Bearerトークンとして送信してください。キーはサーバー側で管理してください。
export CHEAPERGEN_API_KEY="cg_live_…"
# every request
Authorization: Bearer $CHEAPERGEN_API_KEYWan 3.0 テキストから動画を生成 API
/api/v1/run/alibaba/wan-3.0/text-to-video非同期ジョブを送信すると、生成IDを含む202が返されます。GET /api/v1/generations/{id}をポーリングするか、webhook_urlを指定してください。詳細はジョブのライフサイクルをご覧ください。
入力パラメーター
| 名前 | 種類 | 説明 | 料金に影響 |
|---|---|---|---|
prompt必須 | string | ショットを説明してください:被写体、動き、カメラワーク、照明、スタイル。 | いいえ |
aspect_ratio | string (enum) | 出力フレームの形状。 値:16:9 · 9:16 · 1:1 · 4:3 · 3:4 デフォルト:16:9 | はい |
resolution | string (enum) | 出力解像度。高解像度では秒単価が上がります。 値:480p · 720p · 1080p デフォルト:720p | はい |
duration | integer | 生成クリップの長さ(2〜30秒)。秒単位で課金されます。 範囲:2~30s デフォルト:5 | はい |
generate_audio | boolean | 同期した音声、環境音、セリフを生成します。追加料金はありません。 デフォルト:true | いいえ |
negative_prompt | string | 出力に含めたくないもの。 | いいえ |
seed | integer | 同じ結果を再現するには、seedと設定を同じにしてください。ランダムにする場合は空欄のままにします。 | いいえ |
webhook_url | string (URL) | 任意。生成が完了すると、Webhookシークレットで署名してここにPOSTします。Webhook | いいえ |
リクエスト
const API = "https://cheapergen.com/api/v1";
const headers = {
Authorization: `Bearer ${process.env.CHEAPERGEN_API_KEY}`,
"Content-Type": "application/json",
};
// 1. Submit the job
let job = await fetch(`${API}/run/alibaba/wan-3.0/text-to-video`, {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "バンコクの屋台で、シェフが炎の上で麺をあおる。市場の玉ボケ、手持ちカメラ。",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5
}),
}).then((r) => r.json());
// 2. Poll until it finishes (or pass webhook_url and skip polling)
while (job.status === "queued" || job.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
job = await fetch(`${API}/generations/${job.id}`, { headers }).then((r) => r.json());
}
console.log(job.status === "succeeded" ? job.output.video.url : job.error);レスポンス
{
"id": "gen_8c2QmX1nq0k4",
"object": "generation",
"model": "alibaba/wan-3.0",
"endpoint": "alibaba/wan-3.0/text-to-video",
"mode": "text-to-video",
"status": "queued",
"input": {
"prompt": "バンコクの屋台で、シェフが炎の上で麺をあおる。市場の玉ボケ、手持ちカメラ。",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5
},
"output": null,
"error": null,
"cost": {
"amount_usd": 0.2255,
"currency": "usd",
"estimated": true,
"official_usd": null,
"list_price_source": "official",
"list_price_label": "Official",
"saved_usd": null
},
"source": "api",
"started_at": null,
"completed_at": null,
"urls": {
"get": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4",
"cancel": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4/cancel"
},
"created_at": "2026-10-15T09:21:04Z"
}Wan 3.0 画像から動画を生成 API
/api/v1/run/alibaba/wan-3.0/image-to-video非同期ジョブを送信すると、生成IDを含む202が返されます。GET /api/v1/generations/{id}をポーリングするか、webhook_urlを指定してください。詳細はジョブのライフサイクルをご覧ください。
入力パラメーター
| 名前 | 種類 | 説明 | 料金に影響 |
|---|---|---|---|
prompt必須 | string | ショットを説明してください:被写体、動き、カメラワーク、照明、スタイル。 | いいえ |
image_url必須 | string (URL) | 開始フレームに使う画像。JPG/PNG/WebP、URLまたはアップロード。 | いいえ |
resolution | string (enum) | 出力解像度。高解像度では秒単価が上がります。 値:480p · 720p · 1080p デフォルト:720p | はい |
duration | integer | 生成クリップの長さ(2〜30秒)。秒単位で課金されます。 範囲:2~30s デフォルト:5 | はい |
generate_audio | boolean | 同期した音声、環境音、セリフを生成します。追加料金はありません。 デフォルト:true | いいえ |
negative_prompt | string | 出力に含めたくないもの。 | いいえ |
seed | integer | 同じ結果を再現するには、seedと設定を同じにしてください。ランダムにする場合は空欄のままにします。 | いいえ |
webhook_url | string (URL) | 任意。生成が完了すると、Webhookシークレットで署名してここにPOSTします。Webhook | いいえ |
リクエスト
const API = "https://cheapergen.com/api/v1";
const headers = {
Authorization: `Bearer ${process.env.CHEAPERGEN_API_KEY}`,
"Content-Type": "application/json",
};
// 1. Submit the job
let job = await fetch(`${API}/run/alibaba/wan-3.0/image-to-video`, {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "そよ風でカーテンが揺れる。カメラがゆっくり引いて部屋全体を映す。",
"image_url": "https://cdn.cheapergen.com/samples/portrait.jpg",
"resolution": "720p",
"duration": 5
}),
}).then((r) => r.json());
// 2. Poll until it finishes (or pass webhook_url and skip polling)
while (job.status === "queued" || job.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
job = await fetch(`${API}/generations/${job.id}`, { headers }).then((r) => r.json());
}
console.log(job.status === "succeeded" ? job.output.video.url : job.error);レスポンス
{
"id": "gen_8c2QmX1nq0k4",
"object": "generation",
"model": "alibaba/wan-3.0",
"endpoint": "alibaba/wan-3.0/image-to-video",
"mode": "image-to-video",
"status": "queued",
"input": {
"prompt": "そよ風でカーテンが揺れる。カメラがゆっくり引いて部屋全体を映す。",
"image_url": "https://cdn.cheapergen.com/samples/portrait.jpg",
"resolution": "720p",
"duration": 5
},
"output": null,
"error": null,
"cost": {
"amount_usd": 0.2255,
"currency": "usd",
"estimated": true,
"official_usd": null,
"list_price_source": "official",
"list_price_label": "Official",
"saved_usd": null
},
"source": "api",
"started_at": null,
"completed_at": null,
"urls": {
"get": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4",
"cancel": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4/cancel"
},
"created_at": "2026-10-15T09:21:04Z"
}Wan 3.0 参照素材から動画を生成 API
/api/v1/run/alibaba/wan-3.0/reference-to-video非同期ジョブを送信すると、生成IDを含む202が返されます。GET /api/v1/generations/{id}をポーリングするか、webhook_urlを指定してください。詳細はジョブのライフサイクルをご覧ください。
入力パラメーター
| 名前 | 種類 | 説明 | 料金に影響 |
|---|---|---|---|
prompt必須 | string | ショットを説明してください:被写体、動き、カメラワーク、照明、スタイル。 | いいえ |
reference_image_urls | string[] (URLs) | 人物、商品、スタイル、シーン用の画像は最大4枚です。@Image1、@Image2…とプロンプト内で指定してください。 最大項目数:4 | いいえ |
reference_video_urls | string[] (video URLs) | 動き、カメラワーク、効果用のクリップは最大5MP4/MOV本です(1本あたり1〜15秒, 合計15秒, 1ファイルあたり100 MB以下)。@Video1、@Video2…とプロンプト内で指定してください。参照動画の秒数は出力秒数と同じ料金です。合計30秒以下にしてください。 最大項目数:5 | はい |
reference_audio_urls | string[] (audio URLs) | 声、音楽、効果音用のクリップは最大5MP3/WAV本まで指定できます(1本あたり1〜15秒, 合計15秒, 1ファイルあたり15 MB以下)。@Audio1、@Audio2…と参照してください 最大項目数:5 | いいえ |
aspect_ratio | string (enum) | 出力フレームの形状。 値:16:9 · 9:16 · 1:1 · 4:3 · 3:4 デフォルト:16:9 | はい |
resolution | string (enum) | 出力解像度。高解像度では秒単価が上がります。 値:480p · 720p · 1080p デフォルト:720p | はい |
duration | integer | 生成クリップの長さ(2〜30秒)。秒単位で課金されます。 範囲:2~30s デフォルト:5 | はい |
generate_audio | boolean | 同期した音声、環境音、セリフを生成します。追加料金はありません。 デフォルト:true | いいえ |
negative_prompt | string | 出力に含めたくないもの。 | いいえ |
seed | integer | 同じ結果を再現するには、seedと設定を同じにしてください。ランダムにする場合は空欄のままにします。 | いいえ |
webhook_url | string (URL) | 任意。生成が完了すると、Webhookシークレットで署名してここにPOSTします。Webhook | いいえ |
リクエスト
const API = "https://cheapergen.com/api/v1";
const headers = {
Authorization: `Bearer ${process.env.CHEAPERGEN_API_KEY}`,
"Content-Type": "application/json",
};
// 1. Submit the job
let job = await fetch(`${API}/run/alibaba/wan-3.0/reference-to-video`, {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "@Image1の女性が@Image2のカフェを歩き、@Video1のような動きでコーヒーを注文します。",
"reference_image_urls": [
"https://cdn.cheapergen.com/samples/reference-1.jpg",
"https://cdn.cheapergen.com/samples/reference-2.jpg"
],
"reference_video_urls": [
"https://cdn.cheapergen.com/samples/reference-1.mp4"
],
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5
}),
}).then((r) => r.json());
// 2. Poll until it finishes (or pass webhook_url and skip polling)
while (job.status === "queued" || job.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
job = await fetch(`${API}/generations/${job.id}`, { headers }).then((r) => r.json());
}
console.log(job.status === "succeeded" ? job.output.video.url : job.error);レスポンス
{
"id": "gen_8c2QmX1nq0k4",
"object": "generation",
"model": "alibaba/wan-3.0",
"endpoint": "alibaba/wan-3.0/reference-to-video",
"mode": "reference-to-video",
"status": "queued",
"input": {
"prompt": "@Image1の女性が@Image2のカフェを歩き、@Video1のような動きでコーヒーを注文します。",
"reference_image_urls": [
"https://cdn.cheapergen.com/samples/reference-1.jpg",
"https://cdn.cheapergen.com/samples/reference-2.jpg"
],
"reference_video_urls": [
"https://cdn.cheapergen.com/samples/reference-1.mp4"
],
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5
},
"output": null,
"error": null,
"cost": {
"amount_usd": 0.2255,
"currency": "usd",
"estimated": true,
"official_usd": null,
"list_price_source": "official",
"list_price_label": "Official",
"saved_usd": null
},
"source": "api",
"started_at": null,
"completed_at": null,
"urls": {
"get": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4",
"cancel": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4/cancel"
},
"created_at": "2026-10-15T09:21:04Z"
}結果を取得する
生成処理は非同期です。statusがsucceeded、failed、またはcanceledになるまでポーリングしてください。送信時にwebhook_urlを指定する方法もあります。失敗した生成は自動返金されます。
curl https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4 \
-H "Authorization: Bearer $CHEAPERGEN_API_KEY"その他:ジョブのライフサイクル · Webhook · エラー
Wan 3.0の料金
従量課金: 動画1秒あたりを使った分だけ支払えます。サブスクリプションは不要です (月額プランは任意)。生成に失敗した場合は自動で返金されます。
| プラン | 公式価格 | CheaperGen | 節約額 |
|---|---|---|---|
480p 秒あたり | $0.0379/s | −24% | |
720p 秒あたり | $0.0757/s | −24% | |
1080p 秒あたり | $0.1513/s | −24% |
- 公式価格:Alibaba Cloud Model Studio国際版(シンガポール)のwan3.0-video公開価格(1秒あたり$0.05/$0.10/$0.20。参照動画は同じ秒単価)。価格確認日:2026年10月18日。
- 参照動画の秒数は出力と同じ秒単価で課金されます。