Create a HappyHorse video
Create a HappyHorse text-to-video or reference-image video task through CometAPI with POST /v1/videos, then poll the task and download the completed MP4 file.
id and poll the task until it reaches a terminal status.
POST /v1/videos uses multipart/form-data; pass scalar controls as form fields and reference images as input_reference file fields.
Choose an input mode
input_reference multipart field. CometAPI sends each uploaded file as a HappyHorse reference image. Use JPEG, JPG, PNG, or WEBP images up to 20 MB each; for best results, use images with a shortest side of at least 400 px.
Set duration and size
size to an exact WxH value.
Task flow
Create the task
id.Poll the task
status is completed, failed, or error.Download the result
completed, call Retrieve HappyHorse video content to download the MP4 file.Authorizations
Bearer authentication. Use your CometAPI API key.
Body
HappyHorse model ID for this endpoint.
happyhorse-1.0, happyhorse-1.1 "happyhorse-1.1"
Text prompt that describes the video to generate. For reference-image requests, combine the prompt with the uploaded reference image.
"Use the uploaded reference image as the visual guide. Create a short cinematic shot with gentle natural motion."
Requested clip duration in seconds. Use an integer from 3 through 15. Default is 5.
"3"
Output size as an exact WxH value. Use one of the documented size values for the selected HappyHorse model.
"1920x1080"
Reference image file for reference-to-video. Required when using reference-to-video; repeat this multipart field to send additional reference images. CometAPI preserves upload order. Use JPEG, JPG, PNG, or WEBP images up to 20 MB each.
Response
Task created. Store the returned id and poll GET /v1/videos/{task_id}.
Task ID. Use this value with retrieve and content endpoints.
"task_example"
Object type. Video tasks return video.
"video"
Model ID used for the task.
"happyhorse-1.1"
Task lifecycle status. Poll until the value is completed, failed, or error.
queued, in_progress, completed, failed, error "queued"
Task progress as a coarse percentage.
0 <= x <= 1000
Task creation time as a Unix timestamp in seconds.
1779938152
Compatibility alias for id when present.
"task_example"
Task completion time as a Unix timestamp in seconds. This field appears on completed tasks.
1779938219
Temporary video delivery URL. This field appears on completed tasks.
"<temporary-video-url>"
Failure details. This field appears when the task fails.