Przejdź do treści głównej

Przewodnik wdrożeniowy

Ożyw kadr, któremu już ufasz.

Przejście z obrazu na wideo usuwa najtrudniejszą zmienną – jak wygląda scena – i zastępuje ją węższą: jak ma się poruszać. Klatka referencyjna wykonuje większość pracy, dlatego słabej referencji nie uratuje żaden prompt.

Wyzwanie

Klatka referencyjna przesądza o większości wyniku

Endpointy ruchu dziedziczą po pierwszej klatce wszystko: kompozycję, światło, proporcje, artefakty. Miękka albo źle wykadrowana referencja daje miękki, źle wykadrowany klip – i płacisz za niego stawkę wideo.

01

Niezgodne proporcje kosztują po cichu

Jeśli referencja jest 1:1, a prosisz o klip 16:9, endpoint musi dodać pasy, przyciąć albo rozciągnąć obraz. Dopasuj referencję do aspect_ratio albo resolution, o które prosisz, przed wysłaniem, a nie po zapłaceniu za ujęcie.

02

Część endpointów przyjmuje też klatkę końcową

Tam, gdzie zadeklarowano last_image_url, podanie obu końców daje określony początek i koniec zamiast swobodnego dryfu. Tam, gdzie tego pola nie ma, wysłanie go kończy się kodem 400.

03

Pola ruchu istnieją tylko tam, gdzie model je deklaruje

movement_amplitude, camera_fixed, fps i duration_seconds pojawiają się zależnie od endpointu, a schemat zaznacza, które z nich ruszają stawkę. Pod spodem nie ma wspólnego słownika ruchu.

Podejście

Najpierw zablokuj kadr, dopiero potem zapłać za ruch

Dopracuj kadr, korzystając z endpointu obrazu, gdzie jedna iteracja kosztuje grosze, zablokuj go i dopiero wtedy płać za ruch. Przekazanie zatwierdzonego pliku spicy:// utrzymuje referencję identyczną co do bajtu między kolejnymi próbami, więc powtórka startuje dokładnie z tych samych pikseli.

Treść to wywołanie tworzące z polem obrazu. Część śledząca jest identyczna jak w każdym innym zadaniu multimedialnym.

POST /api/v1/jobs/createTask

POST /api/v1/jobs/createTask
Authorization: Bearer $SPICY_API_KEY
Idempotency-Key: 7b1f0c2e-9a4d-4f31-8c67-2b5e0d9a1c44
Content-Type: application/json
{
  "model": "<publisher>/<model>/image-to-video",
  "input": {
    "prompt": "Slow push-in, fabric moving in a light breeze",
    "image_url": "https://example.com/reference.png",
    "duration_seconds": 5,
    "resolution": "720p"
  },
  "callBackUrl": "https://example.com/hooks/spicyapi"
}

202 Accepted

HTTP/1.1 202 Accepted
Location: /api/v1/jobs/recordInfo?taskId=job_01k3m8x9q2z4v7n5p6r8s0t1w3

{
  "code": 200,
  "msg": "success",
  "request_id": "req_example_create",
  "data": {
    "taskId": "job_01k3m8x9q2z4v7n5p6r8s0t1w3",
    "state": "queued",
    "estimatedCost": "0.750000"
  }
}

Kontrakt

Co warto ustalić na starcie

API obraz na wideo: ożyw nieruchomą klatkę — Co warto ustalić na starcie
Pole lub nagłówekWartość lub limit
image_url · last_image_urldeclared per endpoint
POST /api/v1/jobs/retrynew task · source record untouched
statequeued · running · succeeded · failed · expired
audio / video upload≤ 100 MiB · ≤ 600 s

Przesuń w poziomie, żeby zobaczyć wszystkie kolumny.

Integracja

Od pierwszego wywołania do produkcji

  1. 01Przygotuj albo prześlij klatkę referencyjną w tych proporcjach, w jakich zamierzasz renderować.
  2. 02Sprawdź w schemacie endpointu pola image_url, duration_seconds, resolution i te pola ruchu, które deklaruje.
  3. 03Wyceń, a potem wyślij z nagłówkiem Idempotency-Key i adresem wywołania zwrotnego, i zapisz taskId razem z referencją.
  4. 04Przy końcowym wywołaniu zwrotnym pobierz output.assets i zachowaj referencję obok klipu, żeby powtórka była możliwa.

Dopasowanie

Kiedy ta droga jest właściwa

Wybierz to, gdy

  • Kierunek artystyczny jest już zamknięty w kadrze i chcesz ruchu bez ponownego losowania sceny.
  • Ta sama postać albo ten sam produkt musi wyglądać identycznie w każdym publikowanym klipie.

Poszukaj gdzie indziej, gdy

  • Scena jeszcze nie istnieje. Iterowanie na nieruchomych obrazach jest o rząd wielkości tańsze niż iterowanie na klipach.
  • Potrzebujesz ciągłości przez wiele ujęć. Te endpointy zwracają krótkie klipy, po jednym ujęciu naraz.

Dowody

Co możesz sprawdzić samodzielnie

Referencje obsługujemy wszędzie tak samo

Adresy HTTPS, zatwierdzone pliki spicy:// i osadzone data URI zachowują się tak samo na endpointach obrazu i wideo, przy tych samych limitach i tych samych kontrolach przy przyjęciu.

Ponowienie tworzy nowe zadanie i nigdy nie zmienia starego

POST /api/v1/jobs/retry buduje świeże zadanie z nieudanego albo wygasłego i ponownie sprawdza schemat, cenę, uprawnienia i dostępność. Rekord źródłowy zostaje dokładnie taki, jaki był.

Jedna maszyna stanów obejmuje całe wdrożenie

queued, running, succeeded, failed, expired. Pięć tych samych słów opisuje każdy endpoint multimedialny, więc logikę przejść piszesz raz.

Przed startem

Zachowania platformy do potwierdzenia

  • Dopasuj proporcje referencji do zamawianego wyniku przed startem, a nie w zgłoszeniach do wsparcia.
  • Utrzymuj referencję osiągalną przez cały czas życia zadania, nie tylko w momencie wysyłki.
  • Daj ponowieniom własny zakres idempotentności – ponowienie to nowe zadanie, a nie powtórka starego.
  • Wlicz stawki wideo w dzienny limit wydatków klucza, wymagany przy każdym nowym kluczu.

FAQ

O co pytają na tej stronie

To twoja decyzja i twoja odpowiedzialność prawna. Platforma nie bada przesłanych plików pod kątem tożsamości, a regulamin składa zgodę i prawa po stronie klienta.

Co dalej

Wypróbuj endpoint obraz na wideo

Zamień obraz referencyjny w klip. Co robią jakość pierwszej klatki, niezgodne proporcje, pola ruchu i długość – z wynikiem i z ceną.

Powiązane przewodniki