HappyHorse / Wan Video Model
happyhorse-1.0 and wan2.7 use the common MoonNexAI video-task API for text-to-video, image-to-video and reference-based video. Call POST /v1/videos, save the task ID, then query status and result URLs.
Model List
| Models | Usual Mode | resolution | duration | aspect ratio |
|---|---|---|---|---|
happyhorse-1.0 | Text-to-video, first-frame image-to-video and reference images | 720P, 1080P | 5, 10, 15 seconds | 16:9, 9:16, 1:1, 4:3, 3:4 |
wan2.7 | text-to-video, first frame, last frame, reference images, reference video | 720P, 1080P | 5, 10, 15 sec | 16:9, 9:16, 1:1, 4:3, 3:4 |
Actual available parameters and prices are based on MoonNexAI console, price page and GET /v1/models.
text-to-video
curl https://moonnexai.com/v1/videos \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "happyhorse-1.0",
"prompt": "A warm cinematic shot of a handcrafted wooden music box opening on a desk, slow camera push-in.",
"duration": 5,
"resolution": "720P",
"ratio": "16:9",
"watermark": false,
"callback_url": "https://example.com/moonnexai/webhook"
}'image-to-video
For first-frame generation, provide first_frame_url or mark the image's role in images[].
{
"model": "happyhorse-1.0",
"prompt": "Animate the product with a slow rotating camera and soft studio light.",
"first_frame_url": "https://example.com/product.png",
"duration": 5,
"resolution": "720P",
"ratio": "1:1",
"watermark": false
}Compatible arrays:
{
"model": "wan2.7",
"prompt": "Keep the character appearance, subtle smile, natural head movement.",
"images": [
{
"url": "https://example.com/first-frame.png",
"role": "first_frame"
}
],
"duration": 5,
"resolution": "1080P",
"ratio": "9:16"
}last frame and reference video
wan2.7 supports last frame and reference video. reference video total duration recommends no more than 5 seconds, and the total number of media assets references for pictures and videos recommends no more than 5.
{
"model": "wan2.7",
"prompt": "Transition from the first frame to the final frame with smooth camera movement.",
"first_frame_url": "https://example.com/first.png",
"last_frame_url": "https://example.com/last.png",
"duration": 5,
"resolution": "720P",
"ratio": "16:9"
}Video-reference example:
{
"model": "wan2.7",
"prompt": "Follow the reference motion while keeping the new product design consistent.",
"videos": [
{
"url": "https://example.com/reference-motion.mp4",
"role": "reference_video"
}
],
"duration": 5,
"resolution": "720P",
"ratio": "16:9"
}happyhorse-1.0 does not currently support last frame, reference video or independent audio. Select a model that explicitly supports the ability to respond if these inputs are required.
Query task
curl https://moonnexai.com/v1/tasks/task_xxx \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>"You can also use compatible query portals:
curl https://moonnexai.com/v1/videos/task_xxx \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>"Successful responses often include the result URL in several fields for different SDKs:
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "video",
"model": "wan2.7",
"status": "succeeded",
"url": "https://example.com/result.mp4",
"video_url": "https://example.com/result.mp4",
"output": {
"url": "https://example.com/result.mp4"
}
}The client should first check status, read URLs only when succeeded; submitted, queued, running, failed or cancelled are not considered successful outcomes.
Common field
| field | happyhorse-1.0 | wan2.7 | Annotations |
|---|---|---|---|
model | Support | Support | Video model name. |
prompt | Support | Support | Video description. |
duration | 5, 10, 15 | 5, 10, 15 | Video duration, in seconds. |
resolution | 720P, 1080P | 720P, 1080P | resolution. |
ratio / aspect_ratio | Support | Support | 16:9, 9:16, 1:1, 4:3, 3:4. |
first_frame_url | Support | Support | first frame picture URL. |
last_frame_url | Not supported | Support | last frame picture URL. |
images[] | Support | Support | Picture media assets, recommended maximum of five. |
videos[] | Not supported | Support | reference video, it is recommended that the total duration should not exceed 5 seconds. |
audios[] | Not supported | Not supported | Not currently as an independent audio media assets portal. |
watermark | Support | Support | Add watermarks. |
callback_url | Supported | Supported | Task-completion callback URL. |
Recommendation media assets
If media assets has a stable public network URL, priority is given to direct URL. MoonNexAI OSS upload is for joint testing only and does not commit to long-term preservation or continued service; for formal business and media assets reuse, use the public network URL that the customer has stored. Direct access to Asset://asset_xxx depends on model support, based on model pages and generation validation.
Results and billing
These two models are billed per task. Save id / task_id, model, request parameters, status and result URLs after submission. Current prices are configured in the MoonNexAI console.