HappyHorse 1.0 bierze Twoje nagranie i nadaje mu nowy wygląd: film z telefonu staje się animacją, fragment teledysku dostaje inną estetykę, a akcja zostaje z oryginału. Model wideo Alibaby robi też klasyczne klipy z opisu, z jednego zdjęcia albo z kilku obrazów referencyjnych. Cena zależy wyłącznie od rozdzielczości i długości, a nie od trybu.
Co z nim zrobisz
- Film z telefonu w nowym stylu - animacja, malarstwo, komiks.
- Teledysk z przerobionymi fragmentami - wybrane ujęcia z inną estetyką.
- Rolki w 4:5 i 5:4 - formaty wygodne na feed.
- Animację postaci z kilku obrazów - do dziewięciu referencji.
Ustawienia w praktyce
- Długość - 3-15 s, domyślnie 5. W trybie edycji pole jest pomijane, bo długość wynika z nagrania.
- Rozdzielczość - 720P albo 1080P (domyślnie).
- Proporcje - 16:9, 9:16, 1:1, 4:3, 3:4, 4:5 i 5:4; działają tylko przy tekście i referencjach.
- Zdjęcie startowe - jedno w
image_url; prompt jest wtedy opcjonalny, ale krótki opis ruchu pomaga. - Edycja filmu - nagranie w
video_url(3-60 s, model bierze pierwsze 15 s) i do 5 obrazów stylu wimage_urls. Opisz docelowy styl, nie treść. - Wybór zachowania oryginalnego dźwięku producent udostępnia, ale w Kadrarisie tej opcji jeszcze nie ma - działa ustawienie domyślne producenta.
Prompt na start
Restyle this video as a hand-painted watercolor animation: soft paper texture, visible brush strokes, pastel colours, slightly wobbly outlines. Keep the original motion and camera movement.Do zlecenia dołącz obrazy stylu w jednej palecie i technice - spójny zestaw daje modelowi jednoznaczny wzorzec.
Pytania
Ile kosztuje HappyHorse 1.0?
od 1,86 zł za sekundę, z VAT - stawka zależy od rozdzielczości i długości. Nieudana generacja kosztuje 0 zł.
Mój film ma minutę. Przerobi całość?
Nie, wejście może mieć do 60 s, ale model przetwarza tylko jego pierwsze 15 sekund. Dłuższy materiał potnij na fragmenty.
HappyHorse 1.0 czy 1.1?
Nowszy HappyHorse 1.1 ma odwołania do referencji w prompcie i więcej proporcji, ale nie przerabia gotowego filmu. Do zmiany stylu nagrania zostań przy 1.0. Zestawienie z Seedance: HappyHorse 1.0 vs Seedance 2.0.
HappyHorse 1.0 w twoim kodzie
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));
Pola wejściowe
| Parametr | Typ | Dozwolone | Domyślnie |
|---|---|---|---|
prompt | string | ≤ 2500 znaków | |
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 | maks. 9 | |
video_url | string | ||
seed | integer |
Tę listę w JSON-ie dostaniesz z GET /v1/models/happyhorse-1.0.























