HappyHorse 1.0

Animate a photo into 3–15 seconds of 720p or 1080p video. Image input is required. ### Supported modes | Mode | Required input | Rules | | --- | --- | --- | | Image to video | `model`, `prompt`, `images` | Required. This model publishes no text-to-video mode. | | Multiple source images | `model`, `prompt`, `images` | Up to nine angles of the same subject. | **Async flow:** Create the task, save `data.id`, then [poll the Task](/quick-guide#get-task-status) with `GET /v1/tasks/{task_id}`. On `succeeded`, read `data.output.media`. On `failed`, read `data.error_code` and `data.error_message`, then follow the [error and retry policy](/quick-guide#errors-and-retry-policy). **Using a local file?** [upload a local input](/quick-guide#upload-an-input-file) first and pass the returned `data.url`.

Authentication

AuthorizationBearer

Send your API key as Authorization: Bearer <BEATAPI_API_KEY>.

Headers

Idempotency-KeystringOptional<=255 characters

Request

This endpoint expects an object.
model"happyhorse-1.0"Required

Must be happyhorse-1.0.

promptstringRequired1-5000 characters

What should happen in the shot — the motion, the expression, the camera.

imageslist of stringsRequired
Source images as public HTTPS URLs. At least one is required.
durationintegerOptional3-15Defaults to 5
Requested output duration in seconds.
aspect_ratioenumOptionalDefaults to 16:9
Output video aspect ratio.
resolutionenumOptionalDefaults to 720p
Output resolution tier. Price scales with it.

Response

Video generation task accepted

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
409
Conflict Error
429
Too Many Requests Error