Skip to main content
POST
HappyHorse Series
HappyHorse is a video model line with natively synchronized audio. This page covers two models: 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

A successful submission returns a 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 it
  • edit — rewrite a source video; requires video_urls. Only happyhorse-1.0 supports 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.
See Submit Task for 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
Generated videos are returned in 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.