Video Generation
HappyHorse Series
HappyHorse video models: text, image, reference and video editing on one endpoint, billed by resolution tier × seconds
POST
HappyHorse Series
HappyHorse is a video model line with natively synchronized audio. This page covers two models:
A successful submission returns a
See Submit Task for
Generated videos are returned in
happyhorse-1.0 supports both generate and edit, producing video from text, a first frame or reference images, and rewriting a source video; happyhorse-1.1 does generate only and is the reference-image tier on the same input set. Both share POST /v1/tasks and take almost the same parameters — they differ in actions, video input and audio handling.
Quick start
task_id. Poll GET /v1/tasks/{task_id} for the result, wait inside the call with Prefer: wait, or configure a webhook.
Request parameters
string
required
One of two:
happyhorse-1.0 or happyhorse-1.1.string
default:"generate"
generate— generate a video. Both models support itedit— rewrite a source video; requiresvideo_urls. Onlyhappyhorse-1.0supports it
string
Description of the video, or the edit instruction. Optional when a first frame or reference images are supplied, but useful to guide camera and motion.
string[]
Reference image URLs, used as subject / style references for a new scene. On
happyhorse-1.0 they may accompany video_urls under edit as style references.string
First-frame image URL. With it set, the aspect ratio follows the image and
aspect_ratio has no effect.string[]
Source video URLs. Only the
edit action on happyhorse-1.0 takes it: exactly one clip, 6–15 seconds, and it is required.string
Output resolution:
720p or 1080p.integer
Output length in seconds, any integer
3–15.The edit action on happyhorse-1.0 follows the source video length: 0 means “use the source video length”, and any other value leaves the output length unchanged.string
Aspect ratio:
16:9, 9:16, 1:1, 4:3, 3:4. With a first frame or a source video present, the aspect ratio follows the input asset.integer
Random seed. The same request with the same seed produces similar results.
string
Audio handling, effective only for the
edit action on happyhorse-1.0: auto generates audio, origin keeps the original track.boolean
default:"false"
Whether to add a watermark to the output. Both models take it.
callback_url, callback_events, Prefer: wait, Idempotency-Key, and the maximum-cost header.
Neither model supports n, quality, generate_audio or audio_urls. Any other parameter returns 400 and is not billed.
Limits
Pricing
Both models are billed by resolution tier × seconds.price_config.video_prices is keyed by resolution, and happyhorse-1.0 additionally keys by action (edit_720p / edit_1080p), so editing and generation settle on their own tiers.
Because
edit output follows the source video, billed seconds come from the source video length and duration plays no part. How input seconds are read, and what happens when they cannot be read, is in Video Generation Overview.
You are only billed for a successfully generated video. Failed and cancelled tasks, and tasks that return no usable video, are refunded in full. The final charge is the cost field on the task response — an integer quota at 500,000 quota = 1 USD, not dollars.
Unit prices are not listed here. They track upstream changes; this section covers billing dimensions only.Live rates: the
price_config field of GET /v1/models, or the console’s Model Market.
What one call cost: the cost field on the task response (integer quota, 500,000 quota = 1 USD).Response
Completed task
result.videos; url is an array and expires_at is when the video link expires. See Query Task Status for the full field reference.
Available models
Both models support the five aspect ratios
16:9, 9:16, 1:1, 4:3 and 3:4. happyhorse-1.0 outputs natively synchronized audio; happyhorse-1.1 targets reference-image generation.