Claude Opus 5.5 jest już dostępny w SeedRouter
SeedRouter Docs

MiniMax H3

Generuj w MiniMax H3 4–15-sekundowe klipy z dźwiękiem w 768P lub 2K: tekst na wideo, pierwsza i ostatnia klatka oraz referencje na wideo, w oficjalnym formacie żądania MiniMax, z dostarczeniem przez zadanie.

View Markdown

MiniMax H3 (Hailuo 03) to multimodalny model wideo od MiniMax. Jedno żądanie tworzy obraz i dźwięk razem: 4–15-sekundowy klip w 768P lub 2K z własnymi dialogami, tłem dźwiękowym i efektami. Treść żądania ma oficjalny format MiniMax z ID modelu minimax-h3. Wyślij żądanie, zachowaj zwrócony identyfikator zadania i odczytaj gotowe wideo z tego zadania. Klatki i referencje przekazujesz jako adresy URL.

ID modeli

ID modeluDane wejścioweRozdzielczościDługość
minimax-h3tekst, pierwsza i ostatnia klatka, obrazy, wideo i audio referencyjne768P, 2K4–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": "minimax-h3",
    "content": [
      {"type": "text", "text": "A small sailboat glides across a calm turquoise bay at sunrise, seagulls in the distance, the sound of water and wind. No text, no logos."}
    ],
    "resolution": "768P",
    "duration": 5,
    "ratio": "16:9"
  }'

Punkt końcowy

POST https://api.seedrouter.ai/v1/videos/generations
NagłówekWartość
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/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

PoleTypDomyślnieUwagi
modelstringwymaganeminimax-h3
contentarraywymaganePrompt i ewentualne media jako elementy opisane poniżej. Dokładnie jeden niepusty element text.
resolutionenumwymagane768P lub 2K.
durationintegerwymaganeDowolna liczba całkowita od 4 do 15 sekund.
ratioenumzależnie od danych wejściowychadaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. Wymagane przy samym tekście, gdzie adaptive nie jest akceptowane.
content_filterbooleantrueFiltr treści SeedRouter, opisany poniżej. Nie jest przesyłany do modelu.

Schemat jest ścisły: nieznane pola są odrzucane, a nie ignorowane. callback_url nie jest dostępne; zamiast tego odpytuj zadanie. extra należy do MiniMax-H3-Max i nie jest akceptowane w tym modelu.

Elementy content

typeElementrole
text{"type": "text", "text": "..."}, do 7000 znakówbrak
image_url{"type": "image_url", "image_url": {"url": "https://..."}, "role": "..."}first_frame, last_frame lub reference_image
video_url{"type": "video_url", "video_url": {"url": "https://..."}, "role": "reference_video"}reference_video
audio_url{"type": "audio_url", "audio_url": {"url": "https://..."}, "role": "reference_audio"}reference_audio

Pojedynczy obraz bez role jest pierwszą klatką. Przy więcej niż jednym obrazie każdy obraz wymaga role.

Tryby

O trybie decydują elementy w content; nie ma pola trybu.

Trybcontent zawieraratio
Tekst na wideojeden element textwymagane, nie adaptive
Obraz na wideotext oraz obraz first_frame i/lub last_framekażda wartość jest traktowana jako adaptive: proporcje wyznacza obraz
Referencje na wideotext oraz dowolne połączenie maksymalnie 9 elementów reference_image, 3 reference_video i 3 reference_audioopcjonalne, domyślnie adaptive

Klatek i referencji nie można łączyć w jednym żądaniu.

{
  "model": "minimax-h3",
  "content": [
    {"type": "text", "text": "The person in the photo speaks to camera: Follow the wind. Voice follows the reference audio."},
    {"type": "image_url", "image_url": {"url": "https://example.com/person.jpg"}, "role": "reference_image"},
    {"type": "audio_url", "audio_url": {"url": "https://example.com/voice.mp3"}, "role": "reference_audio"}
  ],
  "resolution": "2K",
  "duration": 6
}

