SD Video
Generuj w SD Video 5–15-sekundowe klipy z dopasowanymi dialogami i dźwiękiem: tekst na wideo, obraz na wideo i referencje na wideo w 480p lub 768p, z dostarczeniem przez zadanie.
SD Video to model generowania wideo SeedRouter, zbudowany na MiniMax H3. Jedno żądanie tworzy całą scenę, obraz i dźwięk razem: 5–15-sekundowy klip z własnymi dialogami, tłem dźwiękowym i efektami. Wyślij żądanie, zachowaj zwrócony identyfikator zadania i odczytaj gotowe wideo z tego zadania. Pierwsze klatki i referencje przekazujesz jako adresy URL.
ID modeli
| ID modelu | Tryby | Rozdzielczości | Długość |
|---|---|---|---|
sd-video | text_to_video, image_to_video, reference_to_video | 480p, 768p | 5–15 sekund |
Aktualne ceny znajdziesz na stronie modelu.
Krótki przykład
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd-video",
"mode": "text_to_video",
"prompt": "A lighthouse keeper in a wool coat stands on a wet stone pier at dawn and says, \"The fog lifts at seven.\" Locked-off shot, waves slapping the stones, no music.",
"duration": 5,
"resolution": "768p",
"aspect_ratio": "16:9"
}'Punkt końcowy
POST https://api.seedrouter.ai/v1/videos/generations| Nagłówek | Wartość |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
Odpowiedź to zadanie ({"id": "task_...", "status": "processing"}), a nie gotowe wideo. Wynik odczytasz, odpytując GET /v1/tasks/{task_id}. Klucze API trzymaj w kodzie po stronie serwera.
Parametry
| Pole | Typ | Domyślnie | Uwagi |
|---|---|---|---|
model | string | wymagane | sd-video |
mode | enum | reference_to_video | text_to_video, image_to_video, reference_to_video. Akceptowane są też skróty t2v, i2v i ref2va. |
prompt | string | wymagane | Od 1 do 32 000 znaków. Opisuje obraz i dźwięk. |
duration | integer | 5 | Dowolna liczba całkowita od 5 do 15 sekund. |
resolution | enum | 768p | 480p lub 768p. |
aspect_ratio | enum | zależnie od trybu | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, a w reference_to_video także adaptive. image_to_video dopasowuje się do pierwszej klatki. |
prompt_enhancement | enum | turbo | turbo, quality lub disabled. |
seed | integer | losowy | 32-bitowa liczba bez znaku. Ustaw ją, aby powtórzyć ujęcie. |
image | referencja | Tylko image_to_video, gdzie jest wymagane. Pierwsza klatka. | |
reference_images | array | [] | Tylko reference_to_video. Do 9. |
reference_videos | array | [] | Tylko reference_to_video. Do 3. |
reference_audio | array | [] | Tylko reference_to_video. Do 3. |
Schemat jest ścisły: nieznane pola są odrzucane, a nie ignorowane. callback_url i callback_id nie są dostępne; zamiast tego odpytuj zadanie.
Tryby
mode określa, na podstawie czego model generuje wideo. Każdy tryb ma własne pola; pole z innego trybu zwraca 400, jeśli ma wartość (pusta lista lub null przechodzi).
| Tryb | Wymaga | Przyjmuje |
|---|---|---|
text_to_video | prompt | pola wspólne |
image_to_video | prompt i image | image jako pierwszą klatkę |
reference_to_video (domyślny) | prompt i co najmniej jeden obraz lub wideo referencyjne | reference_images, reference_videos, reference_audio |
image_to_video traktuje obraz dosłownie jako pierwszą klatkę, więc klip zaczyna się dokładnie tak, jak wygląda ten kadr. Aby umieścić produkt lub osobę we własnej scenie, użyj reference_to_video i opisz scenę wokół nich.
Referencje i etykiety w prompcie
W reference_to_video kolejność na liście staje się etykietą, której używasz w prompcie. Pierwszy element reference_images to <Picture 1>, drugi to <Picture 2>; pierwszy element reference_videos to <Video 1> i tak dalej. Obrazy, wideo i audio są numerowane niezależnie. Ulepszanie promptu może przeformułować resztę promptu, ale nie te etykiety; ustaw prompt_enhancement na disabled, aby zachować tekst dokładnie w takiej postaci, w jakiej go napisano.
{
"model": "sd-video",
"mode": "reference_to_video",
"prompt": "A supervisor wearing the harness in <Picture 1> stands still and speaks to camera.",
"reference_images": [{ "type": "url", "url": "https://example.com/harness.jpg" }],
"duration": 10
}Dane wejściowe multimediów
Każda referencja, a także pierwsza klatka w image_to_video, to obiekt z publicznym adresem URL HTTP(S):
{ "type": "url", "url": "https://example.com/photo.jpg" }| Dane wejściowe | Maksymalny rozmiar |
|---|---|
| Obraz | 16 MB |
| Wideo lub audio | 32 MB |
Najwyżej 9 obrazów, 3 wideo i 3 klipy audio, łącznie 12 referencji. Dane base64 i identyfikatory zasobów nie są przyjmowane: prześlij plik do własnego magazynu i przekaż jego adres URL. Adres URL musi być osiągalny bez przekierowań.
Czynniki wpływające na koszt
Aktualne stawki znajdziesz w sekcji cen modelu. SD Video jest rozliczany za sekundę wideo, według stawki zależnej od trybu i rozdzielczości wyjściowej:
billed seconds = duration (text_to_video, image_to_video)
billed seconds = duration + ceil(Σ min(each reference video's seconds, 5)) (reference_to_video)
cost = billed seconds × rate per secondKażde wideo referencyjne dodaje swoją długość, maksymalnie 5 sekund; dłuższy klip nadal dodaje 5. Obrazy referencyjne i audio referencyjne nie są naliczane. Wideo referencyjne są mierzone w chwili przyjęcia żądania, więc zarezerwowana kwota jest kwotą naliczoną. Ostateczne opłaty zobaczysz w historii zużycia swojego konta. Nieudane zadania nie są naliczane.
Schemat odpowiedzi
Wysłanie zwraca zadanie:
{"id": "task_...", "model": "sd-video", "status": "processing", "created_at": 1789689600}Pobieranie zadania
GET https://api.seedrouter.ai/v1/tasks/{task_id}Odpytuj co 10–20 sekund, aż status przyjmie wartość completed lub failed. Przekroczenie limitu czasu sieci podczas odpytywania nie oznacza, że generowanie się nie powiodło: zachowaj identyfikator zadania i wznów sprawdzanie. Nie twórz kolejnego zadania, aby sprawdzić postęp.
Zadanie zakończone
{
"id": "task_...",
"model": "sd-video",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689720,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4",
"duration": 5,
"width": 1344,
"height": 768,
"aspect_ratio": "16:9",
"seed": 42
}
}Wideo to MP4 (H.264) w 24 fps ze stereofonicznym dźwiękiem AAC 32 kHz. Przy jawnie podanym aspect_ratio rozmiar jest stały:
aspect_ratio | 768p | 480p |
|---|---|---|
21:9 | 1536 × 672 | 960 × 416 |
16:9 | 1344 × 768 | 832 × 480 |
4:3 | 1024 × 768 | 640 × 480 |
1:1 | 768 × 768 | 480 × 480 |
3:4 | 768 × 1024 | 480 × 640 |
9:16 | 768 × 1344 | 480 × 832 |
text_to_video domyślnie używa 16:9. reference_to_video domyślnie używa adaptive: proporcji pierwszego obrazu referencyjnego albo pierwszego wideo referencyjnego, gdy nie ma obrazów. image_to_video zawsze dopasowuje się do pierwszej klatki, łącznie z jej orientacją EXIF; aby zmienić proporcje, przytnij obraz. Klip adaptive zachowuje proporcje źródła, przeskalowane do krótszej krawędzi danej rozdzielczości, z każdym bokiem zaokrąglonym do wielokrotności 32, i raportuje aspect_ratio jako skrócony stosunek pikseli, na przykład 23:15.
Zakończone zadanie raportuje użyty seed. Ten sam prompt i seed zwracają ten sam klip; jeśli pominiesz seed, każde żądanie wybierze nowy.
Błędy
Żądania odrzucone przed utworzeniem zadania zwracają błąd HTTP wraz z obiektem error i nie są naliczane. Zadanie, które zawiodło po przyjęciu, przy odpytaniu zwraca HTTP 200 z status: "failed" i obiektem error.
Kody, statusy HTTP i wskazówki dotyczące ponawiania znajdziesz we wspólnym katalogu błędów.
{
"id": "task_...",
"model": "sd-video",
"status": "failed",
"error": {
"code": 60001,
"message": "The request was rejected by the content policy. Please revise the prompt or input images."
}
}Jeśli limit czasu został przekroczony przy samym wysyłaniu, przed ponownym wysłaniem sprawdź swoje zadania: pierwsze żądanie mogło już zostać przyjęte.
Wskazówki
- Pisz długie prompty. Kilkaset znaków lub więcej daje lepsze wyniki; za szczegóły nie ma kary.
- Podawaj kamerę, nie nastrój: korpus, obiektyw i przysłona zmieniają obraz, a „cinematic” nie robi prawie nic.
- Opisz dźwięk: tło akustyczne pomieszczenia, efekty i ich odległość. Napisz
no music, jeśli nie chcesz podkładu muzycznego. Dialog mieści się w tempie około 2,5 słowa na sekundę. - Dodaj
no logos, brand names, printed words or badges anywhere in frame, aby w kadrze nie pojawiały się wymyślone oznaczenia. - Napisy niech będą krótkie i zapisane dokładnie; zaznacz, że to jedyny napis w kadrze.
- Stawiaj na bezruch: jeden obiekt, jedno miejsce, statyczna kamera. Zbliżenia na pracę rąk oraz miękki ruch, np. włosów lub papieru, to najsłabsze obszary.
- Aby dopracować ujęcie, ustal
seedi zmieniaj po jednym fragmencie promptu.
