# Alibaba | HappyHorse 1.0 | Video Edit Enables advanced video editing through natural language instructions, supporting local or global modifications with up to 5 reference images while preserving the original motion dynamics. ## API Information - **Model Slug:** alibaba-happyhorse-1-0-video-edit - **Branded URL:** https://www.eachlabs.ai/alibaba/happyhorse-1-0/alibaba-happyhorse-1-0-video-edit - **Provider:** Alibaba - **Category:** Video to Video - **Output Type:** video - **Status:** active - **Base Cost:** $0.14–$0.24 per second, depending on resolution - **Estimated Processing Time:** 130 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/alibaba-happyhorse-1-0-video-edit ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.14–$0.24 per second, depending on resolution - **Pricing Details:** 720P: $0.14 - **Pricing Details:** default: $0.24 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text prompt describing the desired edit, such as style transfer or local replacement. Supports any language. Maximum 5,000 non-Chinese characters or 2,500 Chinese characters; excess is automatically truncated. | | video_url | string | Yes | - | - | URL of the video to edit. Format: MP4 or MOV (H.264 recommended). Duration: 3-60 s; output is capped at the first 15 s. Longer side max 2,160 px; shorter side at least 320 px. Aspect ratio between 1:2.5 and 2.5:1. Frame rate > 8 fps. Max file size 100 MB. | | reference_images | array | No | - | - | Optional 0-5 reference images that guide the edit (style transfer, garment swap, etc.). Format: JPEG, JPG, PNG, WEBP. Width and height each at least 300 px. Aspect ratio between 1:2.5 and 2.5:1. Max 10 MB per image. | | resolution | string | No | 1080P | 720P, 1080P | Output video resolution. 720P: lower cost, faster generation. 1080P: higher quality (default). | | audio_setting | string | No | auto | auto, origin | Audio handling for the output video. auto: model decides whether to keep or regenerate audio (default). origin: always preserve the original audio track from the input video. | | seed | integer | No | - | 0–2147483647 | Seed for reproducibility. Range [0, 2147483647]. Same seed produces similar (not identical) results because generation is probabilistic. Random if omitted. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "alibaba-happyhorse-1-0-video-edit", "input": { "prompt": "Make the woman character in the video wear the red outfit from the reference image.", "video_url": "https://cdn-us.eachlabs.ai/defaults/35d325fdab93b2f501d9fdf21043d92856bbce80b09fd3224c7037b868319f5b.mp4" } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated video)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **Alibaba | HappyHorse 1.0 | Video Edit Overview** Alibaba | HappyHorse 1.0 | Video Edit empowers users to transform existing videos using natural language instructions, enabling precise local or global modifications while maintaining original motion dynamics. Developed by Alibaba as part of the HappyHorse 1.0 family, this video-to-video model leverages a unified 15B-parameter Transformer architecture for high-quality edits at 1080p resolution. Its standout feature is single-pass joint audio-video processing, ensuring seamless lip-sync and motion preservation during edits, setting it apart in the Alibaba video-to-video landscape. Ideal for creators needing efficient video refinement without losing temporal consistency, Alibaba | HappyHorse 1.0 | Video Edit supports up to 5 reference images for guided changes, making it a top choice on platforms like each::labs for professional workflows. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.