動画生成 API
リクエスト 1 本で動画になります。キャラクター名を書けば、画像 API と同じようにその見た目を保ちます。
生成する
curl -X POST https://api.aicu.ai/v1/video/generate \
-H "Authorization: Bearer $AICU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"prompt": "@MeiSoleil が夕暮れの海辺でカメラに手を振る",
"resolution": "720p",
"seconds": 5
}'
{
"id": "5f9c…",
"status": "processing",
"ap_cost": 7000,
"status_url": "https://api.aicu.ai/v1/video/status/5f9c…",
"url": "https://api.aicu.ai/v1/video/file/5f9c…"
}
生成は HTTP の 1 往復より長くかかるので、呼び出しはすぐ 202 と id を返します。status_url を completed になるまでポーリングして、url を取ってください。
curl "https://api.aicu.ai/v1/video/status/$ID" -H "Authorization: Bearer $AICU_API_KEY"
# {"id":"5f9c…","status":"completed","ap_cost":7000,"url":"https://api.aicu.ai/v1/video/file/5f9c…"}
curl -L "https://api.aicu.ai/v1/video/file/$ID" -H "Authorization: Bearer $AICU_API_KEY" -o out.mp4
status は processing / completed / failed の 3 つ。10 秒おきで十分です。5 秒の動画なら 1〜5 分で出ます。
モデルを選ぶ
model で動画のモデルを選びます。省略すると gemini-omni-1.1-flash になるので、これまでの呼び出しはそのまま動きます。
model | 提供元 | 解像度 | 秒数 | 向いていること |
|---|---|---|---|---|
gemini-omni-1.1-flash(既定) | 360p / 720p / 1080p | 5〜10(モデルが決める) | 720p で価格を抑えたいとき。実際にできた長さで精算します | |
wan3.0-video | Alibaba | 480p / 720p / 1080p | 2〜10 | 品質重視。音つき。参照画像 1 枚でキャラクターを保ちます |
wan3.0-video-prime | Alibaba | 480p / 720p / 1080p | 2〜10 | 同じ品質を、標準の 3 分の 1〜半分の時間で |
最新の一覧と、モデルごとの範囲・単価は、いつでも GET /v1/models(type: "video")にあります。範囲外のモデル・解像度・秒数は、黙って丸めずに 400 を返します。
パラメータ
| 項目 | 意味 |
|---|---|
model | 上の表を参照。既定は gemini-omni-1.1-flash |
prompt | 何が起きるか。本文のどこかに @名前 と書くとそのキャラクターが選ばれ、その部分はプロンプトから取り除かれます |
character | @名前 と同じことを別項目で書く形。登録済みキャラは参照画像を自前で持ちます。自分のキャラクター名なら reference_image が要ります |
reference_image | キャラクターの参照画像(base64)。約 8MB まで |
first_frame | 動画の最初のコマにする画像(base64)。絵コンテから動かすとき。reference_image とは同時に使えません |
last_frame | 動画の最後のコマにする画像(base64)。first_frame と組で使うと、そのあいだの動きをモデルが作ります |
resolution | モデルによります(上の表)。既定は 720p。価格はここで決まります |
seconds | モデルによります(上の表)。既定は 5。価格はここで決まります |
aspect_ratio | 16:9(既定)/ 9:16 / 1:1(モデルが対応しているもの)。first_frame を使うときは画像の形に従います |
visibility | public は権利表記つきで掲載、private は何も残しません |
最初と最後のコマを指定する
始まりと終わりを渡して、そのあいだをモデルに任せます。
{
"model": "wan3.0-video",
"first_frame": "<最初のカットの base64>",
"last_frame": "<最後のカットの base64>",
"prompt": "彼女が窓のほうへ振り向くあいだに、カメラがゆっくり引いていく",
"seconds": 5
}
下のコンタクトシートから 2 コマを選ぶと、光もキャラクターも揃ったまま、時間だけが違う組になります。
料金
出来上がった動画の秒数 × モデル × 解像度です。1 USD = 10,000 AP。最新の単価は料金ページと GET /v1/models(type: "video")にあります。単価の変更は 7 日前にお知らせで告知します。
**AP は生成開始時に確保し、失敗・タイムアウトのときは全額返します。**失敗した生成は無料です。長さをモデルが決める場合は、上限の長さぶんを確保し、できた長さで精算して差額を返します。1 つの鍵で同時に走らせられるのは 3 本までです。
スコープ
動画には video スコープが要ります。以前に発行した鍵には付いていません。画像のために発行した鍵が、動画の単価で使われてよいはずがないからです。鍵の管理画面で足すか、新しく発行してください(新規の鍵には公開済みの全スコープが付きます)。
無いまま呼ぶと 403 forbidden_scope(本文に required_scope: "video")が返ります。
キャラクター
登録済みキャラクターは、名前だけで呼べます。
{ "prompt": "@SakiNoire が夜のネオンの路地を歩く", "seconds": 5 }
自分のキャラクターは、絵を 1 枚添えます(Character API と同じ作法です)。
{ "character": "luc4", "reference_image": "<base64>", "prompt": "カフェでノート PC を打っている" }

この静止画を生んだのと同じ参照画像が、動画ではフレーム間の一貫性を保ちます。プロンプトは「キャラクターの公式プロンプトの外見語 → 場面」の順に。見た目の全体は参照画像が、細部は言葉が支えます。
良い最初の 1 コマを作る
動画の出来は、出発点の画像で決まります。画像 API がすぐ隣にあるので、そこで作れます。よく効くのがコンタクトシートを作って、それを動画モデルに渡す方法です。
curl -X POST https://api.aicu.ai/v1/images/generations \
-H "Authorization: Bearer $AICU_API_KEY" -H "Content-Type: application/json" \
-d '{"model":"gpt-image-2.5-flare","size":"1024x1536","quality":"medium",
"prompt":"子どもが撮影した写真の数々、3x3、9:16。ローアングル、足元、飼い犬の顔のアップ、空、手のひら、親の顔の下から、床に落ちたおもちゃ。日常の生活感。写真以外の文字やロゴは入れない。"}'
「子どもが撮った写真」と頼むとローアングルが出ます。子どもの目線がそこにあるからです。「素人の失敗写真」と頼むと手ブレ、指の写り込み、逆光の黒つぶれが出ます。そこまで書かなくても出ます。
| 子どもが撮影した写真 | 素人の失敗写真 | キャラクターのスナップ |
|---|---|---|
![]() | ![]() | ![]() |
シートの 1 コマ 1 コマが、そのまま使える最初のフレームです。1 枚を reference_image に渡し、prompt に動きを書いてください。
エラー
| Status | Code | どうするか |
|---|---|---|
| 400 | invalid_parameter | model / resolution / seconds / 画像の大きさを確認 |
| 402 | insufficient_ap | チャージしてください。生成は始まっていません |
| 403 | forbidden_scope | 鍵に video スコープを足す |
| 429 | rate_limited | 既に 3 本走っています。1 本終わるのを待ってください |
| 5xx | generation_failed | 再試行を。確保した AP は返却済みです |
サポート
- api@aicu.ai からのメールへの返信、または https://aicu.ai/contact
- 稼働状況: https://api.aicu.ai/status ・ お知らせと価格告知: https://api.aicu.ai/news
© 2026 AICU Inc.


