MiniMax H3
Mit MiniMax H3 4–15 Sekunden lange Clips mit Ton in 768P oder 2K erzeugen: Text zu Video, erster und letzter Frame sowie Referenz zu Video, im offiziellen Anfrageformat von MiniMax, geliefert als Aufgabe.
MiniMax H3 (Hailuo 03) ist das multimodale Videomodell von MiniMax. Eine Anfrage erzeugt Bild und Ton zusammen: einen 4–15 Sekunden langen Clip in 768P oder 2K mit eigenem Dialog, Ambiente und Effekten. Der Anfragekörper ist das offizielle Format von MiniMax mit der Modell-ID minimax-h3. Sende ihn, behalte die zurückgegebene Aufgaben-ID 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 | Text, erster und letzter Frame, Referenzbilder, -videos und -audio | 768P, 2K | 4–15 Sekunden |
Aktuelle Preise findest du auf der Modellseite.
Kurzbeispiel
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"
}'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. Frag GET /v1/tasks/{task_id} ab, um das Ergebnis zu erhalten. Bewahre API-Schlüssel in serverseitigem Code auf.
Parameter
| Feld | Typ | Standardwert | Hinweise |
|---|---|---|---|
model | string | Pflicht | minimax-h3 |
content | array | Pflicht | Der Prompt und eventuelle Medien, als unten beschriebene Einträge. Genau ein nicht leerer text-Eintrag. |
resolution | enum | Pflicht | 768P oder 2K. |
duration | integer | Pflicht | Jede ganze Zahl von 4 bis 15 Sekunden. |
ratio | enum | je nach Eingabe | adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. Pflicht bei reinem Text, wo adaptive nicht akzeptiert wird. |
content_filter | boolean | true | Der Inhaltsfilter von SeedRouter, unten beschrieben. Wird nicht an das Modell gesendet. |
Das Schema ist strikt: Unbekannte Felder werden abgelehnt statt ignoriert. callback_url ist nicht verfügbar; frag stattdessen die Aufgabe ab. extra gehört zu MiniMax-H3-Max und wird für dieses Modell nicht akzeptiert.
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 mehr als einem Bild braucht jedes Bild eine role.
Modi
Die Einträge in content bestimmen den Modus; es gibt kein Modusfeld.
| Modus | content enthält | ratio |
|---|---|---|
| Text zu Video | einen text-Eintrag | Pflicht, nicht adaptive |
| Bild zu Video | text plus ein first_frame- und/oder last_frame-Bild | jeder Wert wird als adaptive behandelt: Das Bild bestimmt das Format |
| Referenz zu Video | text plus 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 in einer Anfrage nicht kombinieren.
{
"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
}Medieneingaben
Jeder Bild-, Video- und Audioeintrag ist eine öffentliche HTTP(S)-URL. Base64-Data-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; je 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; je 2–15 Sekunden, insgesamt 15 Sekunden |
Referenzvideos werden bei der Annahme der Anfrage gemessen; ein Video, dessen Länge sich nicht lesen lässt, wird abgelehnt, ohne dass etwas berechnet wird. Die übrigen Grenzen werden vor der Erzeugung geprüft, und eine Anfrage, die eine davon verletzt, schlägt ohne Kosten fehl.
Inhaltsfilter
content_filter ist true, sofern du es nicht anders setzt. Mit aktivem Filter werden der Text, jedes Bild und drei Frames jedes Referenzvideos (erster, mittlerer und letzter) geprüft, bevor das Modell startet. Eine markierte Anfrage schlägt mit dem Code 60001 fehl und wird nicht berechnet; dasselbe gilt für eine Anfrage, die sich nicht prüfen lässt. Referenz-Audio wird nicht geprüft. Setze content_filter auf false, um die Prüfung zu überspringen; der Playground auf der Website lässt ihn immer aktiv.
Kostenfaktoren
Die aktuellen Preise findest du im Preisabschnitt des Modells. MiniMax H3 wird pro Sekunde Video abgerechnet, zu einem Tarif, der von der Ausgabeauflösung abhängt, zuzüglich der Eingabebilder ab dem sechsten:
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 imageErste Frames, letzte Frames und Referenzbilder zählen alle als Bilder. Referenz-Audio wird nicht berechnet. Beide Mengen stehen bei der Annahme der Anfrage fest, sodass der reservierte Betrag dem berechneten entspricht. Die endgültigen Kosten siehst du im Nutzungsverlauf deines Kontos. Fehlgeschlagene Aufgaben werden nicht berechnet.
Ausgabeschema
Beim Senden wird die Aufgabe zurückgegeben:
{"id": "task_...", "model": "minimax-h3", "status": "processing", "created_at": 1789689600}Aufgabe abrufen
GET https://api.seedrouter.ai/v1/tasks/{task_id}Frag alle 10–20 Sekunden ab, bis status den Wert completed oder failed hat. Eine Zeitüberschreitung des Netzwerks während der Abfrage bedeutet nicht, dass die Erzeugung fehlgeschlagen ist: Behalte die Aufgaben-ID und setze die Prüfung fort. Erstelle keine weitere Aufgabe, um den Fortschritt zu prüfen.
Abgeschlossene Aufgabe
{
"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 ist das Seitenverhältnis, in dem der Clip erzeugt wurde, einschließlich des für adaptive gewählten. In unserem Test kam ein 4-Sekunden-Clip in 768P mit 16:9 als MP4 (H.264) mit 1344 × 768 und 24 fps zurück, mit einer Stereo-AAC-Spur mit 32 kHz.
Fehler
Anfragen, die vor der Erstellung einer Aufgabe abgelehnt werden, geben einen HTTP-Fehler mit einem error-Objekt zurück und werden nicht berechnet. Eine Aufgabe, die nach der Annahme fehlschlägt, gibt bei der Abfrage HTTP 200 zurück, zusammen mit status: "failed" und einem error-Objekt.
Codes, HTTP-Status und Hinweise zu Wiederholungen findest du im gemeinsamen Fehlerkatalog.
{
"id": "task_...",
"model": "minimax-h3",
"status": "failed",
"error": {
"code": 60001,
"message": "the request was blocked by content moderation"
}
}Kommt es beim Senden selbst zu einer Zeitüberschreitung, prüfe deine Aufgaben, bevor du erneut sendest: Die erste Anfrage wurde möglicherweise bereits angenommen.
Tipps
- Beschreibe die Einstellung und ihren Ton zusammen: Motiv, Ort, Kamera, Licht, Dialog und Effekte.
- Schreib den Dialog in den Prompt und häng einen Referenz-Audioclip an, wenn die Stimme ihm folgen soll.
- Erstelle Entwürfe in
768Pund rendere die finale Einstellung dann mit derselben Anfrage in2K. - Nutze einen ersten und einen letzten Frame, um festzulegen, wo eine Einstellung beginnt und endet; nutze Referenzen, um ein Produkt, eine Person oder eine Bewegung beizubehalten.
- Füge
no text, no logoshinzu, um erfundene Zeichen fernzuhalten.
