Alibaba Happyhorse 1.1 Video Extend
Playground
Try it on WavespeedAI!Alibaba HappyHorse 1.1 Video Extend extends existing videos with seamless AI-generated continuation, supporting 720P / 1080P output while preserving visual continuity and motion consistency. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Alibaba Happy Horse 1.1 Video Extend
Alibaba Happy Horse 1.1 Video Extend continues an existing video clip with new AI-generated footage, seamlessly extending the scene from where the original ends. Upload a source video, describe how the video should continue, and the model generates a coherent continuation in 720p or 1080p.
- Need to edit an existing clip instead of extending it? Try Alibaba Happy Horse 1.0 Video Edit.
- Need to generate a new video from text? Try Alibaba Happy Horse 1.1 Text-to-Video.
Why Choose This?
-
Seamless video continuation Extend an existing clip with newly generated footage that picks up naturally from the original ending.
-
Prompt-guided scene progression Describe how the action, camera movement, atmosphere, or story should continue using natural language.
-
Cinematic motion Generate smooth, expressive motion while preserving the overall feel and flow of the source video.
-
Flexible resolution options Choose
720pfor lower-cost iteration or1080pfor higher-quality final output. -
Production-ready API Access the model through a REST inference API with no cold starts for scalable integration into creative workflows.
Parameters
| Parameter | Required | Description |
|---|---|---|
| video | Yes | Source video to extend. |
| prompt | Yes | Text description of the desired continuation. |
| resolution | No | Output resolution: 720p (default) or 1080p. |
| duration | No | Total output duration in seconds. Range: 3–15, default 5. |
| seed | No | Random seed for reproducibility. Range: 0–2147483647. |
How to Use
- Upload your source video — provide the clip you want to continue.
- Write your prompt — describe how the scene, subject, camera, or atmosphere should progress after the original ending.
- Choose resolution — use
720pfor lower-cost iteration or1080pfor higher-quality results. - Set duration — choose the total output duration between
3and15seconds. - Set a seed (optional) — use a fixed seed if you want more reproducible results.
- Submit — generate and download the extended video.
Example Prompt
Continue the scene with a slow forward camera movement, the subject walking deeper into the alley, soft rain beginning to fall, stronger reflections on the ground, and a cinematic moody nighttime atmosphere
Pricing
Per 5 Seconds
| Resolution | Cost |
|---|---|
| 720p | $0.70 |
| 1080p | $1.40 |
Example Costs
| Resolution | 3s | 5s | 10s | 15s |
|---|---|---|---|---|
| 720p | $0.42 | $0.70 | $1.40 | $2.10 |
| 1080p | $0.84 | $1.40 | $2.80 | $4.20 |
Billing Rules
- Base price:
720pcosts $0.70 per 5 seconds - 1080p surcharge:
1080pcosts 2× the720prate - Total price formula:
total_price = 0.70 × (resolution == "1080p" ? 2 : 1) × duration / 5
Best Use Cases
- Scene continuation — Extend cinematic clips with natural motion and coherent progression.
- Storyboarding and concept work — Explore how a shot or sequence might continue without manual video production.
- Ad creative development — Expand short promo clips into longer variations for campaigns and testing.
- Social media content — Create longer edits from short source footage for platform-specific needs.
- Atmospheric scene building — Continue motion, lighting, and mood from an existing clip into a richer sequence.
- Creative prototyping — Quickly test alternate continuations before investing in full production.
Pro Tips
- Use a source video with a clear ending frame for smoother continuation.
- Be explicit about what should happen next, including subject action, camera motion, lighting, and atmosphere.
- Keep prompts visually concrete, such as “camera slowly pushes in,” “the subject turns and walks away,” or “fog begins to roll in.”
- Use
720pfor quick testing, then switch to1080pfor final-quality output. - Reuse the same
seedwhen you want more reproducible generations. - Start with shorter durations to validate continuity before generating longer clips.
Notes
- Both
videoandpromptare required. - Ensure video URLs are publicly accessible.
- Supported resolutions are
720pand1080p. - Supported total output duration is
3–15 seconds. - Pricing scales linearly with
duration. 1080ppricing is exactly 2× the720prate.
Related Models
- Alibaba Happy Horse 1.0 Video Edit — Perform prompt-driven editing on existing videos.
- Alibaba Happy Horse 1.1 Text-to-Video — Generate cinematic videos directly from natural-language prompts.
- Alibaba Happy Horse 1.1 Image-to-Video — Animate a single reference image into a cinematic clip.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/alibaba/happyhorse-1.1/video-extend" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"resolution": "720p",
"duration": 5
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | Text description of the desired continuation. | |
| video | string | Yes | - | The source video to extend. | |
| resolution | string | No | 720p | 720p, 1080p | Output video resolution. |
| duration | integer | No | 5 | 3 ~ 15 | Total duration of the final output video in seconds (3-15). |
| seed | integer | No | - | -1 ~ 2147483647 | Random seed for reproducibility. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | object | Array of URLs to the generated content. |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |