3つのモードを1つのモデルで
画像なしでテキスト→ビデオ、1枚で画像→ビデオ、2〜9枚で参照→ビデオを実行します。
Happy Horse の上位版。テキスト→ビデオ、画像→ビデオ、最大9枚の参照画像からの参照→ビデオに対応し、動きとキャラクターの一貫性が向上。1つの API・非同期ジョブ・Webhook で利用できます。
Happy Horse 1.1 を1回のAPIコールで統合できます。1つのキー、1つの統一エンドポイント、そしてApiframe上のすべてのモデルで共通の請求。
model: "happyhorse-1.1" 画像なしでテキスト→ビデオ、1枚で画像→ビデオ、2〜9枚で参照→ビデオを実行します。
キャラクター・製品・シーンの一貫性を保てます。プロンプト内で [Image 1]、[Image 2] のように参照します。
動きの表現力と時間的一貫性が向上し、アクションに合わせて音声が同期します。
Apiframeの Happy Horse 1.1 API で実行できるプロンプト例です。
砂漠の砂丘を疾走する馬の群れ、後方に砂ぼこり、ゴールデンアワー
[Image 1] が夕暮れに [Image 2] の門をくぐる、シネマティックなトラッキングショット
反射する台の上でゆっくり回転する [Image 1] の製品ヒーローショット、スタジオ照明
APIキーを添えて POST /v2/videos/generate に1回リクエストを送るだけで Happy Horse 1.1 による生成が始まります。レスポンスには、ポーリングまたはWebhookで受け取れる jobId が返ります。
curl -X POST https://api.apiframe.ai/v2/videos/generate \
-H "X-API-Key: afk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
"model": "happyhorse-1.1",
"happyhorse11Params": {
"images": [
"https://example.com/input.jpg"
],
"resolution": "1080p",
"aspect_ratio": "16:9",
"seed": 1
}
}'import requests
response = requests.post(
"https://api.apiframe.ai/v2/videos/generate",
headers={
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
json={
"prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
"model": "happyhorse-1.1",
"happyhorse11Params": {
"images": [
"https://example.com/input.jpg"
],
"resolution": "1080p",
"aspect_ratio": "16:9",
"seed": 1
}
},
)
print(response.json()) # { "jobId": "...", "status": "QUEUED" }const response = await fetch("https://api.apiframe.ai/v2/videos/generate", {
method: "POST",
headers: {
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
"model": "happyhorse-1.1",
"happyhorse11Params": {
"images": [
"https://example.com/input.jpg"
],
"resolution": "1080p",
"aspect_ratio": "16:9",
"seed": 1
}
}),
});
const { jobId } = await response.json();
console.log(jobId);生成は非同期で行われます。送信が成功すると 202 Accepted と jobId が返ります。ステータスが COMPLETED になるまで GET /v2/jobs/{id} をポーリングする(または webhook_url を指定する)と、result フィールドに出力URLが格納されます。
{
"jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"status": "QUEUED"
}curl https://api.apiframe.ai/v2/jobs/JOB_ID \
-H "X-API-Key: afk_your_api_key_here"import requests, time
while True:
job = requests.get(
"https://api.apiframe.ai/v2/jobs/JOB_ID",
headers={"X-API-Key": "afk_your_api_key_here"},
).json()
if job["status"] in ("COMPLETED", "FAILED"):
break
time.sleep(2)
print(job["result"])let job;
do {
await new Promise((r) => setTimeout(r, 2000));
job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
headers: { "X-API-Key": "afk_your_api_key_here" },
}).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);Happy Horse 1.1 エンドポイントが受け付けるリクエストパラメータです。モデル固有のオプションは、下記のパラメータオブジェクトの中にネストされます。
| パラメータ | 型 | 必須 | デフォルト | 許可値 / 範囲 | 説明 |
|---|---|---|---|---|---|
| prompt | string | 必須 | — | — | 生成する内容のテキスト説明。 |
| model | string | 必須 | "happyhorse-1.1" | "happyhorse-1.1" | このエンドポイントのモデル識別子。 |
| happyhorse11Params.images | string[] (URLs) | 任意 | — | — | None = text-to-video, one = image-to-video, two to nine = reference-to-video. |
| happyhorse11Params.resolution | string | 任意 | "1080p" | "720p", "1080p" | Resolution |
| happyhorse11Params.aspect_ratio | string | 任意 | "16:9" | "16:9", "9:16", "1:1", "4:3", "3:4" | Used for text-to-video (and reference-to-video on 1.1); ignored when animating an image. |
| happyhorse11Params.seed | number | 任意 | — | step 1 | Reuse a number to reproduce the same result. |
Happy Horse 1.1 APIに関するよくある質問をまとめました。
happyhorse11Params.images の枚数で決まります。なし=テキスト→ビデオ、1枚=画像→ビデオ、2〜9枚=参照→ビデオです。
最大9枚を指定し、プロンプト内で [Image 1]、[Image 2] のように参照します。Happy Horse 1.1 はそれらの被写体やシーンを出力で一貫して保ちます。
出力の秒単位課金で、720p は1秒あたり24クレジット、1080p は1秒あたり31クレジットです。10秒の1080pクリップは310クレジットになります。
解決しませんでしたか?
APIキーを取得すれば数分で Happy Horse 1.1 を統合できます — 従量課金。
ご質問はありますか? Discordに参加 または 営業に問い合わせる。