ハッピーホース動画生成
TENSORAXIS 経由でアリババクラウド百煉(DashScope)の HappyHorse モデルを呼び出す — テキストから動画、画像から動画、参照画像から動画、動画編集に加え、パラメータと課金について。
HappyHorse は、アリババクラウド百煉(DashScope)の動画モデル(チャンネル HappyHorse)を TENSORAXIS に統合したものです。これは非同期タスクです:タスクを送信して task_id を取得し、タスクステータスをポーリングし、完了後に動画 URL を取得します。共通の送信/ポーリングフローについては 動画生成の概要 を参照してください。このページでは HappyHorse の 4 つの機能とパラメータのみを扱います。
4 つの機能は モデル名のサフィックス によって区別されます:
| 機能 | モデル | 説明 |
|---|---|---|
| テキストから動画(t2v) | happyhorse-1.1-t2v, happyhorse-1.0-t2v | プロンプトのみから生成 |
| 画像から動画(i2v) | happyhorse-1.1-i2v, happyhorse-1.0-i2v | 1 枚の先頭フレーム画像から生成 |
| 参照画像から動画(r2v) | happyhorse-1.1-r2v, happyhorse-1.0-r2v | 複数の参照画像から生成 |
| 動画編集(video-edit) | happyhorse-1.0-video-edit | 1 本のソース動画 + 参照画像から編集 |
リクエストフィールド
POST /v1/video/generations
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | はい | HappyHorse のモデル名(上記の表を参照) |
prompt | string | はい | 動画のプロンプト。空の場合は 400 prompt is required を返します |
metadata.media | array | 機能による | メディア入力の配列。各項目は type と url を持ちます。type は first_frame / reference_image / video のいずれかです |
images | string[] | 機能による | 参照画像の URL(r2v 用)。metadata.media が存在しない場合は参照画像として扱われます |
image | string | 機能による | 単一の画像 URL(i2v の先頭フレーム) |
input_reference | string | 機能による | 入力参照 URL(i2v の先頭フレーム / r2v の参照画像の互換用エントリ) |
metadata | object | いいえ | 解像度、長さ、アスペクト比など — パラメータ を参照 |
メディアはできるだけ metadata.media 経由で渡し、各項目の用途を type でタグ付けしてください。images / image / input_reference は互換用のエントリです:metadata.media が存在しない場合、i2v は input_reference/image を先頭フレームとして扱い、r2v は images/input_reference を参照画像として扱います。動画編集のソース動画は必ず metadata.media(type: video)経由で渡してください。
テキストから動画(-t2v)
prompt のみが必要で、メディア入力は受け付けません。
curl https://api.tensoraxis.ai/v1/video/generations \
-H "Authorization: Bearer $TENSORAXIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "happyhorse-1.1-t2v",
"prompt": "A lake at the foot of a snowy mountain reflects the sunset; the camera slowly pushes in",
"metadata": {
"resolution": "1080P",
"ratio": "16:9",
"duration": 5
}
}'画像から動画(-i2v)
先頭フレーム画像はちょうど 1 枚です。 metadata.media(type: first_frame)経由で渡すか、互換用エントリの input_reference / image を使用してください。ratio は受け付けません(アスペクト比は先頭フレームによって決まります)。
curl https://api.tensoraxis.ai/v1/video/generations \
-H "Authorization: Bearer $TENSORAXIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "happyhorse-1.1-i2v",
"prompt": "The subject slowly looks up and smiles",
"metadata": {
"resolution": "1080P",
"duration": 5,
"media": [
{ "type": "first_frame", "url": "https://example.com/first-frame.jpg" }
]
}
}'参照画像から動画(-r2v)
複数の参照画像から生成します。ゲートウェイは1〜9 枚の参照画像を受け付けます(metadata.media 内の reference_image 項目、またはトップレベルの images)。アップストリームでは 5 枚以下が推奨されており、それを超える場合の挙動はアップストリームのレスポンスに依存します。
curl https://api.tensoraxis.ai/v1/video/generations \
-H "Authorization: Bearer $TENSORAXIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "happyhorse-1.1-r2v",
"prompt": "Have these characters interact in the same scene",
"images": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
],
"metadata": {
"resolution": "1080P",
"ratio": "16:9",
"duration": 5
}
}'動画編集(-video-edit)
1 本のソース動画から編集します。metadata.media 経由で type: video のソース動画をちょうど 1 本渡す必要があります。参照画像(type: reference_image、ゲートウェイ側は 5 枚以下、アップストリームは 4 枚以下)を追加することもできます。
durationは受け付けません:出力はソース動画の長さを保持するため、duration パラメータは送信されません。audio_setting(この機能のみ)をサポートします:auto(デフォルト) /origin。
curl https://api.tensoraxis.ai/v1/video/generations \
-H "Authorization: Bearer $TENSORAXIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "happyhorse-1.0-video-edit",
"prompt": "Replace the background with a dusk city skyline",
"metadata": {
"resolution": "1080P",
"audio_setting": "origin",
"media": [
{ "type": "video", "url": "https://example.com/source.mp4" },
{ "type": "reference_image", "url": "https://example.com/style.jpg" }
]
}
}'パラメータ
metadata 配下のパラメータは、アップストリームの DashScope リクエストフィールドに対応します。「ゲートウェイ値」はこのサイトが実際に検証/クランプする値であり、「備考」は参考情報で、最終的にはアップストリームのレスポンスによって定義されます。
| パラメータ | 型 | 対象 | ゲートウェイ値 / デフォルト | 備考 |
|---|---|---|---|---|
resolution | string | すべて | 720P / 1080P、デフォルトは 1080P | 認識できない値は 1080P にフォールバックします |
ratio | string | t2v / r2v のみ | 16:9 / 9:16 / 1:1 / 4:3 / 3:4。省略時はアップストリーム側で 16:9 がデフォルトになります | i2v / video-edit では受け付けません |
duration | integer | t2v / i2v / r2v | [3,15] にクランプ、デフォルトは 5 | video-edit では受け付けません(出力はソース動画の長さを保持) |
seed | integer | すべて | [0, 2147483647] | 乱数を固定します。明示的に 0 を指定した場合もそのまま送信されます |
watermark | boolean | すべて | デフォルトは false(明示的に送信されます) | 透かしを追加するかどうか |
audio_setting | string | video-edit のみ | auto(デフォルト) / origin | 音声の扱い |
公式の duration 範囲はシナリオによって異なります(テキストから動画は概ね [2,15]、動画ありは概ね [2,10])が、ゲートウェイは一律 [3,15] にクランプします。範囲外の値は境界値に切り詰められます。
課金
HappyHorse は秒単位で課金され、解像度係数を掛けたものになります(1080P は 720P の約 1.78 倍です)。
- t2v / i2v / r2v の場合、長さはリクエスト時点で判明しており、実際の長さ × 解像度係数で精算されます。
- 動画編集には
durationの入力がありません(出力 = ソース動画の長さ)。そのため、宣言されたmetadata.durationの値に基づいて課金されます。未宣言の場合は、保守的なデフォルト値(約 10 秒)が使用されます。
正確な単価はコンソールの「動画料金」設定および料金ページに従います。運営者は最新の公式レートでデフォルト値を上書きできます。
タスクのポーリング
共通の送信/ポーリングフロー、ステータスコード、OpenAI/Sora 互換の取得パスについては 動画生成の概要 を参照してください。