HappyHorse 1.1 API Integration
Use HappyHorse 1.1 through Rivya Public API v1 with model id happyhorse-1-1, supported inputs, parameters, Files API rules, credits, and response examples.
happyhorse-1-1
text, file
Required for reference modes
per_output_second · 720p=22.5 · 1080p=29 · ⌈total⌉
Video
METERED
5000 characters
Request contract
Send the model id at the top level. Model-specific controls belong in params.
| Key | Type | Required | Default | Description |
|---|---|---|---|---|
| model | string | Yes | happyhorse-1-1 | Use the happyhorse-1-1 API model id. |
| prompt | string | No | - | Maximum 5000 characters for this model. |
| params | object | No | - | Model-specific parameter object. Use the rows below for allowed keys. |
| client_request_id | string | No | - | Optional client-side id for tracing requests in your system. |
Model parameters
| Key | Type | Required | Default | Range | Options | Description |
|---|---|---|---|---|---|---|
| resolution | select | No | 1080p | - | 720p, 1080p | The selected resolution sets the per-second credit rate. |
| aspect_ratio | select | No | 16:9 | - | 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Used for prompt-only and multi-reference runs; a single-image run follows its first frame. |
| duration | number | No | 5 | min 3 / max 15 / step 1 | - | Choose a whole-number output duration from 3 to 15 seconds. |
Upload policy
Upload reference files first, then place the returned URL and duration token inside params.referenceMediaItems.
First frame or reference images: Upload one JPEG, PNG, or WebP image for first-frame animation, or 2 to 9 images for reference-led video. Each file can be up to 20 MB.
9
image
Video and audio references should carry durationToken from /api/v1/files when duration verification is required.
| kind | Max size | MIME types |
|---|---|---|
| image | 20 MB | image/jpeg, image/png, image/webp |
Minimal request
{
"model": "happyhorse-1-1",
"prompt": "A cinematic product reveal with smooth camera movement",
"params": {
"resolution": "1080p",
"aspect_ratio": "16:9",
"duration": 5
}
}Reference-file request
{
"model": "happyhorse-1-1",
"prompt": "A cinematic product reveal with smooth camera movement",
"params": {
"resolution": "1080p",
"aspect_ratio": "16:9",
"duration": 5,
"referenceMediaItems": [
{
"url": "https://cdn.example.com/reference-image.png",
"kind": "image",
"name": "reference-image.png",
"mimeType": "image/png",
"width": 1024,
"height": 1024,
"sizeBytes": 1048576,
"imageDimensionsToken": "image_dimensions_token_from_original_files_api_upload_response"
}
]
}
}Create response
The create endpoint returns a public task id. Poll the status endpoint until the task succeeds or fails.
{
"id": "task_happyhorse_1_1_example",
"status": "queued",
"model": "happyhorse-1-1",
"reserved_credits": 145,
"final_credits": 0,
"settlement_status": "RESERVED",
"created_at": "2026-05-11T00:00:00.000Z",
"updated_at": "2026-05-11T00:00:00.000Z",
"result": null,
"error": null
}Common errors
validation_failed, insufficient_credits, idempotency_conflict, rate_limited, not_found
Some modes require Files API reference uploads.