Wprowadzenie
HappyHorse 1.1 Obraz na wideo animuje klatkę początkową podaną w image_url. Prompt jest wymagany i opisuje ruch, który następuje; klip trwa od 3 do 15 pełnych sekund w 720p lub 1080p z wygenerowaną ścieżką dźwiękową. Nie ma pola formatu kadru ani pola klatki końcowej: kształt wyznacza obraz, a zakończeniem jest to, do czego doprowadzi ruch opisany w prompcie.
Wybierz tryb według materiału początkowego
| Materiał początkowy | Tryb |
|---|---|
| napisana scena lub scenariusz | HappyHorse 1.1 Tekst na wideo |
| zatwierdzony obraz początkowy | HappyHorse 1.1 Obraz na wideo |
| od jednego do dziewięciu obrazów referencyjnych | HappyHorse 1.1 Referencje na wideo |
Najważniejsze funkcje
Obraz wyznacza postać i kształt
Klatka początkowa jest ściśle odwzorowywana, co czyni ten endpoint pewną drogą do dosłownego wyniku, także z klatkami źródłowymi bez cenzury. W przykładzie tailgate-turn strój, pick-up i światło z tyłu pochodzą z klatki, a prompt prosi tylko, by opuściła butelkę, raz machnęła butami i odwróciła głowę do niskiego słońca.
Brak klatki końcowej jako celu
Ten endpoint przyjmuje tylko image_url, więc ujęcia nie da się przypiąć do końcowej kompozycji. Najlepiej sprawdzają się ruchy, które same się domykają. Przykład quiet-hold to cztery sekundy niemal bezruchu: wydech, opadające ramię i przeniesienie ciężaru na framugę okna, prawie bez ruchu kamery.
Limity wejścia i wyjścia
Klatka początkowa musi mieć co najmniej 300 px na każdym boku, proporcje od 1:2,5 do 2,5:1 i rozmiar do 20 MB. Wynik trwa od 3 do 15 sekund, domyślnie 5, w 720p (domyślnie) lub 1080p, a ścieżka dźwiękowa zawsze powstaje razem z obrazem.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
prompt | Tak | Wymagany. Opisz to, co zmienia się po klatce – akcję, kamerę, tempo – a nie samą klatkę. od 1 znaków · do 2500 znaków |
image_url | Tak | Klatka początkowa. Ustala temat i kompozycję oraz wyznacza kształt wyniku. |
resolution | Nie | 720p albo 1080p. |
duration_seconds | Nie | Pełne sekundy, od 3 do 15. Nie ma klatki końcowej, więc ruch musi dać się domknąć w tym czasie. |
seed | Nie | Liczba całkowita od 0 do 2147483647 dla losowego startu; pominięta – każdy przebieg losuje własną. |
Cennik
| Specyfikacja | Cena |
|---|---|
| $0.14 / sekundę |
| $0.18 / sekundę |
Zastosowania
Animacja klatki bez cenzury lub starannie wyreżyserowanej
Ta droga podąża za klatką, którą dostaje, więc praca bez cenzury zaczyna się tutaj, a nie w text-to-video, które odrzuca prompty przekraczające jego granicę treści. Przekaż zaprojektowaną klatkę i opisz tylko ruch; postać pojawi się taka, jak ją narysowano lub sfotografowano, zamiast być na nowo interpretowana ze zdania.
Ruch otoczenia wokół zatrzymanej pozy
Przykład wasteland-hood-two zostawia dwie postacie na masce zepsutego auta i opisuje tylko to, co istnieje w ruchu: podarty materiał, który wiatr unosi i opuszcza, falujące rozgrzane powietrze, wiry pyłu przecinające drogę i powolny najazd. Wygenerowano go w 1080p z domyślną długością.
Krótkie wstawki i przebitki
Klip trzy- lub czterosekundowy z minimalnym ruchem kamery nadaje się na wstawki między dłuższymi ujęciami. Ogranicz akcję do jednego oddechu lub jednego gestu, jak w quiet-hold, żeby ruch zakończył się w ramach długości, a nie urwał w połowie.
Wskazówki
Daj promptowi tylko ruch
Prompt jest wymagany, więc używaj go do tego, co się zmienia: akcji, kamery i tempa. Prompt wasteland-hood-two nigdy nie opisuje kompozycji; opisuje wiatr, drgające powietrze i pył. Ponowny opis klatki zużywa limit 2500 znaków na to, co obraz już ustalił.
Dopasuj ruch do długości
Bez klatki końcowej ruch, który nie zdąży się zakończyć w wybranym czasie, po prostu zatrzymuje się tam, gdzie kończy się klip. Dopasuj akcję do długości: jeden gest do krótkiego klipu, krótka sekwencja w rodzaju „opuść, machnij, odwróć się” do dłuższego, tak jak robi to tailgate-turn w sześć sekund.
Przytnij przed wysłaniem
Obraz wyznacza kształt wyniku, więc najpierw przytnij go do docelowego formatu i sprawdź limity rozmiaru. Szkicuj w 720p, a do oddania powtórz w 1080p. Każdy przebieg daje własny dubel, więc podczas porównywania trzymaj treść bez zmian.
Szybki start z API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/happyhorse-1.1/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Uwierzytelnianie, pełny schemat, odpytywanie i obsługę błędów opisuje dokumentacja API.







