Video
MiniMax H3 Max
Erzeuge mit MiniMax H3 Max Clips von 5–15 Sekunden mit Ton in 480P oder 768P: Text zu Video, erster und letzter Frame sowie Referenzen, im offiziellen MiniMax-Anfrageformat, als Aufgabe geliefert.
MiniMax H3 Max ist die Variante von MiniMax H3 mit schnellerer Generierung. Eine Anfrage erstellt Bild und Ton zusammen: einen Clip von 5–15 Sekunden in 480P oder 768P mit eigenem Dialog, Ambiente und Effekten. Der Anfragekörper hat das offizielle MiniMax-Format mit der Modell-ID minimax-h3-max. Sende ihn, bewahre die zurückgegebene Aufgaben-ID auf und lies das fertige Video aus der Aufgabe. Frames und Referenzen werden als URLs übergeben.
Modell-IDs
| Modell-ID | Eingaben | Auflösungen | Länge |
|---|---|---|---|
minimax-h3-max | Text, erster und letzter Frame, Referenzbilder, Videos und Audio | 480P, 768P | 5–15 Sekunden |
Aktuelle Preise findest du auf der Modellseite.
Kurzes Beispiel
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3-max",
"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"
}'Endpunkt
POST https://api.seedrouter.ai/v1/videos/generations| Header | Wert |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
Die Antwort ist eine Aufgabe ({"id": "task_...", "status": "processing"}), nicht das fertige Video. Frage GET /v1/tasks/{task_id} für das Ergebnis ab. Bewahre API-Schlüssel im serverseitigen Code auf.
Parameter
| Feld | Typ | Standard | Hinweise |
|---|---|---|---|
model | string | erforderlich | minimax-h3-max |
content | array | erforderlich | Der Prompt und gegebenenfalls Medien als unten beschriebene Einträge. Genau ein nicht leerer text-Eintrag. |
resolution | enum | erforderlich | 480P oder 768P. |
duration | integer | erforderlich | Eine ganze Zahl von 5 bis 15 Sekunden. |
ratio | enum | nach Eingabe | adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. Bei reinem Text erforderlich; dort wird adaptive nicht akzeptiert. |
extra | object | weggelassen | Optionale Einstellungen für die Prompt-Erweiterung. |
extra.prompt_expansion_mode | enum | balanced | disabled, balanced oder quality. Wird das Objekt oder die Eigenschaft weggelassen, bleibt der Modellstandard erhalten. |
content_filter | boolean | true | Der unten beschriebene SeedRouter-Inhaltsfilter. Wird nicht an das Modell gesendet. |
Das Schema ist strikt: Unbekannte Felder werden abgelehnt statt ignoriert. callback_url ist nicht verfügbar; frage stattdessen die Aufgabe ab. extra ist ein optionales striktes Objekt, das nur prompt_expansion_mode enthält. Alle Felder lehnen null ab; lasse optionale Felder stattdessen weg.
Content-Einträge
type | Eintrag | role |
|---|---|---|
text | {"type": "text", "text": "..."}, bis zu 7.000 Zeichen | keine |
image_url | {"type": "image_url", "image_url": {"url": "https://..."}, "role": "..."} | first_frame, last_frame oder 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 |
Ein einzelnes Bild ohne role ist der erste Frame. Bei mehreren Bildern benötigt jedes Bild eine role.
Modi
Die Einträge in content bestimmen den Modus; es gibt kein Modusfeld.
| Modus | Inhalt von content | ratio |
|---|---|---|
| Text zu Video | ein text-Eintrag | erforderlich, nicht adaptive |
| Bild zu Video | text und ein first_frame- und/oder last_frame-Bild | jeder Wert wird als adaptive behandelt: Das Bild bestimmt das Format |
| Referenzen zu Video | text und eine beliebige Mischung aus bis zu 9 reference_image-, 3 reference_video- und 3 reference_audio-Einträgen | optional, Standard adaptive |
Frames und Referenzen lassen sich nicht in einer Anfrage kombinieren. Die offizielle Dokumentation führt die Eingabe nur eines letzten Frames auf, enthält aber auch die widersprüchliche Anforderung, ihn mit einem ersten Frame zu verbinden. Dieser Fall wurde auf SeedRouter nicht verifiziert. Nutze beide Frames, wenn ein Schlussbild benötigt wird.
{
"model": "minimax-h3-max",
"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": "768P",
"duration": 6
}Medieneingaben
Jeder Bild-, Video- und Audioeintrag ist eine öffentliche HTTP(S)-URL. Base64-Daten-URIs und mm_file://-IDs werden nicht akzeptiert: Lade die Datei in deinen eigenen Speicher hoch und übergib ihre URL.
| Eingabe | Format | Grenzen |
|---|---|---|
| Bild | JPG, JPEG, PNG, WebP, HEIC, HEIF | höchstens 30 MB; jede Seite 256–5760 px; Breite / Höhe 0,4–2,5 |
| Video | MP4, MOV (H.264 oder H.265) | höchstens 50 MB; jeweils 2–15 Sekunden, insgesamt 15 Sekunden; jede Seite 256–5760 px; Breite / Höhe 0,4–2,5; 23,976–60 fps |
| Audio | WAV, MP3 | höchstens 15 MB; jeweils 2–15 Sekunden, insgesamt 15 Sekunden |
Referenzvideos werden beim Annehmen der Anfrage vermessen; lässt sich ihre Länge nicht lesen, wird die Anfrage ohne Berechnung abgelehnt. Weitere Grenzen werden vor der Generierung geprüft; eine Anfrage, die eine Grenze verletzt, schlägt ohne Kosten fehl.
Inhaltsfilter
content_filter ist true, wenn du keinen Wert setzt. Bei aktiviertem Filter werden Anfrage, Text und Medien vor der Generierung geprüft. Eine beanstandete Anfrage schlägt mit Code 60001 fehl und wird nicht berechnet. Setze content_filter auf false, um die Prüfung zu überspringen; im Playground der Website bleibt sie immer aktiviert.
Preisbestandteile
Aktuelle Tarife findest du im Preisabschnitt des Modells. MiniMax H3 Max berechnet generierte Ausgabesekunden und Referenzvideosekunden separat nach Ausgabeauflösung. Die ersten zwei Bilder sind kostenlos; jedes weitere Bild verursacht Kosten.
output seconds = reported generated seconds
input seconds = reported reference-video seconds
extra images = max(0, reported input image count − 2)
cost = output seconds × output rate
+ input seconds × reference-video rate
+ extra images × image rateFür die endgültige Nutzung werden Referenzvideolängen addiert und auf die nächstgelegene ganze Sekunde gerundet. Zwei Clips von 2,4 Sekunden ergeben daher fünf Eingabesekunden. Referenz-Audio hat keinen Eingabepreis. Erster und letzter Frame zählen als Bilder; zwei Frames allein verursachen daher keine Bildkosten.
Die Playground-Schätzung rundet Referenzvideolängen auf, um die mögliche endgültige Berechnung abzudecken. Die endgültige Nutzung wird zum für deine Anfrage erfassten Tarif berechnet. Ist kein vollständiger Nutzungsbericht verfügbar, gilt die angenommene Schätzung. Kosten findest du im Nutzungsverlauf deines Kontos; öffentliche Aufgabenantworten enthalten keine Gebühren. Fehlgeschlagene Aufgaben werden nicht berechnet.
Ausgabeschema
Die Übermittlung gibt die Aufgabe zurück:
{"id": "task_...", "model": "minimax-h3-max", "status": "processing", "created_at": 1789689600}Aufgabe abrufen
GET https://api.seedrouter.ai/v1/tasks/{task_id}Frage alle 10–20 Sekunden ab, bis status den Wert completed oder failed hat. Ein Netzwerk-Timeout beim Abfragen bedeutet nicht, dass die Generierung fehlgeschlagen ist: Bewahre die Aufgaben-ID auf und setze die Prüfung fort. Erstelle keine weitere Aufgabe, um den Fortschritt zu prüfen.
Abgeschlossene Aufgabe
{
"id": "task_...",
"model": "minimax-h3-max",
"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 ist das Seitenverhältnis, in dem der Clip erstellt wurde, einschließlich des für adaptive gewählten Werts. Die Aufgabe enthält die tatsächliche Auflösung, das Seitenverhältnis und die Dauer, soweit gemeldet. Das JSON oben veranschaulicht die Antwortstruktur; es ist kein gemessenes Generierungsergebnis.
Fehler
Anfragen, die vor dem Erstellen einer Aufgabe abgelehnt werden, geben einen HTTP-Fehler mit einem error-Objekt zurück und werden nicht berechnet. Eine nach Annahme fehlgeschlagene Aufgabe gibt beim Abfragen HTTP 200 mit status: "failed" und einem error-Objekt zurück.
Im gemeinsamen Fehlerkatalog findest du Codes, HTTP-Statuswerte und Hinweise zu Wiederholungen.
{
"id": "task_...",
"model": "minimax-h3-max",
"status": "failed",
"error": {
"code": 60001,
"message": "the request was blocked by content moderation"
}
}Tritt beim Senden selbst ein Timeout auf, prüfe vor einem erneuten Senden deine Aufgaben: Die erste Anfrage wurde möglicherweise angenommen.
Tipps
- Beschreibe Einstellung und Ton zusammen: Motiv, Ort, Kamera, Licht, Dialog und Effekte.
- Schreibe Dialog in den Prompt und füge einen Referenz-Audioclip hinzu, wenn sich die Stimme daran orientieren soll.
- Erstelle einen Entwurf in
480Pund wähle768P, wenn du mehr Details brauchst. Jede neue Generierung ist eine eigene kostenpflichtige Anfrage. - Nutze
extra: {"prompt_expansion_mode": "disabled"}für einen bereits vollständigen Prompt oder wähle die Erweiterungbalanced/quality. - Steuere mit erstem und letztem Frame Anfang und Ende einer Einstellung; nutze Referenzen, um Produkt, Person oder Bewegung beizubehalten.
- Ergänze
no text, no logos, um erfundene Zeichen auszuschließen.
Weiterführendes
Vertragsquellen
Die Parameter folgen MiniMax’ Dokumentation zur Videogenerierung. SeedRouter verwendet eine eigene Modell-ID und asynchrone Aufgabenschnittstelle, Medien ausschließlich als URLs und gehostete Ergebnisse; Callbacks und Abbruch sind nicht verfügbar. content_filter ist eine SeedRouter-Erweiterung.
