Wprowadzenie
Vidu Q4 Preview Przedłużanie wideo kontynuuje klip, który już masz. Wyślij go jako video_url razem z promptem opisującym, co dzieje się dalej. Ostatnia klatka Twojego klipu staje się klatką początkową nowego ujęcia image-to-video z Vidu Q4 Preview o długości od 3 do 16 sekund, a oba fragmenty łączą się w jeden plik MP4: najpierw Twój oryginał, potem ciąg dalszy, bez powtórzonej klatki na łączeniu. Nowy fragment wraca też jako osobny plik, więc możesz przedłużać dalej albo montować części osobno.
Najważniejsze funkcje
Ciągłość bierze się z ostatniej klatki. Ubiór, otoczenie, światło i ustawienie postaci się zachowują, bo nowy fragment dosłownie zaczyna się od Twojej ostatniej klatki. Ruch nie przenosi się w ten sam sposób: model widzi jedną nieruchomą klatkę, a nie cały klip. Opisz więc ruch, który ma trwać dalej, zamiast zakładać, że zachowa tempo czy kierunek.
W odpowiedzi dostajesz jeden plik i osobno nowy fragment. Połączony MP4 zachowuje liczbę klatek na sekundę i kadrowanie Twojego klipu, bez czarnych pasów. Aby dopasować łączenie, obraz może zostać przycięty lub skorygowany o kilka procent przy krawędziach. Jeśli model zwróci wyraźnie inne proporcje, nowy fragment zostanie przeskalowany tak, aby wypełnić Twój kadr, i wyśrodkowany, a to, co wystaje, zostanie przycięte. Plik jest kodowany jako MP4 H.264 z dźwiękiem AAC. Dźwięk ze źródła zostaje, dźwięk wygenerowany dla nowego fragmentu następuje po nim, a cicha strona jest uzupełniana ciszą, żeby obraz i dźwięk szły w parze na łączeniu. Drugi zasób na wyjściu to sam nowy fragment, gotowy do kolejnego przedłużenia lub do edytora.
Cała reszta to obraz–wideo Vidu Q4 Preview. Nowy segment działa na tych samych trasach, z tym samym zakresem treści i tą samą ceną za sekundę co endpoint obraz–wideo, a nieudane generowanie jest zwracane w ten sam sposób. Dotyczy to także odmów: żądania poziomu Bardzo silny są odrzucane, a odrzucone żądania nie są obciążane. Jeśli generowanie się uda, ale połączenia nie da się zbudować, zadanie kończy się błędem i obciążenie jest zwracane.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
prompt | Tak | Wymagany, do 20 000 znaków. Co dzieje się dalej: kolejna akcja, ruch kamery i dźwięk. od 1 znaków · do 20000 znaków |
video_url | Tak | Klip do kontynuowania: MP4, MOV lub WebM, do 60 sekund. Jego ostatnia klatka staje się klatką początkową nowego fragmentu, więc utnij go na czystej, ostrej klatce. od 1 znaków |
resolution | Nie | Ostrość wygenerowanego nowego fragmentu: 540p, 720p, 1080p, 2k lub 4k, domyślnie 720p. |
duration_seconds | Nie | Długość nowego fragmentu: dowolna liczba całkowita od 3 do 16. Domyślnie 5. |
generate_audio | Nie | Domyślnie włączone, więc nowy fragment dostaje wygenerowany dźwięk. Domyślnie: |
enable_prompt_expansion | Nie | Domyślnie wyłączone. Po włączeniu model przepisuje i rozbudowuje prompt przed generowaniem; zostaw wyłączone przy dosłownych wytycznych. Domyślnie: |
seed | Nie | Od 0 do 2147483647. Trzymaj stałą, aby porównywać zmieniając jedno pole naraz; usuń, jeśli chcesz różnorodności. |
Cennik
Opłata za każdą sekundę nowego fragmentu w wybranej rozdzielczości; wysłany klip źródłowy nie jest rozliczany. Odrzucone zapytania nie są rozliczane.
| Specyfikacja | Cena |
|---|---|
| $0.045 / sekundę |
| $0.095 / sekundę |
| $0.12 / sekundę |
| $0.19 / sekundę |
| $0.39 / sekundę |
Zastosowania
Wydłuż ujęcie, które skończyło się za wcześnie: talerz obrotowy z produktem, który staje, zanim etykieta spojrzy w kamerę, albo spacer ucięty, zanim postać dojdzie do drzwi. Przedłuż o kilka sekund i opisz tylko pozostały ruch.
Buduj dłuższą sekwencję krok po kroku. Wygeneruj pierwsze ujęcie, przedłuż je, a potem przedłuż połączony wynik jeszcze raz, dopóki mieści się w limicie 60 sekund dla źródła; każdy krok rozlicza tylko dodane sekundy. Ponieważ każdy krok zaczyna się od jednej klatki, sprawdź każde łączenie, zanim dołożysz następne.
Wskazówki
Opisz kolejny moment, a nie całą scenę. Klatka już ustala, kto i gdzie, więc prompt poświęć na kolejną akcję, ruch kamery i dźwięk. Powtórz język kamery, którym skończył się Twój klip, na przykład powolny najazd albo statyczny kadr, żeby łączenie wyglądało jak jedno ujęcie.
Przytnij przed przedłużeniem. Ostatnia klatka to jedyne, co widzi model, więc rozmyte, ucięte w pół ruchu lub mocno skompresowane zakończenie przechodzi wprost do kontynuacji. Najpierw utnij źródło na czystej, ostrej klatce. Akceptowane są źródła do 60 sekund w formacie MP4, MOV lub WebM.
Zachowaj spójną rozdzielczość. Rozdzielczość decyduje tylko o tym, jak ostry jest generowany nowy segment, więc niższe ustawienie sprawia, że nowa część wygląda miękciej niż oryginał. Dopasuj rozdzielczość do źródła i ustaw duration_seconds na długość, której naprawdę potrzebujesz: opłata dotyczy wyłącznie nowego segmentu.
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": "vidu/q4-preview/video-extend",
"input": {
"duration_seconds": 5,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p",
"video_url": "https://example.com/reference.mp4"
}
}'
# 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.




