HappyHorse 1.0
/v1/tasks All models are called through the Unified Async API POST /v1/tasks endpoint; only the input fields differ (see input parameters below).
Model summary
| Model name | happyhorse-1-0 |
|---|---|
| Type | Video generation (text-to-video) |
| Endpoint | POST /v1/tasks |
| Pricing | See HiAPI Pricing |
HappyHorse 1.0 is a fast text-to-video model for 3-15 second drafts, social clips, and low-cost video validation.
Production guidance
- For production, pass callback.url at the top level of the request body so HiAPI can notify your service when the task reaches a terminal state.
- GET /v1/tasks/:id is better for local debugging, low-volume jobs, or fallback reconciliation if a callback is missed.
- Use callback.when=final. Both success and fail are terminal states, so your service should deduplicate by taskId.
Best suited for
Create social, ad, storyboard, or product-showcase clips.
promptdurationPick landscape, portrait, or square placements and control the resolution tier.
aspect_ratioresolutionValidate the prompt with shorter duration and lower resolution before increasing quality.
durationresolutionVideo jobs take longer, so callback.url is the better production completion signal.
callback.urlRequest parameters
model string required Fixed value happyhorse-1-0.
input object required Business parameters for HappyHorse text-to-video.
prompt string required Prompt describing video content, scene, and style.
aspect_ratio enum optional Output video aspect ratio.
duration integer optional Output duration in seconds, range 3-15.
resolution enum optional Output video resolution.
seed integer optional Random seed for reproducible generation. Omit for a random seed.
callback object optional Optional callback configuration. In production, pass callback.url so HiAPI can notify your service when the task reaches a terminal state.
url string required HTTPS URL that receives terminal task notifications.
when enum optional Callback trigger timing. Use final for terminal-state notifications.
Example requests
Validate the prompt with short duration and 720p.
{
"model": "happyhorse-1-0",
"input": {
"prompt": "A toy robot walks slowly on a clean white desk",
"aspect_ratio": "16:9",
"duration": 3,
"resolution": "720p"
}
}For social portrait placements.
{
"model": "happyhorse-1-0",
"input": {
"prompt": "A small coffee cup spinning on a bright kitchen counter",
"aspect_ratio": "9:16",
"duration": 5,
"resolution": "720p"
}
}Getting the result
- The response returns a taskId immediately without waiting for generation to finish.
- In production, prefer waiting for callback.url to receive the terminal notification. For local debugging, poll GET /v1/tasks/:id.
- When status=success, download the generated video from output[].url.
- When status=fail, fix the request based on the returned error instead of retrying the same invalid payload.