メインコンテンツへスキップ
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "happyhorse-1.1",
    "prompt": "道を歩く少女、映画のような映像",
    "resolution": "1080P",
    "size": "16:9",
    "duration": 5,
    "seed": 42
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "happyhorse-1.1",
    "prompt": "道を歩く少女、映画のような映像",
    "resolution": "1080P",
    "size": "16:9",
    "duration": 5,
    "seed": 42
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

認証

Authorization
string
必須
すべてのAPIエンドポイントでBearer Token認証が必要ですAPIキーの取得:APIキー管理ページからAPIキーを取得してくださいリクエストヘッダーに追加:
Authorization: Bearer YOUR_API_KEY

モードルーティング

happyhorse-1.1 はテキストから動画 / 画像から動画 / 参照画像から動画の統一エンドポイントです。バックエンドが受信したパラメータに基づいて自動的にモードを判定します。全モードは統一ルール(解像度 × 秒)で課金されます
渡すフィールドルーティング先モード説明
prompt のみテキストから動画(T2V)テキスト説明のみから動画生成
prompt + first_frame_image画像から動画(I2V)画像を先頭フレームとして動かす
prompt + image_urls(1〜9 枚)参照画像から動画(R2V)一連の参照画像から新しいシーンを生成
ルーティング優先度(高→低):first_frame_image > image_urls > prompt のみ。 フィールド排他ルール:2 つのメディアフィールド(first_frame_image / image_urls)は相互排他です。排他フィールドを同時指定すると 400 mixed_media_not_allowed が返されます。

リクエストパラメータ

model
string
必須
動画生成モデル名。happyhorse-1.1 で固定
prompt
string
動画内容の説明、最大 2500 文字。特殊トークンを含めることはできません例:"道を歩く少女、映画のような映像"
first_frame_image
string
先頭フレーム画像。I2V(画像から動画)をトリガー。URL または base64(data:image/<mime>;base64,<payload>、ゲートウェイが自動的に OSS にアップロード)に対応image_urls と相互排他
先頭フレーム画像の要件:
  • フォーマット:JPEG / JPG / PNG / BMP / WEBP
  • 短辺ピクセル:≥ 300px
  • アスペクト比:1:2.52.5:1
  • ファイルサイズ:≤ 10MB
image_urls
array<string>
画像配列(R2V モード):1〜9 枚、被写体/スタイル参照として新しいシーンを生成URL または base64 に対応first_frame_image と相互排他
参照画像の要件:
  • フォーマット:JPEG / JPG / PNG / BMP / WEBP
  • 短辺ピクセル:≥ 720p 推奨
  • アスペクト比:短辺/長辺 ≥ 0.4
  • ファイルサイズ:≤ 10MB
  • 枚数:1〜9 枚
resolution
string
デフォルト:"1080P"
動画解像度(課金に影響)選択肢:
  • 720P - 標準
  • 1080P - 高解像度(デフォルト)
duration
integer
デフォルト:"5"
動画の長さ(秒、課金に影響)対応範囲:315 の任意の整数デフォルト:5
size
string
デフォルト:"16:9"
画面のアスペクト比対応フォーマット:
  • 16:9 - 横向きワイド(デフォルト)
  • 9:16 - 縦向き
  • 1:1 - 正方形
  • 4:3 - 横向き
  • 3:4 - 縦向き
I2V モードでは無視されます — 出力アスペクト比は入力メディア(先頭フレーム画像)により自動決定されます
watermark
boolean
デフォルト:"false"
生成された動画にウォーターマークを追加するかどうか
  • true:ウォーターマークを追加
  • false:ウォーターマークを追加しない(デフォルト)
seed
integer
生成内容のランダム性を制御するシード範囲:[0, 2147483647]。省略時はランダム
  • 同一リクエストで異なるseed値を受け取ると(seedを指定しない場合など)、異なる結果が生成されます
  • 同一リクエストで同じseed値を受け取ると、類似した結果が生成されますが、完全一致は保証されません

レスポンス

code
integer
レスポンスステータスコード。成功時は 200
data
array
レスポンスデータ配列

使用例

例 1:テキストから動画 T2V(最小リクエスト)

{
  "model": "happyhorse-1.1",
  "prompt": "道を歩く少女、映画のような映像"
}

例 2:テキストから動画 T2V(フルパラメータ)

{
  "model": "happyhorse-1.1",
  "prompt": "夕日に照らされた海沿いの道路、スローモーションのカメラプッシュイン、映画のような映像",
  "resolution": "1080P",
  "size": "16:9",
  "duration": 8,
  "seed": 42
}

例 3:画像から動画 I2V(first_frame_image)

{
  "model": "happyhorse-1.1",
  "prompt": "画像のシーンを動かしてください",
  "first_frame_image": "https://example.com/first_frame.png",
  "resolution": "1080P",
  "duration": 5
}

例 4:参照画像から動画 R2V(複数参照画像)

{
  "model": "happyhorse-1.1",
  "prompt": "画像1の主人公が画像2のシーンを駆け抜け、その後画像3の道具を手に取る。3D カートゥーン風で、滑らかなアクションを保つ。",
  "image_urls": [
    "https://example.com/img_01.jpg",
    "https://example.com/img_02.png",
    "https://example.com/img_03.jpeg"
  ],
  "resolution": "1080P",
  "size": "16:9",
  "duration": 5
}

例 5:720P で料金節約

{
  "model": "happyhorse-1.1",
  "prompt": "夕日の浜辺に打ち寄せる波",
  "resolution": "720P",
  "size": "16:9",
  "duration": 5
}

モード選択ガイド

要件推奨方法
テキストのみから動画生成prompt のみ指定(T2V)
画像を”動かす”(先頭フレームとして使用)first_frame_image を指定(I2V)
一連の参照画像から新しいシーンを生成image_urls(1〜9 枚、R2V)を指定
料金節約resolution: "720P" を指定

使用上のヒント

  1. 統一エンドポイントの動作:渡されたフィールドでモードが決まります。2 つのメディアフィールド(first_frame_image / image_urls)は相互排他です
  2. size は T2V/R2V のみ有効:I2V モードでは size が無視され、出力アスペクト比は入力メディアにより決定されます
  3. 長さ:5〜10 秒が最適。短すぎると動きが不連続、長すぎると上流処理時間が大幅に増加します
  4. 先頭フレーム画像の品質:鮮明、構図が明確、被写体が中央 — I2V の効果が大きく向上します
  5. プロンプト記述:動き / カメラワーク / 雰囲気を記述(例「ゆっくりプッシュイン、映画のような、暖色」)すると、静的なシーン記述のみより良い結果になります
タスク結果の取得動画生成は非同期タスクで、送信時に task_id が返されます。タスクステータス取得 エンドポイントで生成進捗と結果を取得してください。