Video
happyhorse-1.1-r2v API
Use the exact happyhorse-1.1-r2v model ID through Modelflare asynchronous video routing.
Use the exact model ID happyhorse-1.1-r2v. The model field must match this page exactly.
Parameters: duration=5resolution=1080pratio=16:9Input image
Prompt: One continuous take, no cuts. Keep the woman in the crimson satin coat and the peeling carpet ribbons from the reference and move the event outdoors: she walks out of a revolving door onto a wet plaza and the patterned ribbons keep tearing up behind her, now lifting off the paving stones and streaming out across the square in a long coloured wake. The camera tracks backward ahead of her at waist height and cranes up as the wake spreads. One hard green sign light above the door, warm street lamps across the plaza. Real weight and inertia, satin and wet stone, no text.
{ "model": "happyhorse-1.1-r2v", "prompt": "One continuous take, no cuts. Keep the woman in the crimson satin coat and the peeling carpet ribbons from the reference and move the event outdoors: she walks out of a revolving door onto a wet plaza and the patterned ribbons keep tearing up behind her, now lifting off the paving stones and streaming out across the square in a long coloured wake. The camera tracks backward ahead of her at waist height and cranes up as the wake spreads. One hard green sign light above the door, warm street lamps across the plaza. Real weight and inertia, satin and wet stone, no text.", "seconds": "5", "duration": 5, "resolution": "1080p", "ratio": "16:9", "aspect_ratio": "16:9", "image": "https://example.com/input-image.png"}Authentication and endpoint
Section titled “Authentication and endpoint”Use a Modelflare API key with https://modelflare.dev/v1. The gateway entry point is POST /v1/videos.
Authorization: Bearer YOUR_MODELFLARE_API_KEYCreate a task
Section titled “Create a task”curl https://modelflare.dev/v1/videos \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "happyhorse-1.1-r2v", "input": {"prompt": "The person in [Image 1] picks up [Image 2].", "media": [{"type": "reference_image", "url": "https://example.com/person.jpg"}, {"type": "reference_image", "url": "https://example.com/object.jpg"}]}, "parameters": {"resolution": "1080P", "ratio": "16:9", "duration": 5, "watermark": false} }'Poll and download
Section titled “Poll and download”Save the task ID. Poll GET /v1/videos/{task_id} and download with GET /v1/videos/{task_id}/content. Result URLs may expire, so transfer the file promptly.
curl https://modelflare.dev/v1/videos/TASK_ID \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY"Request notes
Section titled “Request notes”HappyHorse uses input.prompt; choose the input.media shape that matches the t2v, i2v, or r2v model ID.
Request parameters
Section titled “Request parameters”HappyHorse R2V places 1–9 reference_image items in input.media and references them in order from the prompt.
| Field | Required | Notes |
|---|---|---|
model |
Yes | happyhorse-1.1-r2v |
input.prompt |
Yes | Text description or reference instructions, up to 5,000 non-Chinese or 2,500 Chinese characters |
input.media[] |
Yes | 1–9 reference_image items; public URL or Base64, under 20 MB, minimum 400px short side |
parameters.resolution |
No | 720P / 1080P, default 1080P |
parameters.ratio |
No | 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / 4:5 / 5:4 / 9:21 / 21:9, default 16:9 |
parameters.duration |
No | 3–15 seconds, default 5 |
parameters.watermark |
No | Whether to add the HappyHorse watermark |
parameters.seed |
No | Optional seed from 0 to 2,147,483,647 |
Input and output limits
Section titled “Input and output limits”R2V uses 1–9 reference_image items and refers to them in prompt order as Image 1, Image 2, and so on. Prompts are limited to 5,000 non-Chinese or 2,500 Chinese characters; images are under 20 MB with a 400px minimum short side.
Errors and failed tasks
Section titled “Errors and failed tasks”Invalid model parameters return a 4xx with a request ID. An asynchronous task can also enter failed after creation succeeds; use error_code and error_message from the poll response as the final task reason. Do not retry the same request with a different JSON shape.
Supported scope
Section titled “Supported scope”This page covers Modelflare model generation and editing calls. Search or map enrichment, voice management, and element-library management are resource APIs outside this public model-call surface and are not required request fields.
Pricing and billing
Section titled “Pricing and billing”This model uses per-second video billing. See the model pricing page for the current customer price, reference list price, and complete specification.
Media contract · v1
Official source: Alibaba Cloud Model Studio
Contract parameters
| Intent field | Control | Options |
|---|---|---|
ratio | select | 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / 4:5 / 5:4 / 21:9 / 9:21 |
resolution | select | 720p / 1080p |
duration | select | 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 |
Supported capability
allowed_values·ratio· 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 21:9, 9:21allowed_values·resolution· 720p, 1080pallowed_values·duration· 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15required_assets·reference_asset_idsmax_assets·reference_asset_ids· 9
Structured request example
reference
Intent
{
"duration": 3,
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "16:9",
"reference_asset_ids": [
"asset_example"
],
"resolution": "720p"
}Provider request
{
"duration": 3,
"image": "https://example.com/reference.png",
"model": "happyhorse-1.1-r2v",
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "16:9",
"resolution": "720p",
"seconds": "3"
}