happyhorse-1.0 is the unified entry for Text-to-Video / Image-to-Video / Reference-Image-to-Video / Video Edit. The backend automatically determines the mode based on incoming parameters. All modes are billed by the same rule (resolution × seconds only):
| Fields you pass | Routes To | Mode Description |
|---|---|---|
prompt only | Text-to-Video (T2V) | Generate video purely from text |
prompt + first_frame_image | Image-to-Video (I2V) | Animate from a first-frame image |
prompt + image_urls (1–9 images) | Reference-Image-to-Video (R2V) | Generate a new scene from reference images |
prompt + video_url (optional image_urls 0–5 as style refs / audio_setting) | Video Edit (EDIT) | Rewrite / restylize a source video |
video_url > first_frame_image > image_urls > prompt only.
Mutual exclusion rules: the three media fields (first_frame_image / image_urls / video_url) are mutually exclusive in pairs. The only valid combination is video_url + image_urls (EDIT mode + reference images). Passing two mutually exclusive fields returns 400 mixed_media_not_allowed.
happyhorse-1.0"A little girl walking down the road, cinematic feel"data:image/<mime>;base64,<payload>, the gateway uploads it to OSS automatically)Mutually exclusive with image_urls / video_url1:2.5 to 2.5:1image_urls provided): 1–9 images, used as subject/style references to generate a new scenevideo_url): 0–5 images, used as style referencefirst_frame_image; can be combined with video_urlfirst_frame_image; can be combined with image_urls (≤ 5)1:8 to 8:1video_url)Options:auto - Auto-generate audio (default)origin - Keep the source video’s audio track720P - Standard1080P - High definition (default)3 to 15Default: 516:9 - Landscape widescreen (default)9:16 - Portrait1:1 - Square4:3 - Landscape3:4 - Portraittrue: add watermark (default)false: no watermark[0, 2147483647]. If omitted, a random seed is used.| Requirement | Recommended Approach |
|---|---|
| Generate video from text only | Pass only prompt (T2V) |
| Make an image “come alive” (use it as the first frame) | Pass first_frame_image (I2V) |
| Generate a new scene from a set of reference images | Pass image_urls (1–9, R2V) |
| Rewrite / restylize an existing video | Pass video_url (EDIT), optionally combine with image_urls (0–5) as style refs |
| Save cost | Use resolution: "720P" |
first_frame_image / image_urls / video_url) are mutually exclusive in pairssize only effective in T2V/R2V: in I2V / EDIT modes size is ignored — the output aspect ratio is determined by the input mediatask_id upon submission. Use the Get Task Status endpoint to query generation progress and results.