AI動画APIのコストを下げる方法:7つの実践的な方法
AI動画は秒単位で課金され、料金は解像度によって大きく上がるため、選ぶモデルと同じくらい、作業の進め方が重要です。ここでは、公開する作品の品質を落とさずに、請求額を減らす7つの習慣を紹介します。
お金がかかる部分
ほとんどすべての動画モデルは、出力1秒あたりで課金され、料金は解像度によって大きく上がります。Seedance 2.5では、1080pの1秒が$0.55で、480pの$0.11の5倍です。以下の節約方法の大半は、1つの考え方から来ています。高い料金を払うのは、すでに欲しいとわかっているクリップだけにする、ということです。
1. 最低解像度でドラフトを作り、採用するものをレンダリングする
低解像度で、プロンプト、フレーミング、動きを確認します。ドラフトがうまくいったら、同じプロンプトをフル解像度でもう一度送信します。最終版は新しいテイクなので、ドラフトとフレーム単位では一致しませんが、480pでうまくいくプロンプトは、ほぼ必ず1080pでもうまくいきます。
| モデル | ドラフト | 8秒のドラフト | 最終版 | 8秒の最終版 |
|---|---|---|---|---|
| Seedance 2.5 | 480p | $0.88 | 1080p | $4.40 |
| Seedance 2.0 | 480p | $0.64 | 1080p | $3.20 |
| Wan 3.0 | 480p | $0.40 | 1080p | $1.36 |
| Gemini Omni 1.1 Flash | 360p | $0.32 | 1080p | $0.80 |
Seedance 2.5のドラフト3本と最終版1本は、$2.64と$4.40の合計で、最終版を4本作ると$17.60です。
2. 高い設定でも料金が変わらない場合を把握する
2つの設定で同じ料金のモデルもあります。その場合は、常に大きいほうを指定してください:
- Veo 3.1:720pと1080pは、音声なしでどちらも1秒あたり$0.20です。
- Gemini Omni 1.1 Flash:720pと1080pは、どちらも1秒あたり$0.10です。
- GPT Image 2:1K、2K、4Kは、すべて1枚あたり$0.03です。
モデルページにすべての価格キーが掲載されているため、サイズを選ぶ前に、こうした設定を見つけられます。
3. 同じモデルのより安いティアを選ぶ
ほとんどのファミリーには、わずかな料金で使えるFastまたはLiteのバージョンがあります。ドラフト、SNS向けクリップ、スマートフォンで見るものには、最適な選択です。
| ファミリー | フルティア | 下位ティア |
|---|---|---|
| Veo 3.1 | 1080pのVeo 3.1:$0.20 | 1080pのVeo 3.1 Lite:$0.06 |
| Seedance 2.0 | 720pのSeedance 2.0:$0.15 | 720pのSeedance 2.0 Fast:$0.11 |
モデルごとの最安価格については、最安のAI動画APIのガイドをご覧ください。
4. 自分で音声を付けるなら、音声をオフにする
生成音声に追加料金がかかるモデルもあります。編集で音楽やナレーションを付ける場合は、audio を false に設定します:
| モデル | 設定 | 音声なし | 音声あり |
|---|---|---|---|
| Kling 3.0 | 720p | $0.09 | $0.13 |
| Veo 3.1 | 1080p | $0.20 | $0.40 |
| Veo 3.1 Fast | 720p | $0.08 | $0.10 |
5. 先に安い画像で開始フレームを選ぶ
画像から動画では、最初のフレームを制御でき、画像は動画の1秒よりはるかに安く作れます。GPT Image 2のような画像モデルで、1枚$0.03で複数の開始フレームを作り、最良のものを選んでから、動かします。どんな場合に効果があるかは、テキストから動画 vs 画像から動画のガイドで解説しています。
6. 必要な長さだけをリクエストする
秒単位の課金では、10秒のクリップは5秒のクリップの2倍の料金です。編集で4秒に切り詰めるなら、モデルが対応している場合は、4秒か5秒を指定してください。
7. APIで支出を守る
- 各リクエストの
max_cost_usdは、そのジョブにかかってよい費用の上限を設定します。それを超える料金のルートはスキップされ、残るルートがない場合は422 max_cost_exceededでリクエストが拒否されるため、durationやresolutionの入力ミスで高額な請求になることはありません。 - 失敗したジョブは無料です。料金は送信時に確保され、すべてのモデルで、ジョブが失敗した場合は解放されます。
Idempotency-Keyヘッダーがあれば、ネットワークエラーの後に再送したリクエストは、2つ目のジョブに支払う代わりに、すでに開始したジョブを返します。
ドラフトから最終版までをコードで
このスクリプトは、アイデアの3つのバージョンを480pでドラフトし、選んだプロンプトを1080pでレンダリングします。各リクエストには、価格のすぐ上に max_cost_usd と、それぞれ固有の Idempotency-Key が付きます。
import os
import time
import uuid
import requests
API = "https://api.revana.si/v1"
KEY = os.environ["REVANA_API_KEY"]
def run(model, inp, max_cost_usd):
key = str(uuid.uuid4()) # resend with this key after a network error: no duplicate job
headers = {"Authorization": f"Bearer {KEY}", "Idempotency-Key": key}
body = {"model": model, "input": inp, "max_cost_usd": max_cost_usd}
job = requests.post(f"{API}/generations", headers=headers, json=body).json()
while job["status"] in ("queued", "running"):
time.sleep(5)
job = requests.get(f"{API}/generations/{job['id']}", headers=headers).json()
return job
prompts = [
"A red kite climbs over a windy beach, the camera tracking it from the sand.",
"A red kite climbs over a windy beach, seen from above as it rises toward the camera.",
"A child runs along a windy beach pulling a red kite into the sky, slow motion.",
]
# 1. A cheap 480p draft of each idea
drafts = [run("seedance-2.5", {"prompt": p, "resolution": "480p", "duration": 8}, 1.1)
for p in prompts]
for p, d in zip(prompts, drafts):
print(d["status"], d.get("cost_usd"), d["output"]["urls"][0] if d["output"] else d["error"])
# 2. Render only the idea you liked, at 1080p
final = run("seedance-2.5", {"prompt": prompts[1], "resolution": "1080p", "duration": 8}, 5.3)
print(final["status"], final.get("cost_usd"))すべてのリクエストフィールドはドキュメントに、$10からのクレジットパックは料金ページにあり、APIキーの取得は1分で済みます。
よくある質問
AI動画の生成を安くするには、どうすればよいですか?
最も低い解像度でドラフトを作り、残すクリップだけをフルサイズでレンダリングします。ドラフトにはFastやLiteのティアを使い、自分で音声を付ける場合は生成音声をオフにし、必要な長さだけをリクエストします。
AI動画の生成が失敗した場合も、課金されますか?
Revanaではされません。料金は送信時に確保され、すべてのモデルで、ジョブが失敗した場合は解放されます。
1回の生成にかかる費用の上限を設定するには?
リクエストに max_cost_usd を付けて送信します。それを超える料金のルートはスキップされ、残るルートがない場合、課金される前に、リクエストは 422 max_cost_exceeded で拒否されます。
低解像度のドラフトは、最終版と同じように見えますか?
フレーム単位では同じになりません。最終版は新しいテイクです。ただし、ドラフトを見れば、プロンプト、フレーミング、動きが機能するかどうかがわかり、それこそが、費用を払って確認したいことです。
リクエストがタイムアウトした場合に、二重課金されないようにするには?
Idempotency-Key ヘッダーを送信します。同じキーとボディをもう一度送信すると、新しい生成ではなく、すでに開始した生成が返されます。