HappyHorse 1.0 can turn live footage into anime, clay or a painted look, and it also makes new clips from text or images. Alibaba released it in April 2026. The price depends only on resolution and length, never on the mode you choose, which makes a budget easy to plan.
The vendor can either keep the original audio or create a new track, but that choice is not exposed on Kadraris yet, so the vendor default applies.
What you can make
- Real footage restyled as anime, claymation or a painting
- Character clips built from several reference photos
- A single hero image brought to life
- A batch of clips priced the same per second whatever the mode
Settings that matter
duration: 3 to 15 seconds, 5 by default.resolution:720Por1080P(default).aspect_ratio: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5 or 5:4. It applies to text and reference modes; image-to-video and restyling follow the input.- Inputs:
image_urlfor a first frame,image_urlsfor 1-9 references,video_urlfor a 3-60 second clip to restyle (only the first 15 seconds are processed), with up to 5 style images. - Trim your clip before restyling, because the output length follows the source.
- Keep prompts below 2,500 characters; anything longer gets cut.
Starter prompt
Restyle this clip as a hand-made clay animation: thick
fingerprint texture, soft studio light, bright primary
colors, slightly choppy stop-motion movementDescribe your target look in material terms (texture, palette, line) for the most reliable restyle.
Questions
How much does a HappyHorse 1.0 clip cost?
from $0.322 per second. Only resolution and duration change the price. A failed clip costs $0.
How long can the source video be?
3 to 60 seconds, but only the first 15 are restyled.
Should I use HappyHorse 1.1?
HappyHorse 1.1 adds nine ratios including 21:9 and lets you name references in the prompt, but it has no video restyling. The HappyHorse 1.0 vs Seedance 2.0 page compares it with another option.
HappyHorse 1.0 in your code
curl https://kadraris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "happyhorse-1.0",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "16:9",
"resolution": "1080P",
"duration": 5
}
}'import os, time, requests
API = "https://kadraris.com/v1"
H = {"Authorization": f"Bearer {os.environ['KADRARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "happyhorse-1.0",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "16:9",
"resolution": "1080P",
"duration": 5
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://kadraris.com/v1";
const headers = { Authorization: `Bearer ${process.env.KADRARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "happyhorse-1.0",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "16:9",
"resolution": "1080P",
"duration": 5
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Input fields
| Parameter | Type | Allowed | Default |
|---|---|---|---|
prompt | string | ≤ 2500 chars | |
aspect_ratio | string | 16:9 9:16 1:1 4:3 3:4 4:5 5:4 | 16:9 |
resolution | string | 720P 1080P | 1080P |
duration | integer | 3-15 | 5 |
image_url | string | ||
image_urls | array | max 9 | |
video_url | string | ||
seed | integer |
Fetch this list as JSON with GET /v1/models/happyhorse-1.0.























