Media-API – Bilder, Videos, Musik
Generieren Sie Bilder, Videos und Musik mit demselben Schlüssel sk-nr-… und vom selben Guthaben wie bei Textmodellen. Einheitliche Abrechnung, Zahlung nach Verbrauch, ohne Abos oder Pakete.
- Basis:
https://nordrouter.com(oderhttps://global-api.nordrouter.comfür internationale Netzwerke). - Authentifizierung: Header
Authorization: Bearer sk-nr-…(oderX-API-Key: sk-nr-…). - Format: JSON, asynchrone Generierung (Aufgabe erstellen → Status abfragen → Datei abrufen).
Endpunkte
| Methode | Zweck |
|---|---|
POST /media/generate | Generierungsaufgabe erstellen |
GET /media/job/:id | Status und Ergebnis der Aufgabe |
POST /media/estimate | Preis einer Konfiguration im Voraus ermitteln |
GET /media/models | Maschinenlesbare Liste der Modelle und Parameter |
POST /media/upload | Quelldatei hochladen |
GET /media/file/:id | Fertige Datei (Link aus result_url) |
Ablauf einer Anfrage
1. Aufgabe erstellen
curl https://nordrouter.com/media/generate \
-H "Authorization: Bearer sk-nr-YOUR-KEY" -H "Content-Type: application/json" \
-d '{ "model": "video/kling-2.6-i2v",
"input": { "prompt": "плавный наезд камеры", "image": "https://…/photo.png", "duration": "5", "audio": true } }'{ "id": "b1f2…", "model": "video/kling-2.6-i2v", "status": "processing", "poll": "https://nordrouter.com/media/job/b1f2…" }2. Status abfragen (alle 3–5 Sekunden)
curl https://nordrouter.com/media/job/b1f2…{ "id": "b1f2…", "status": "done", "result_url": "https://nordrouter.com/media/file/b1f2…", "cost_usd": 0.55, "error": null }3. Datei abrufen – über result_url. Der Link verweist auf nordrouter.com (Ihre Marke); Dateien werden 14 Tage gespeichert und danach gelöscht. Laden Sie sie rechtzeitig herunter oder speichern Sie sie an einem eigenen Speicherort.
Quelldateien für Medien hochladen
Die Felder image, image2, audio_url und video_url akzeptieren einen direkten öffentlichen Link. Modelle mit dem Feld attachments akzeptieren ein Array von Objekten, die von POST /media/upload zurückgegeben wurden: Senden Sie { "data": "data:audio/mpeg;base64,…", "name": "track.mp3" } und übergeben Sie anschließend die gesamte Antwort des Uploads in input.attachments. Für Suno können Sie stattdessen eine öffentliche URL in input.source_url übergeben, für Mashups zwei URLs in input.source_urls.
Abrechnung
Die Kosten werden von Ihrem Guthaben in US-Dollar abgezogen (demselben wie bei Textmodellen) – nach erfolgreicher Generierung und genau in Höhe der unten aufgeführten Tabellenpreise.
- Reservierung → tatsächliche Kosten. Beim Erstellen der Aufgabe wird eine Kostenschätzung reserviert. Nach Abschluss wird der Betrag anhand des tatsächlichen Ergebnisses neu berechnet; der Überschuss wird Ihrem Guthaben gutgeschrieben.
- Videos – Abrechnung pro Sekunde. Der Preis steigt mit Dauer und Auflösung; aktivierter Ton kostet mehr. Die Tabellen zeigen den Preis „ab“ für die Standardeinstellungen;
/Sek.kennzeichnet den Tarif pro Sekunde. - Fehler werden nicht berechnet. Wird eine Aufgabe mit dem Status
failedbeendet, wird die gesamte Reservierung erstattet. Sie zahlen nur für erfolgreiche Generierungen. - Den genauen Preis im Voraus ermitteln –
POST /media/estimatemit denselben Werten fürmodelundinputgibt vor dem Start{ "usd": … }zurück. - Guthaben wird in Rubel aufgeladen (≈ $1 = 89–96 ₽); anschließend wird alles in USD berechnet.
Modellkatalog
Preis: Bei Video gilt der Preis pro Sekunde (/Sek.), Gesamtkosten = Preis × Dauer (Auflösung und Audio können den Preis ändern); bei allen anderen Modellen gilt der Preis pro Generierung mit Standardeinstellungen. Den genauen Preis für jede Konfiguration liefert POST /media/estimate.
input kann weitere Felder enthalten. Die maschinenlesbare Liste (Typen, Optionen, Standardwerte und Sekundenbereiche) liefert immer GET /media/models. Pflichtfelder sind mit * gekennzeichnet. Alle zusätzlichen Modellfelder (negative_prompt, seed, cfg_scale usw.) können direkt in input gesendet werden.
Frühere Parameternamen
Am 19. Oktober 2026 erhielten die Parameter einheitliche Namen und Werte: snake_case, Werte in Kleinbuchstaben (zum Beispiel version: "v6-wild", resolution: "720p", audio: true). Namen und Werte aus der früheren Dokumentationsversion werden weiterhin akzeptiert – ältere Integrationen müssen nicht geändert werden: Aufgabe, Ergebnis und Preis bleiben gleich. In GET /media/models, MCP und dieser Dokumentation werden nur die neuen Namen verwendet. Wenn die Anfrage sowohl den früheren als auch den neuen Namen desselben Parameters enthält, gilt der neue.
🖼 Bilder
model | Modus | Parameter input | Datei | Preis |
|---|---|---|---|---|
image/nano-banana | Text→Bild | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3|3:2|2:3|21:9|auto, safety_filter=bool | PNG | $0.025 |
image/nano-banana-2 | Text→Bild | prompt *, aspect_ratio=auto|1:1|16:9|9:16|3:4|4:3|21:9, resolution=1k|2k|4k, image=url, safety_filter=bool | PNG | $0.050 |
image/nano-banana-2-lite | Text→Bild | prompt *, aspect_ratio=auto|1:1|16:9|9:16|3:4|4:3, image=url, safety_filter=bool | PNG | $0.025 |
image/nano-banana-pro | Text→Bild | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3|21:9|auto, resolution=1k|2k|4k, image=url, safety_filter=bool | PNG | $0.11 |
image/imagen4-fast | Text→Bild | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.025 |
image/imagen4 | Text→Bild | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.050 |
image/imagen4-ultra | Text→Bild | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.075 |
image/gpt-image-1.5 | Text→Bild | prompt *, aspect_ratio=1:1|2:3|3:2, quality=medium|high, safety_filter=bool | PNG | $0.025 |
image/gpt-image-1.5-edit | Bildbearbeitung | prompt *, image=url *, aspect_ratio=3:2|1:1|2:3, quality=medium|high, safety_filter=bool | PNG | $0.025 |
image/gpt-image-2 | Text→Bild | prompt *, aspect_ratio=1:1|3:2|2:3|16:9|9:16|4:3|3:4, resolution=1k|2k|4k | PNG | $0.006 |
image/gpt-image-2-edit | Bildbearbeitung | prompt *, image=url *, aspect_ratio=auto|1:1|3:2|2:3|16:9|9:16, resolution=1k|2k|4k, safety_filter=bool | PNG | $0.037 |
image/flux2-pro | Text→Bild | prompt *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|3:2|2:3, resolution=1k|2k, safety_filter=bool | PNG | $0.031 |
image/flux2-pro-edit | Bildbearbeitung | prompt *, image=url *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|3:2|2:3|auto, resolution=1k|2k, safety_filter=bool | PNG | $0.031 |
image/flux2-flex | Text→Bild | prompt *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|3:2|2:3, resolution=1k|2k, safety_filter=bool | PNG | $0.087 |
image/flux2-flex-edit | Bildbearbeitung | prompt *, image=url *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|3:2|2:3|auto, resolution=1k|2k, safety_filter=bool | PNG | $0.087 |
image/seedream-edit | Bildbearbeitung | prompt *, image=url *, aspect_ratio=1:1-hd|1:1|3:4|9:16|4:3|16:9, resolution=1k|2k|4k, safety_filter=bool | PNG | $0.037 |
image/seedream-4.5-edit | Bildbearbeitung | prompt *, image=url *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|2:3|3:2, quality=basic|high, safety_filter=bool | PNG | $0.044 |
image/seedream-5-lite-edit | Bildbearbeitung | prompt *, image=url *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|2:3|3:2, quality=basic|high, safety_filter=bool | PNG | $0.037 |
image/seedream-5.0-pro-edit | Bildbearbeitung | prompt *, image=url *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|2:3|3:2|21:9, quality=basic|high, safety_filter=bool | PNG | $0.044 |
image/ideogram-v3 | Text→Bild | prompt *, render_mode=fast|balanced|quality, aspect_ratio=1:1-hd|1:1|3:4|9:16|4:3|16:9, style=auto|general|realistic|design, safety_filter=bool | PNG | $0.044 |
image/ideogram-edit | Bildbearbeitung | prompt *, image=url *, render_mode=fast|balanced|quality, aspect_ratio=1:1-hd|1:1|3:4|9:16|4:3|16:9, safety_filter=bool | PNG | $0.044 |
image/ideogram-character | Bildbearbeitung | prompt *, image=url *, render_mode=fast|balanced|quality, style=auto|realistic|fiction, safety_filter=bool | PNG | $0.11 |
image/qwen | Text→Bild | prompt *, aspect_ratio=1:1-hd|1:1|3:4|9:16|4:3|16:9, safety_filter=bool | PNG | $0.031 |
image/qwen-edit | Bildbearbeitung | prompt *, image=url *, aspect_ratio=1:1-hd|1:1|3:4|9:16|4:3|16:9, safety_filter=bool | PNG | $0.037 |
image/qwen-i2i | Bildbearbeitung | prompt *, image=url *, safety_filter=bool | PNG | $0.031 |
image/qwen2-edit | Bildbearbeitung | prompt *, image=url *, aspect_ratio=16:9|1:1|3:4|4:3|9:16|3:2|2:3, safety_filter=bool | PNG | $0.037 |
image/grok | Text→Bild | prompt *, aspect_ratio=1:1|2:3|3:2|16:9|9:16, pro=bool, safety_filter=bool | PNG | $0.025 |
image/grok-edit | Bildbearbeitung | prompt *, image=url *, safety_filter=bool | PNG | $0.025 |
image/z-image | Text→Bild | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.006 |
image/wan-2.7 | Text→Bild | prompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4|21:9, resolution=1k|2k|4k, image=url, safety_filter=bool | PNG | $0.031 |
image/wan-2.7-pro | Text→Bild | prompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4|21:9, resolution=1k|2k|4k, image=url, safety_filter=bool | PNG | $0.075 |
image/seedream-5.0-pro | Text→Bild | prompt * | JPG | $0.013 |
image/gemini-3.1-flash | Text→Bild | prompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4, resolution=1k|2k|4k | PNG | $0.013 |
image/gemini-3-pro | Text→Bild | prompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4, resolution=1k|2k|4k | PNG | $0.031 |
🎬 Video
model | Modus | Parameter input | Datei | Preis |
|---|---|---|---|---|
video/veo-3.1-fast | Text→Video | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $0.38 |
video/veo-3.1-quality | Text→Video | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $1.56 |
video/veo-3.1-lite | Text→Video | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $0.19 |
video/gemini-omni | Text→Video | prompt *, duration=4|6|8|10 *, aspect_ratio=16:9|9:16, resolution=720p|1080p|4k, image=url, safety_filter=bool | MP4 | $0.66 |
video/gemini-omni-flash | Text→Video | prompt *, attachments=upload[] | MP4 | $0.13 |
video/kling-3.0 | Text→Video | prompt *, duration=3–15 Sek., aspect_ratio=16:9|9:16|1:1, mode=standard|pro|4k, audio=bool, image=url, image2=url, safety_filter=bool | MP4 | $0.11/Sek. |
video/kling-t2v | Text→Video | prompt *, duration=3–15 Sek., aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=bool | MP4 | $0.11/Sek. |
video/kling-turbo-i2v | Foto→Video | prompt *, image=url *, duration=3–15 Sek., resolution=720p|1080p, safety_filter=bool | MP4 | $0.11/Sek. |
video/kling-2.6-t2v | Text→Video | prompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, audio=bool, safety_filter=bool | MP4 | $0.34 |
video/kling-2.6-i2v | Foto→Video | prompt *, image=url *, duration=5|10, audio=bool, safety_filter=bool | MP4 | $0.34 |
video/kling-2.5-t2v | Text→Video | prompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, safety_filter=bool | MP4 | $0.26 |
video/kling-2.5-i2v | Foto→Video | prompt *, image=url *, image2=url, duration=5|10, safety_filter=bool | MP4 | $0.26 |
video/kling-i2v | Foto→Video | prompt *, image=url *, image2=url, duration=5|10, safety_filter=bool | MP4 | $0.31 |
video/kling-2.1-standard | Foto→Video | prompt *, image=url *, duration=5|10, safety_filter=bool | MP4 | $0.16 |
video/kling-2.1-master-t2v | Text→Video | prompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, safety_filter=bool | MP4 | $1.00 |
video/kling-2.1-master-i2v | Foto→Video | prompt *, image=url *, duration=5|10, safety_filter=bool | MP4 | $1.00 |
video/kling-motion | Video→Video | image=url *, video_url *, prompt, mode=standard|pro | MP4 | $1.25 |
video/kling-avatar | Avatar (Foto+Audio) | image=url *, audio_url *, prompt * | MP4 | $0.75 |
video/kling-avatar-pro | Avatar (Foto+Audio) | image=url *, audio_url *, prompt * | MP4 | $1.50 |
video/wan-2.7-t2v | Text→Video | prompt *, duration=2–15 Sek., aspect_ratio=16:9|9:16|1:1|4:3|3:4, resolution=720p|1080p, audio_url, safety_filter=bool | MP4 | $0.15/Sek. |
video/wan-2.7-i2v | Foto→Video | prompt *, image=url *, image2=url, duration=2–15 Sek., resolution=720p|1080p, audio_url, safety_filter=bool | MP4 | $0.15/Sek. |
video/wan-2.7-r2v | Foto→Video | prompt *, image=url *, duration=2–10 Sek., aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=bool | MP4 | $0.15/Sek. |
video/wan-2.7-edit | Video→Video | prompt *, video_url *, resolution=720p|1080p, audio_source=auto|original | MP4 | $1.50 |
video/wan-t2v | Text→Video | prompt *, duration=5|10|15, resolution=720p|1080p, safety_filter=bool | MP4 | $0.44 |
video/wan-i2v | Foto→Video | prompt *, image=url *, duration=5|10|15, resolution=720p|1080p, safety_filter=bool | MP4 | $0.44 |
video/wan-v2v | Video→Video | prompt *, video_url *, duration=5|10, resolution=720p|1080p | MP4 | $0.44 |
video/wan-2.5-t2v | Text→Video | prompt *, duration=5|10 *, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=bool | MP4 | $0.38 |
video/wan-2.5-i2v | Foto→Video | prompt *, image=url *, duration=5|10 *, resolution=720p|1080p, safety_filter=bool | MP4 | $0.38 |
video/wan-2.2-t2v | Text→Video | prompt *, aspect_ratio=16:9|9:16, resolution=480p|720p, safety_filter=bool | MP4 | $0.50 |
video/wan-2.2-i2v | Foto→Video | prompt *, image=url *, resolution=480p|720p, safety_filter=bool | MP4 | $0.50 |
video/wan-s2v | Avatar (Foto+Audio) | prompt *, image=url *, audio_url *, resolution=480p|580p|720p | MP4 | $0.38 |
video/wan-animate-move | Video→Video | image=url *, video_url *, resolution=480p|580p|720p | MP4 | $0.38 |
video/wan-animate-replace | Video→Video | image=url *, video_url *, resolution=480p|580p|720p | MP4 | $0.38 |
video/seedance-2 | Text→Video | prompt *, duration=4–15 Sek., aspect_ratio=16:9|9:16|1:1|4:3|21:9, resolution=480p|720p|1080p|4k, audio=bool, image=url, image2=url, safety_filter=bool | MP4 | $0.26/Sek. |
video/seedance-2-fast | Text→Video | prompt *, duration=4–15 Sek., aspect_ratio=16:9|9:16|1:1, resolution=480p|720p, audio=bool, image=url, image2=url, safety_filter=bool | MP4 | $0.21/Sek. |
video/seedance-2-mini | Text→Video | prompt *, duration=4–15 Sek., aspect_ratio=16:9|9:16|1:1, resolution=480p|720p, audio=bool, image=url, image2=url, safety_filter=bool | MP4 | $0.13/Sek. |
video/seedance-1.5-pro | Text→Video | prompt *, duration=4–12 Sek., aspect_ratio=16:9|9:16|1:1|4:3, resolution=480p|720p|1080p, audio=bool, image=url, safety_filter=bool | MP4 | $0.025/Sek. |
video/hailuo-02-t2v | Text→Video | prompt *, duration=6|10, safety_filter=bool | MP4 | $0.19 |
video/hailuo-02-t2v-pro | Text→Video | prompt *, safety_filter=bool | MP4 | $0.36 |
video/hailuo-02-i2v | Foto→Video | prompt *, image=url *, image2=url, duration=6|10, resolution=768p|512p, safety_filter=bool | MP4 | $0.19 |
video/hailuo-02-i2v-pro | Foto→Video | prompt *, image=url *, image2=url, safety_filter=bool | MP4 | $0.36 |
video/hailuo-2.3-i2v | Foto→Video | prompt *, image=url *, duration=6|10, resolution=768p|1080p, safety_filter=bool | MP4 | $0.19 |
video/hailuo-2.3-i2v-pro | Foto→Video | prompt *, image=url *, duration=6|10, resolution=768p|1080p, safety_filter=bool | MP4 | $0.28 |
video/happyhorse-1.1-t2v | Text→Video | prompt *, duration=3–15 Sek., aspect_ratio=16:9|9:16|1:1|4:3|3:4, resolution=720p|1080p, safety_filter=bool | MP4 | $0.18/Sek. |
video/happyhorse-1.1-i2v | Foto→Video | prompt, image=url *, duration=3–15 Sek., resolution=720p|1080p, safety_filter=bool | MP4 | $0.18/Sek. |
video/happyhorse-1.1-r2v | Foto→Video | prompt *, image=url *, duration=3–15 Sek., aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=bool | MP4 | $0.18/Sek. |
video/happyhorse-t2v | Text→Video | prompt *, duration=3–15 Sek., aspect_ratio=16:9|9:16|1:1|4:3|3:4, resolution=720p|1080p, safety_filter=bool | MP4 | $0.30/Sek. |
video/happyhorse-i2v | Foto→Video | prompt, image=url *, duration=3–15 Sek., resolution=720p|1080p, safety_filter=bool | MP4 | $0.30/Sek. |
video/happyhorse-edit | Video→Video | prompt *, video_url *, resolution=720p|1080p, audio_source=auto|original | MP4 | $1.50 |
video/grok-t2v | Text→Video | prompt *, duration=6–30 Sek., aspect_ratio=16:9|9:16|1:1|3:2|2:3, resolution=480p|720p, mode=normal|fun|spicy, safety_filter=bool | MP4 | $0.019/Sek. |
video/grok-i2v | Foto→Video | prompt *, image=url *, duration=6–30 Sek., resolution=480p|720p, mode=normal|fun|spicy, safety_filter=bool | MP4 | $0.019/Sek. |
video/grok-1.5 | Text→Video | prompt *, duration=1–15 Sek., aspect_ratio=auto|16:9|9:16|1:1, resolution=480p|720p, image=url, safety_filter=bool | MP4 | $0.019/Sek. |
video/omnihuman | Avatar (Foto+Audio) | image=url *, audio_url *, prompt, resolution=720p|1080p | MP4 | $1.69 |
video/infinitalk | Avatar (Foto+Audio) | prompt *, image=url *, audio_url *, resolution=480p|720p | MP4 | $0.19 |
video/lipsync | Video→Video | video_url *, audio_url *, mode=lite|basic | MP4 | $0.50 |
video/topaz-upscale | Upscaling | video_url *, scale=2|4 | MP4 | $0.50 |
🎵 Musik
model | Modus | Parameter input | Datei | Preis |
|---|---|---|---|---|
music/suno-v5 | Musik | title *, style *, version=v6|v6-wild|v6-mini, instrumental=bool, prompt | MP3 | $0.075 |
music/suno-cover | Musik | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, instrumental=bool, advanced=bool, title, style, duration=10–360 Sek. | MP3 | $0.075 |
music/suno-extend-upload | Musik | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, continue_from=1–120, instrumental=bool | MP3 | $0.075 |
music/suno-add-vocals | Musik | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, style, title, exclude_styles, vocal=female|male | MP3 | $0.075 |
music/suno-add-instrumental | Musik | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, title, exclude_styles | MP3 | $0.075 |
music/suno-mashup | Musik | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, instrumental=bool, advanced=bool, title, style, duration=10–360 Sek. | MP3 | $0.075 |
music/suno-sounds | Musik | prompt *, version=v6|v6-wild|v6-mini, loop=bool, bpm=auto|60|80|100|120|140|160, tonality=auto|C|Dm|Em|F|G|Am|D#m | MP3 | $0.016 |
🎙 Audio
model | Modus | Parameter input | Datei | Preis |
|---|---|---|---|---|
audio/gemini-3.1-flash-tts | Sprachsynthese | text *, voice=Achernar|Achird|Algenib|Algieba|Alnilam|Aoede|Autonoe|Callirrhoe|Charon|Despina|Enceladus|Erinome|Fenrir|Gacrux|Iapetus|Kore|Laomedeia|Leda|Orus|Puck|Pulcherrima|Rasalgethi|Sadachbia|Sadaltager|Schedar|Sulafat|Umbriel|Vindemiatrix|Zephyr|Zubenelgenubi, style=vocal-smile|newscaster|whisper|empathetic|promo-hype|deadpan, pace=natural|fast|slow|staccato, accent=neutral|american|american-valley|american-south|british|british-brixton|transatlantic|australian, voice_description, scene, temperature=0–2 | WAV | $0.006 |
audio/gemini-2.5-pro-tts | Sprachsynthese | text *, voice=Achernar|Achird|Algenib|Algieba|Alnilam|Aoede|Autonoe|Callirrhoe|Charon|Despina|Enceladus|Erinome|Fenrir|Gacrux|Iapetus|Kore|Laomedeia|Leda|Orus|Puck|Pulcherrima|Rasalgethi|Sadachbia|Sadaltager|Schedar|Sulafat|Umbriel|Vindemiatrix|Zephyr|Zubenelgenubi, style=vocal-smile|newscaster|whisper|empathetic|promo-hype|deadpan, pace=natural|fast|slow|staccato, accent=neutral|american|american-valley|american-south|british|british-brixton|transatlantic|australian, voice_description, scene, temperature=0–2 | WAV | $0.006 |
audio/elevenlabs-tts | Sprachsynthese | text *, voice=james|addison|adeline|allison|ana-rita|anika|arabella|aria|bella|benjamin|bradford|brian|britney|brittney|brock|burt|callum|cassidy|ed|edward|emma|eve|felix|finn|hank|hope-poetic|hope-bubbly|horatius|jamahal|jean|jeff|jessica-eloquent|jessica-chatty|john-doe|john-morgan|johnny-dynamite|johnny-kid|kuon|laura|leon|liam|lucy|lutz|mark-casual|mark-natural|marshal|monika|nathan|nathaniel|phil|rachel|rex-thunder|sam|spuds|sven|taksh|theodore|tiffany|tom|viking-bjorn|viraj-smooth|viraj-rich|wyatt|xavier, voice_id, speed=0.8|1.0|1.2 | MP3 | $0.037 |
audio/elevenlabs-multilingual | Sprachsynthese | text *, voice=james|addison|adeline|allison|ana-rita|anika|arabella|aria|bella|benjamin|bradford|brian|britney|brittney|brock|burt|callum|cassidy|ed|edward|emma|eve|felix|finn|hank|hope-poetic|hope-bubbly|horatius|jamahal|jean|jeff|jessica-eloquent|jessica-chatty|john-doe|john-morgan|johnny-dynamite|johnny-kid|kuon|laura|leon|liam|lucy|lutz|mark-casual|mark-natural|marshal|monika|nathan|nathaniel|phil|rachel|rex-thunder|sam|spuds|sven|taksh|theodore|tiffany|tom|viking-bjorn|viraj-smooth|viraj-rich|wyatt|xavier, voice_id, speed=0.8|1.0|1.2 | MP3 | $0.075 |
🧊 3D-Modelle
Ausgabe: GLB (bei einigen Modellen wahlweise OBJ, FBX, STL, USDZ, USD, 3MF) sowie ein Vorschaubild: Ein Auftrag kann mehrere Dateien enthalten, jeweils mit eigener Erweiterung. Die Dateiliste steht im Feld results; jede Datei hat ein ext.
Preis erst nach der Generierung bekannt
3D wird nach den tatsächlich verbrauchten Ressourcen abgerechnet. Wir reservieren den Höchstbetrag aus der Tabelle und ziehen, sobald die tatsächlichen Kosten feststehen, den entsprechenden Betrag ab und erstatten die Differenz. Der endgültige Betrag steht immer in cost_usd.
model | Modus | Parameter input | Datei | Preis |
|---|---|---|---|---|
3d/tripo-text | Text→3D | prompt *, negative_prompt, texture_detail=standard|high, geometry_detail=standard|high, pbr=bool, quad_mesh=bool | GLB/FBX | $0.31–0.79 |
3d/tripo-image | Foto→3D | image=url *, texture_detail=standard|high, geometry_detail=standard|high, pbr=bool, quad_mesh=bool | GLB/FBX | $0.31–0.79 |
3d/hunyuan-rapid-text | Text→3D | prompt *, file_format=glb|obj|fbx|stl|usdz, pbr=bool, extra_mesh=bool | GLB u. a. | $0.43–0.71 |
3d/hunyuan-rapid-image | Foto→3D | image=url *, file_format=glb|obj|fbx|stl|usdz, pbr=bool, extra_mesh=bool | GLB u. a. | $0.43–0.71 |
3d/hunyuan-pro-text | Text→3D | prompt *, output=textured|mesh, polygons=auto|40000|100000|300000|800000|1500000, pbr=bool | GLB | $0.71–1.00 |
3d/hunyuan-pro-image | Foto→3D | image=url *, output=textured|mesh, polygons=auto|40000|100000|300000|800000|1500000, pbr=bool | GLB | $0.71–1.00 |
3d/seed3d-image | Foto→3D | image=url *, mesh_detail=low|medium|high, file_format=glb|obj|usd|usdz | GLB/OBJ/USD | $0.50 |
3d/meshy-text | Text→3D | prompt *, texture_size=2k|4k|8k, pose=none|a-pose|t-pose, ultra=bool, pbr=bool, texture_text, texture_photo=url | GLB | $0.94–1.26 |
3d/meshy-image | Foto→3D | image=url *, texture_size=2k|4k|8k, ultra=bool, texture=bool, pbr=bool, texture_text, texture_photo=url | GLB | $0.94–1.26 |
3d/meshy-multi-image | Ansichten→3D | images=[url] * (1–4), texture_size=2k|4k|8k, ultra=bool, texture=bool, pbr=bool, texture_text | GLB | $0.94–1.26 |
Foto als Textur. Bei 3d/meshy-* wird die Textur unabhängig von der Geometrie festgelegt: als Bild über texture_photo oder als Text über texture_text.
Dauer. 3D-Generierungen dauern von einer halben Minute bis zu mehreren Minuten – länger als Bilder und kurze Clips. Die Verbindung muss nicht offen bleiben: Der Status wird gespeichert, und Webhooks sind verfügbar.
🛠 Dienstprogramme
model | Modus | Parameter input | Datei | Preis |
|---|---|---|---|---|
image/topaz-upscale | Upscaling | image=url *, scale=2|4|8 | PNG | $0.063 |
image/recraft-remove-bg | Bearbeitung | image=url * | PNG | $0.006 |
image/recraft-upscale | Upscaling | image=url * | PNG | $0.006 |
Beispiele nach Modus
Bild aus Text
{ "model": "image/flux2-pro", "input": { "prompt": "neon fox in snow", "aspect_ratio": "16:9", "resolution": "2k" } }Bildbearbeitung
{ "model": "image/seedream-edit", "input": { "prompt": "Hintergrund entfernen, Neon hinzufügen", "image": "https://…/photo.png" } }Foto→Video (erstes/letztes Bild, Dauer, Ton)
{ "model": "video/wan-2.7-i2v", "input": {
"prompt": "sanfte Kamerafahrt nach vorn", "image": "https://…/first.png",
"image2": "https://…/last.png", "duration": 8, "resolution": "1080p" } }Musik
{ "model": "music/suno-v5", "input": { "title": "Northern Lights", "style": "epic orchestral", "instrumental": true, "version": "v6" } }Sprachausgabe
{ "model": "audio/gemini-3.1-flash-tts", "input": {
"text": "Hallo, Welt", "voice": "Zephyr", "style": "empathetic",
"pace": "natural", "accent": "neutral" } }Dialog mit zwei Stimmen — statt des Felds text stehen die Äußerungen in dialogue, die Stimmen in voices (Stimme 1 ist die erste in der Liste):
{ "model": "audio/gemini-3.1-flash-tts", "input": {
"voices": [ { "voice": "Kore", "style": "newscaster" }, { "voice": "Puck", "pace": "fast" } ],
"dialogue": [ { "speaker": 1, "text": "Guten Abend!" }, { "speaker": 2, "text": "Freut mich, Sie zu hören." } ] } }Avatar (sprechendes Video aus Foto + Audio)
{ "model": "video/omnihuman", "input": { "image": "https://…/face.png", "audio_url": "https://…/voice.mp3" } }Status und Fehler
GET /media/job/:id → Feld status:
| Status | Bedeutung |
|---|---|
processing | Wird verarbeitet — Abfragen fortsetzen |
done | Fertig — Datei unter result_url, Abrechnung in cost_usd |
failed | Fehler — Ursache in error, Geld wurde zurückerstattet |
Antwortcodes von POST /media/generate: 400 — unbekanntes Modell oder erforderliches Feld fehlt; 401 — Schlüssel fehlt/ungültig; 402 — unzureichendes Guthaben; 403 — Modell für das Konto nicht verfügbar.
Der Fehlerbody hat immer dasselbe Format — { "error": "menschenlesbarer Text", "code": "Maschinencode" }. Codes: unknown_model, missing_param (+ Feld param), invalid_input, invalid_attachment, prompt_too_long, input_too_long, no_auth, no_key, insufficient_balance, unpaid_shortfall, rate_limited, generation_failed, unavailable.
Kosten vorab schätzen
curl https://nordrouter.com/media/estimate \
-H "Authorization: Bearer sk-nr-YOUR-KEY" -H "Content-Type: application/json" \
-d '{ "model": "video/kling-3.0", "input": { "duration": 10, "mode": "pro", "audio": true } }'{ "model": "video/kling-3.0", "usd": 1.6875 }Die Parameter in den Tabellen wurden mit dem Servicekatalog vom 19.10.2026 abgeglichen; die vollständige aktuelle Liste der Modelle, Parameter und Preise gibt es unter GET /media/models.