Dane wejściowe multimediów

Każdy element obrazu, wideo i audio to publiczny adres URL HTTP(S). Dane base64 (data URI) ani identyfikatory mm_file:// nie są przyjmowane: prześlij plik do własnego magazynu i przekaż jego adres URL.

Dane wejścioweFormatLimity
ObrazJPG, JPEG, PNG, WebP, HEIC, HEIFDo 30 MB; każdy bok 256–5760 px; szerokość / wysokość 0,4–2,5
WideoMP4, MOV (H.264 lub H.265)Do 50 MB; każde 2–15 sekund, łącznie 15 sekund; każdy bok 256–5760 px; szerokość / wysokość 0,4–2,5; 23,976–60 fps
AudioWAV, MP3Do 15 MB; każde 2–15 sekund, łącznie 15 sekund

Wideo referencyjne są mierzone w chwili przyjęcia żądania; wideo, którego długości nie da się odczytać, jest odrzucane i nic nie jest naliczane. Pozostałe limity są sprawdzane przed generowaniem, a żądanie, które narusza któryś z nich, kończy się niepowodzeniem bez opłat.

Filtr treści

content_filter ma wartość true, dopóki jej nie zmienisz. Przy włączonym filtrze tekst, każdy obraz i trzy klatki każdego wideo referencyjnego (pierwsza, środkowa i ostatnia) są sprawdzane, zanim model zacznie działać. Zablokowane żądanie kończy się niepowodzeniem z kodem 60001 i nie jest naliczane; tak samo żądanie, którego nie da się sprawdzić. Audio referencyjne nie jest sprawdzane. Ustaw content_filter na false, aby pominąć sprawdzanie; Playground na stronie zawsze pozostawia je włączone.

Czynniki wpływające na koszt

Aktualne stawki znajdziesz w sekcji cen modelu. MiniMax H3 jest rozliczany za sekundę wideo według stawki zależnej od rozdzielczości wyjściowej, plus obrazy wejściowe powyżej pierwszych pięciu:

billed seconds = duration + ceil(Σ each reference video's seconds)
extra images   = max(0, number of images − 5)
cost = billed seconds × rate per second + extra images × rate per image

Pierwsze klatki, ostatnie klatki i obrazy referencyjne liczą się jako obrazy. Audio referencyjne nie jest naliczane. Obie wielkości są znane 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": "minimax-h3", "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": "minimax-h3",
  "status": "completed",
  "created_at": 1789689600,
  "finished_at": 1789689740,
  "output": {
    "video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4",
    "resolution": "768P",
    "ratio": "16:9",
    "duration": 5
  }
}

ratio to proporcje obrazu, w jakich powstał klip, w tym proporcje wybrane dla adaptive. W naszym teście 4-sekundowy klip 768P przy 16:9 wrócił jako MP4 (H.264) w rozdzielczości 1344 × 768 i 24 fps, ze stereofoniczną ścieżką AAC 32 kHz.

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": "minimax-h3",
  "status": "failed",
  "error": {
    "code": 60001,
    "message": "the request was blocked by content moderation"
  }
}

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

  • Opisuj ujęcie i jego dźwięk razem: obiekt, miejsce, kamerę, światło, dialogi i efekty.
  • Wpisz dialog do promptu i dołącz referencyjny klip audio, gdy głos ma za nim podążać.
  • Przygotuj wersję roboczą w 768P, a potem wyrenderuj finalne ujęcie w 2K tym samym żądaniem.
  • Użyj pierwszej i ostatniej klatki, aby kontrolować, gdzie ujęcie się zaczyna i kończy; użyj referencji, aby zachować produkt, osobę lub ruch.
  • Dodaj no text, no logos, aby w kadrze nie pojawiały się wymyślone oznaczenia.

Powiązane