Media API — rasmlar, videolar, musiqa
Matn modellari bilan bir xil sk-nr-… kaliti va balans orqali rasmlar, videolar va musiqa yarating. Yagona hisob, ishlatilganiga qarab to‘lov, obunalar va paketlarsiz.
- Asosiy manzil:
https://nordrouter.com(yoki xorijiy tarmoqlar uchunhttps://global-api.nordrouter.com). - Autentifikatsiya:
Authorization: Bearer sk-nr-…sarlavhasi (yokiX-API-Key: sk-nr-…). - Format: JSON, generatsiya asinxron (vazifa yaratish → holatini tekshirish → faylni olish).
Endpointlar
| Metod | Maqsad |
|---|---|
POST /media/generate | Generatsiya vazifasini yaratish |
GET /media/job/:id | Vazifa holati va natijasi |
POST /media/estimate | Konfiguratsiya narxini oldindan bilish |
GET /media/models | Modellar va parametrlarning mashina o‘qiy oladigan ro‘yxati |
POST /media/upload | Boshlang‘ich mediafaylni yuklash |
GET /media/file/:id | Tayyor fayl (result_url dagi havola) |
So‘rovning hayot sikli
1. Vazifa yaratish
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. Holatni tekshirish (har 3–5 soniyada)
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. Faylni olish — result_url orqali. Havola nordrouter.com domeniga tegishli (brendingiz); fayllar 14 kun saqlanadi, keyin o‘chiriladi. Ularni oldindan yuklab oling yoki o‘z saqlash joyingizga ko‘chiring.
Boshlang‘ich mediafayllarni yuklash
image, image2, audio_url va video_url maydonlari to‘g‘ridan-to‘g‘ri ochiq havolani qabul qiladi. attachments maydoniga ega modellar POST /media/upload qaytargan obyektlar massivini qabul qiladi: { "data": "data:audio/mpeg;base64,…", "name": "track.mp3" } yuboring, so‘ng yuklovchining to‘liq javobini input.attachments ga uzating. Suno uchun buning o‘rniga input.source_url ga ochiq URL, mashup uchun esa input.source_urls ga ikkita URL uzatishingiz mumkin.
Hisob-kitob
To‘lovlar dollar balansingizdan (matn modellari bilan bir xil balans) muvaffaqiyatli generatsiya bajarilgandan keyingina, quyidagi jadvallarda ko‘rsatilgan aniq summa miqdorida yechiladi.
- Zaxira → yakuniy summa. Vazifa yaratilganda taxminiy narx zaxiraga olinadi; vazifa tugagach, summa haqiqiy natija asosida qayta hisoblanadi, ortiqcha qismi balansga qaytariladi.
- Video — soniyasiga hisoblanadi. Narx davomiylik va ruxsatga qarab oshadi; ovoz yoqilgan bo‘lsa, qimmatroq bo‘ladi. Jadvallarda standart sozlamalar uchun «dan boshlab» narxi ko‘rsatilgan,
/sekbelgisi esa soniyalik tarifni bildiradi. - Xatolik uchun haq olinmaydi. Vazifa
failedholati bilan tugasa, zaxira to‘liq qaytariladi. Faqat muvaffaqiyatli generatsiyalar uchun to‘laysiz. - Aniq narxni oldindan bilish uchun
POST /media/estimatega aynimodel+inputni yuboring; ishga tushirishdan oldin{ "usd": … }qaytadi. - Balansni rubl bilan to‘ldirish mumkin (≈ $1 = 89–96 ₽); keyingi barcha hisob-kitoblar USD da amalga oshiriladi.
Modellar katalogi
Narx: video uchun soniyasiga stavka (/sek), yakuniy narx = stavka × davomiylik (ruxsat va audio narxga ta’sir qilishi mumkin); qolganlari uchun — standart sozlamalardagi bitta generatsiya narxi. Istalgan konfiguratsiyaning aniq narxini POST /media/estimate qaytaradi.
input maydonlari bundan ko‘p bo‘lishi mumkin — mashina o‘qiy oladigan ro‘yxatni (turlar, variantlar, standart qiymatlar, soniyalar diapazoni) har doim GET /media/models qaytaradi. Majburiy maydonlar * bilan belgilangan. Modelning istalgan qo‘shimcha maydonlarini (negative_prompt, seed, cfg_scale…) bevosita input ichida yuborish mumkin.
Parametrlarning avvalgi nomlari
2026-yil 19-oktabrda parametrlar yagona nom va qiymatlarga o‘tkazildi: snake_case, qiymatlar kichik harflarda (masalan, version: "v6-wild", resolution: "720p", audio: true). Hujjatlarning avvalgi versiyasidagi nom va qiymatlar hali ham qabul qilinadi — oldin yozilgan integratsiyalarni o‘zgartirish shart emas: vazifa, natija va narx o‘sha-o‘sha. GET /media/models, MCP va ushbu hujjatlarda faqat yangi nomlar ishlatiladi. So‘rovda bitta parametrning avvalgi va yangi nomi ikkalasi ham kelsa — yangi nom qo‘llanadi.
🖼 Tasvirlar
model | Rejim | input parametrlari | Fayl | Narx |
|---|---|---|---|---|
image/nano-banana | matn→tasvir | 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 | matn→tasvir | 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 | matn→tasvir | 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 | matn→tasvir | 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 | matn→tasvir | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.025 |
image/imagen4 | matn→tasvir | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.050 |
image/imagen4-ultra | matn→tasvir | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.075 |
image/gpt-image-1.5 | matn→tasvir | prompt *, aspect_ratio=1:1|2:3|3:2, quality=medium|high, safety_filter=bool | PNG | $0.025 |
image/gpt-image-1.5-edit | tasvirni tahrirlash | prompt *, image=url *, aspect_ratio=3:2|1:1|2:3, quality=medium|high, safety_filter=bool | PNG | $0.025 |
image/gpt-image-2 | matn→tasvir | 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 | tasvirni tahrirlash | 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 | matn→tasvir | 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 | tasvirni tahrirlash | 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 | matn→tasvir | 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 | tasvirni tahrirlash | 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 | tasvirni tahrirlash | 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 | tasvirni tahrirlash | 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 | tasvirni tahrirlash | 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 | tasvirni tahrirlash | 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 | matn→tasvir | 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 | tasvirni tahrirlash | 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 | tasvirni tahrirlash | prompt *, image=url *, render_mode=fast|balanced|quality, style=auto|realistic|fiction, safety_filter=bool | PNG | $0.11 |
image/qwen | matn→tasvir | 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 | tasvirni tahrirlash | 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 | tasvirni tahrirlash | prompt *, image=url *, safety_filter=bool | PNG | $0.031 |
image/qwen2-edit | tasvirni tahrirlash | 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 | matn→tasvir | prompt *, aspect_ratio=1:1|2:3|3:2|16:9|9:16, pro=bool, safety_filter=bool | PNG | $0.025 |
image/grok-edit | tasvirni tahrirlash | prompt *, image=url *, safety_filter=bool | PNG | $0.025 |
image/z-image | matn→tasvir | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.006 |
image/wan-2.7 | matn→tasvir | 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 | matn→tasvir | 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 | matn→tasvir | prompt * | JPG | $0.013 |
image/gemini-3.1-flash | matn→tasvir | prompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4, resolution=1k|2k|4k | PNG | $0.013 |
image/gemini-3-pro | matn→tasvir | prompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4, resolution=1k|2k|4k | PNG | $0.031 |
🎬 Video
model | Rejim | input parametrlari | Fayl | Narx |
|---|---|---|---|---|
video/veo-3.1-fast | matn→video | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $0.38 |
video/veo-3.1-quality | matn→video | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $1.56 |
video/veo-3.1-lite | matn→video | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $0.19 |
video/gemini-omni | matn→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 | matn→video | prompt *, attachments=upload[] | MP4 | $0.13 |
video/kling-3.0 | matn→video | prompt *, duration=3–15s, 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 | matn→video | prompt *, duration=3–15s, 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–15s, resolution=720p|1080p, safety_filter=bool | MP4 | $0.11/sek |
video/kling-2.6-t2v | matn→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 | matn→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 | matn→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 | matn→video | prompt *, duration=2–15s, 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–15s, resolution=720p|1080p, audio_url, safety_filter=bool | MP4 | $0.15/sek |
video/wan-2.7-r2v | foto→video | prompt *, image=url *, duration=2–10s, 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 | matn→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 | matn→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 | matn→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 | matn→video | prompt *, duration=4–15s, 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 | matn→video | prompt *, duration=4–15s, 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 | matn→video | prompt *, duration=4–15s, 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 | matn→video | prompt *, duration=4–12s, 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 | matn→video | prompt *, duration=6|10, safety_filter=bool | MP4 | $0.19 |
video/hailuo-02-t2v-pro | matn→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 | matn→video | prompt *, duration=3–15s, 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–15s, resolution=720p|1080p, safety_filter=bool | MP4 | $0.18/sek |
video/happyhorse-1.1-r2v | foto→video | prompt *, image=url *, duration=3–15s, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=bool | MP4 | $0.18/sek |
video/happyhorse-t2v | matn→video | prompt *, duration=3–15s, 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–15s, 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 | matn→video | prompt *, duration=6–30s, 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–30s, resolution=480p|720p, mode=normal|fun|spicy, safety_filter=bool | MP4 | $0.019/sek |
video/grok-1.5 | matn→video | prompt *, duration=1–15s, 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 | kattalashtirish | video_url *, scale=2|4 | MP4 | $0.50 |
🎵 Musiqa
model | Rejim | input parametrlari | Fayl | Narx |
|---|---|---|---|---|
music/suno-v5 | musiqa | title *, style *, version=v6|v6-wild|v6-mini, instrumental=bool, prompt | MP3 | $0.075 |
music/suno-cover | musiqa | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, instrumental=bool, advanced=bool, title, style, duration=10–360s | MP3 | $0.075 |
music/suno-extend-upload | musiqa | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, continue_from=1–120, instrumental=bool | MP3 | $0.075 |
music/suno-add-vocals | musiqa | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, style, title, exclude_styles, vocal=female|male | MP3 | $0.075 |
music/suno-add-instrumental | musiqa | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, title, exclude_styles | MP3 | $0.075 |
music/suno-mashup | musiqa | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, instrumental=bool, advanced=bool, title, style, duration=10–360s | MP3 | $0.075 |
music/suno-sounds | musiqa | 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 | Rejim | input parametrlari | Fayl | Narx |
|---|---|---|---|---|
audio/gemini-3.1-flash-tts | ovozlashtirish | 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 | ovozlashtirish | 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 | ovozlashtirish | 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 | ovozlashtirish | 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 modellar
Natija — GLB (ayrim modellarda OBJ, FBX, STL, USDZ, USD, 3MF formatlaridan tanlash mumkin) va oldindan ko‘rish tasviri: topshiriqda bir nechta fayl keladi, har birining o‘z kengaytmasi bor. Fayllar ro‘yxati results maydonida, har birida ext mavjud.
Narx faqat generatsiyadan keyin ma’lum bo‘ladi
3D uchun haqiqiy sarflangan resurslar bo‘yicha haq olinadi. Jadvaldagi yuqori chegarani vaqtincha ushlab qolamiz, haqiqiy narx ma’lum bo‘lgach, shu summani yechib, farqini qaytaramiz. Yakuniy qiymat har doim cost_usd ichida bo‘ladi.
model | Rejim | input parametrlari | Fayl | Narx |
|---|---|---|---|---|
3d/tripo-text | matn→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 | matn→3D | prompt *, file_format=glb|obj|fbx|stl|usdz, pbr=bool, extra_mesh=bool | GLB va boshqalar | $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 va boshqalar | $0.43–0.71 |
3d/hunyuan-pro-text | matn→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 | matn→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 | rakurslardan→3D | images=[url] * (1–4), texture_size=2k|4k|8k, ultra=bool, texture=bool, pbr=bool, texture_text | GLB | $0.94–1.26 |
Tekstura sifatida foto. 3d/meshy-* modellarida tekstura geometriyadan alohida beriladi: texture_photo maydonida tasvir yoki texture_text maydonida so‘zlar orqali.
Uzoq davom etadi. 3D generatsiyasi yarim daqiqadan bir necha daqiqagacha davom etadi — tasvir va qisqa videodan uzoqroq. Ulanishni ochiq saqlash shart emas: holat saqlanadi, vebhuklar mavjud.
🛠 Utilitalar
model | Rejim | input parametrlari | Fayl | Narx |
|---|---|---|---|---|
image/topaz-upscale | kattalashtirish | image=url *, scale=2|4|8 | PNG | $0.063 |
image/recraft-remove-bg | tahrirlash | image=url * | PNG | $0.006 |
image/recraft-upscale | kattalashtirish | image=url * | PNG | $0.006 |
Rejimlar bo'yicha misollar
Matndan tasvir
{ "model": "image/flux2-pro", "input": { "prompt": "neon fox in snow", "aspect_ratio": "16:9", "resolution": "2k" } }Tasvirni tahrirlash
{ "model": "image/seedream-edit", "input": { "prompt": "fonni olib tashlash, neon qo'shish", "image": "https://…/photo.png" } }Foto→video (birinchi/oxirgi kadr, davomiylik, ovoz)
{ "model": "video/wan-2.7-i2v", "input": {
"prompt": "kameraning silliq yaqinlashuvi", "image": "https://…/first.png",
"image2": "https://…/last.png", "duration": 8, "resolution": "1080p" } }Musiqa
{ "model": "music/suno-v5", "input": { "title": "Northern Lights", "style": "epic orchestral", "instrumental": true, "version": "v6" } }Ovozlashtirish
{ "model": "audio/gemini-3.1-flash-tts", "input": {
"text": "Salom, dunyo", "voice": "Zephyr", "style": "empathetic",
"pace": "natural", "accent": "neutral" } }Ikki ovozli dialog — text maydoni o'rniga replikalar dialogue ichida, ovozlar voices ichida beriladi (1-ovoz — ro'yxatdagi birinchi ovoz):
{ "model": "audio/gemini-3.1-flash-tts", "input": {
"voices": [ { "voice": "Kore", "style": "newscaster" }, { "voice": "Puck", "pace": "fast" } ],
"dialogue": [ { "speaker": 1, "text": "Xayrli kech!" }, { "speaker": 2, "text": "Eshitganimdan xursandman." } ] } }Avatar (foto + audiodan gapiruvchi video)
{ "model": "video/omnihuman", "input": { "image": "https://…/face.png", "audio_url": "https://…/voice.mp3" } }Holatlar va xatolar
GET /media/job/:id → status maydoni:
| Holat | Ma'nosi |
|---|---|
processing | Jarayonda — holatni so'rashda davom eting |
done | Tayyor — fayl result_url ichida, yechilgan summa cost_usd ichida |
failed | Xato — sababi error ichida, mablag' qaytarilgan |
POST /media/generate javob kodlari: 400 — noma'lum model yoki majburiy maydon yetishmaydi; 401 — kalit yo'q yoki yaroqsiz; 402 — balansda mablag' yetarli emas; 403 — model hisobda mavjud emas.
Xato tanasi doim bir xil ko'rinishda bo'ladi — { "error": "текст для человека", "code": "машинный код" }. Kodlar: unknown_model, missing_param (+ param maydoni), invalid_input, invalid_attachment, prompt_too_long, input_too_long, no_auth, no_key, insufficient_balance, unpaid_shortfall, rate_limited, generation_failed, unavailable.
Narxni oldindan hisoblash
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 }Jadvallardagi parametrlar 19.10.2026 kuni xizmat katalogi bilan solishtirib tekshirilgan; modellar, parametrlar va narxlarning to'liq dolzarb ro'yxati — GET /media/models.