Skip to content

Medya API — görsel, video, müzik ​

Metin modelleriyle aynı sk-nr-… anahtarını ve aynı bakiyeyi kullanarak görsel, video ve müzik üretin. Tek hesap, kullandıkça ödeme; abonelik veya paket yok.

  • Temel URL: https://nordrouter.com (veya yurt dışındaki ağlar için https://global-api.nordrouter.com).
  • Kimlik doğrulama: Authorization: Bearer sk-nr-… başlığı (veya X-API-Key: sk-nr-…).
  • Biçim: JSON, üretim asenkron çalışır (görev oluştur → durumu sorgula → dosyayı al).

Uç noktalar ​

YöntemAmaç
POST /media/generateÜretim görevi oluştur
GET /media/job/:idGörevin durumu ve sonucu
POST /media/estimateYapılandırmanın fiyatını önceden öğren
GET /media/modelsMakine tarafından okunabilir model ve parametre listesi
POST /media/uploadKaynak medya dosyası yükle
GET /media/file/:idHazır dosya (result_url içindeki bağlantı)

İstek yaşam döngüsü ​

1. Görev oluşturun

bash
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": "kameranın yumuşakça ileri yaklaşması", "image": "https://…/photo.png", "duration": "5", "audio": true } }'
json
{ "id": "b1f2…", "model": "video/kling-2.6-i2v", "status": "processing", "poll": "https://nordrouter.com/media/job/b1f2…" }

2. Durumu sorgulayın (3–5 saniyede bir)

bash
curl https://nordrouter.com/media/job/b1f2…
json
{ "id": "b1f2…", "status": "done", "result_url": "https://nordrouter.com/media/file/b1f2…", "cost_usd": 0.55, "error": null }

3. Dosyayı alın — result_url üzerinden. Bağlantı nordrouter.com alan adındadır (markanız); dosyalar 14 gün saklanır, ardından silinir — önceden indirin veya kendi depolama alanınıza aktarın.

Kaynak medya dosyalarını yükleme

image, image2, audio_url ve video_url alanları doğrudan erişilebilen herkese açık bir bağlantı kabul eder. attachments alanına sahip modeller, POST /media/upload tarafından döndürülen nesnelerden oluşan bir dizi kabul eder: { "data": "data:audio/mpeg;base64,…", "name": "track.mp3" } gönderin, ardından yükleme yanıtının tamamını input.attachments alanına aktarın. Suno için bunun yerine input.source_url alanında herkese açık bir URL, mashup için ise input.source_urls alanında iki URL iletebilirsiniz.

Faturalandırma ​

Ücretler, üretim tamamlandığında dolar bakiyenizden (metin modelleriyle aynı bakiye) aşağıdaki tablolarda belirtilen tutar kadar düşülür.

  • Rezerv → gerçek tutar. Görev oluşturulurken tahmini maliyet rezerve edilir; tamamlandıktan sonra tutar gerçek sonuca göre yeniden hesaplanır, fazla tutar bakiyeye iade edilir.
  • Video — saniye başına. Fiyat, süre ve çözünürlükle birlikte artar; sesin etkin olması maliyeti artırır. Tablolarda varsayılan ayarlar için başlangıç fiyatı gösterilir; /sn işareti saniye başına ücreti belirtir.
  • Hatalar ücretlendirilmez. Görev failed durumuyla tamamlanırsa rezerve edilen tutarın tamamı iade edilir — yalnızca başarılı üretimler için ödeme yaparsınız.
  • Kesin fiyatı önceden öğrenin — aynı model + input ile POST /media/estimate çağrısı, üretim başlamadan önce { "usd": … } döndürür.
  • Bakiye yükleme ruble cinsindendir (≈ $1 = 89–96 ₽); sonraki tüm hesaplamalar USD cinsinden yapılır.

Model kataloğu ​

Fiyat: video için saniye başına ücret (/sn), toplam = ücret × süre (çözünürlük/ses de ücreti değiştirebilir); diğerleri için varsayılan ayarlarla tek üretim başına. Herhangi bir yapılandırmanın kesin maliyetini POST /media/estimate döndürür.

input içinde daha fazla alan bulunabilir. Türleri, seçenekleri, varsayılan değerleri ve saniye aralıklarını içeren makine tarafından okunabilir listeyi her zaman GET /media/models döndürür. Zorunlu alanlar * ile işaretlenmiştir. Modelin ek alanlarını (negative_prompt, seed, cfg_scale…) doğrudan input içinde gönderebilirsiniz.

Önceki parametre adları ​

19 Ekim 2026'da parametreler için tek tip adlar ve değerler belirlendi: snake_case, küçük harfli değerler (örneğin, version: "v6-wild", resolution: "720p", audio: true). Belgelerin önceki sürümündeki adlar ve değerler kabul edilmeye devam eder; daha önce yazılmış entegrasyonları değiştirmeniz gerekmez: görev, sonuç ve fiyat aynıdır. GET /media/models, MCP ve bu belgelerde yalnızca yeni adlar ve değerler kullanılır. İstek hem eski hem de yeni bir parametre adı içeriyorsa yeni ad geçerli olur.

🖼 Görseller ​

modelModinput parametreleriDosyaFiyat
image/nano-bananametinden görseleprompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3|3:2|2:3|21:9|auto, safety_filter=boolPNG$0.025
image/nano-banana-2metinden görseleprompt *, aspect_ratio=auto|1:1|16:9|9:16|3:4|4:3|21:9, resolution=1k|2k|4k, image=url, safety_filter=boolPNG$0.050
image/nano-banana-2-litemetinden görseleprompt *, aspect_ratio=auto|1:1|16:9|9:16|3:4|4:3, image=url, safety_filter=boolPNG$0.025
image/nano-banana-prometinden görseleprompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3|21:9|auto, resolution=1k|2k|4k, image=url, safety_filter=boolPNG$0.11
image/imagen4-fastmetinden görseleprompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=boolPNG$0.025
image/imagen4metinden görseleprompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=boolPNG$0.050
image/imagen4-ultrametinden görseleprompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=boolPNG$0.075
image/gpt-image-1.5metinden görseleprompt *, aspect_ratio=1:1|2:3|3:2, quality=medium|high, safety_filter=boolPNG$0.025
image/gpt-image-1.5-editgörsel düzenlemeprompt *, image=url *, aspect_ratio=3:2|1:1|2:3, quality=medium|high, safety_filter=boolPNG$0.025
image/gpt-image-2metinden görseleprompt *, aspect_ratio=1:1|3:2|2:3|16:9|9:16|4:3|3:4, resolution=1k|2k|4kPNG$0.006
image/gpt-image-2-editgörsel düzenlemeprompt *, image=url *, aspect_ratio=auto|1:1|3:2|2:3|16:9|9:16, resolution=1k|2k|4k, safety_filter=boolPNG$0.037
image/flux2-prometinden görseleprompt *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|3:2|2:3, resolution=1k|2k, safety_filter=boolPNG$0.031
image/flux2-pro-editgörsel düzenlemeprompt *, image=url *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|3:2|2:3|auto, resolution=1k|2k, safety_filter=boolPNG$0.031
image/flux2-flexmetinden görseleprompt *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|3:2|2:3, resolution=1k|2k, safety_filter=boolPNG$0.087
image/flux2-flex-editgörsel düzenlemeprompt *, image=url *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|3:2|2:3|auto, resolution=1k|2k, safety_filter=boolPNG$0.087
image/seedream-editgörsel düzenlemeprompt *, image=url *, aspect_ratio=1:1-hd|1:1|3:4|9:16|4:3|16:9, resolution=1k|2k|4k, safety_filter=boolPNG$0.037
image/seedream-4.5-editgörsel düzenlemeprompt *, image=url *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|2:3|3:2, quality=basic|high, safety_filter=boolPNG$0.044
image/seedream-5-lite-editgörsel düzenlemeprompt *, image=url *, aspect_ratio=1:1|4:3|3:4|16:9|9:16|2:3|3:2, quality=basic|high, safety_filter=boolPNG$0.037
image/seedream-5.0-pro-editgörsel düzenlemeprompt *, 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=boolPNG$0.044
image/ideogram-v3metinden görseleprompt *, 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=boolPNG$0.044
image/ideogram-editgörsel düzenlemeprompt *, image=url *, render_mode=fast|balanced|quality, aspect_ratio=1:1-hd|1:1|3:4|9:16|4:3|16:9, safety_filter=boolPNG$0.044
image/ideogram-charactergörsel düzenlemeprompt *, image=url *, render_mode=fast|balanced|quality, style=auto|realistic|fiction, safety_filter=boolPNG$0.11
image/qwenmetinden görseleprompt *, aspect_ratio=1:1-hd|1:1|3:4|9:16|4:3|16:9, safety_filter=boolPNG$0.031
image/qwen-editgörsel düzenlemeprompt *, image=url *, aspect_ratio=1:1-hd|1:1|3:4|9:16|4:3|16:9, safety_filter=boolPNG$0.037
image/qwen-i2igörsel düzenlemeprompt *, image=url *, safety_filter=boolPNG$0.031
image/qwen2-editgörsel düzenlemeprompt *, image=url *, aspect_ratio=16:9|1:1|3:4|4:3|9:16|3:2|2:3, safety_filter=boolPNG$0.037
image/grokmetinden görseleprompt *, aspect_ratio=1:1|2:3|3:2|16:9|9:16, pro=bool, safety_filter=boolPNG$0.025
image/grok-editgörsel düzenlemeprompt *, image=url *, safety_filter=boolPNG$0.025
image/z-imagemetinden görseleprompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=boolPNG$0.006
image/wan-2.7metinden görseleprompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4|21:9, resolution=1k|2k|4k, image=url, safety_filter=boolPNG$0.031
image/wan-2.7-prometinden görseleprompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4|21:9, resolution=1k|2k|4k, image=url, safety_filter=boolPNG$0.075
image/seedream-5.0-prometinden görseleprompt *JPG$0.013
image/gemini-3.1-flashmetinden görseleprompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4, resolution=1k|2k|4kPNG$0.013
image/gemini-3-prometinden görseleprompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4, resolution=1k|2k|4kPNG$0.031

🎬 Video ​

modelModinput parametreleriDosyaFiyat
video/veo-3.1-fastmetinden videoyaprompt *, aspect_ratio=16:9|9:16, image=urlMP4$0.38
video/veo-3.1-qualitymetinden videoyaprompt *, aspect_ratio=16:9|9:16, image=urlMP4$1.56
video/veo-3.1-litemetinden videoyaprompt *, aspect_ratio=16:9|9:16, image=urlMP4$0.19
video/gemini-omnimetinden videoyaprompt *, duration=4|6|8|10 *, aspect_ratio=16:9|9:16, resolution=720p|1080p|4k, image=url, safety_filter=boolMP4$0.66
video/gemini-omni-flashmetinden videoyaprompt *, attachments=upload[]MP4$0.13
video/kling-3.0metinden videoyaprompt *, duration=3–15sn, aspect_ratio=16:9|9:16|1:1, mode=standard|pro|4k, audio=bool, image=url, image2=url, safety_filter=boolMP4$0.11/sn
video/kling-t2vmetinden videoyaprompt *, duration=3–15sn, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=boolMP4$0.11/sn
video/kling-turbo-i2vfotoğraftan videoyaprompt *, image=url *, duration=3–15sn, resolution=720p|1080p, safety_filter=boolMP4$0.11/sn
video/kling-2.6-t2vmetinden videoyaprompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, audio=bool, safety_filter=boolMP4$0.34
video/kling-2.6-i2vfotoğraftan videoyaprompt *, image=url *, duration=5|10, audio=bool, safety_filter=boolMP4$0.34
video/kling-2.5-t2vmetinden videoyaprompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, safety_filter=boolMP4$0.26
video/kling-2.5-i2vfotoğraftan videoyaprompt *, image=url *, image2=url, duration=5|10, safety_filter=boolMP4$0.26
video/kling-i2vfotoğraftan videoyaprompt *, image=url *, image2=url, duration=5|10, safety_filter=boolMP4$0.31
video/kling-2.1-standardfotoğraftan videoyaprompt *, image=url *, duration=5|10, safety_filter=boolMP4$0.16
video/kling-2.1-master-t2vmetinden videoyaprompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, safety_filter=boolMP4$1.00
video/kling-2.1-master-i2vfotoğraftan videoyaprompt *, image=url *, duration=5|10, safety_filter=boolMP4$1.00
video/kling-motionvideodan videoyaimage=url *, video_url *, prompt, mode=standard|proMP4$1.25
video/kling-avataravatar (fotoğraf+ses)image=url *, audio_url *, prompt *MP4$0.75
video/kling-avatar-proavatar (fotoğraf+ses)image=url *, audio_url *, prompt *MP4$1.50
video/wan-2.7-t2vmetinden videoyaprompt *, duration=2–15sn, aspect_ratio=16:9|9:16|1:1|4:3|3:4, resolution=720p|1080p, audio_url, safety_filter=boolMP4$0.15/sn
video/wan-2.7-i2vfotoğraftan videoyaprompt *, image=url *, image2=url, duration=2–15sn, resolution=720p|1080p, audio_url, safety_filter=boolMP4$0.15/sn
video/wan-2.7-r2vfotoğraftan videoyaprompt *, image=url *, duration=2–10sn, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=boolMP4$0.15/sn
video/wan-2.7-editvideodan videoyaprompt *, video_url *, resolution=720p|1080p, audio_source=auto|originalMP4$1.50
video/wan-t2vmetinden videoyaprompt *, duration=5|10|15, resolution=720p|1080p, safety_filter=boolMP4$0.44
video/wan-i2vfotoğraftan videoyaprompt *, image=url *, duration=5|10|15, resolution=720p|1080p, safety_filter=boolMP4$0.44
video/wan-v2vvideodan videoyaprompt *, video_url *, duration=5|10, resolution=720p|1080pMP4$0.44
video/wan-2.5-t2vmetinden videoyaprompt *, duration=5|10 *, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=boolMP4$0.38
video/wan-2.5-i2vfotoğraftan videoyaprompt *, image=url *, duration=5|10 *, resolution=720p|1080p, safety_filter=boolMP4$0.38
video/wan-2.2-t2vmetinden videoyaprompt *, aspect_ratio=16:9|9:16, resolution=480p|720p, safety_filter=boolMP4$0.50
video/wan-2.2-i2vfotoğraftan videoyaprompt *, image=url *, resolution=480p|720p, safety_filter=boolMP4$0.50
video/wan-s2vavatar (fotoğraf+ses)prompt *, image=url *, audio_url *, resolution=480p|580p|720pMP4$0.38
video/wan-animate-movevideodan videoyaimage=url *, video_url *, resolution=480p|580p|720pMP4$0.38
video/wan-animate-replacevideodan videoyaimage=url *, video_url *, resolution=480p|580p|720pMP4$0.38
video/seedance-2metinden videoyaprompt *, duration=4–15sn, 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=boolMP4$0.26/sn
video/seedance-2-fastmetinden videoyaprompt *, duration=4–15sn, aspect_ratio=16:9|9:16|1:1, resolution=480p|720p, audio=bool, image=url, image2=url, safety_filter=boolMP4$0.21/sn
video/seedance-2-minimetinden videoyaprompt *, duration=4–15sn, aspect_ratio=16:9|9:16|1:1, resolution=480p|720p, audio=bool, image=url, image2=url, safety_filter=boolMP4$0.13/sn
video/seedance-1.5-prometinden videoyaprompt *, duration=4–12sn, aspect_ratio=16:9|9:16|1:1|4:3, resolution=480p|720p|1080p, audio=bool, image=url, safety_filter=boolMP4$0.025/sn
video/hailuo-02-t2vmetinden videoyaprompt *, duration=6|10, safety_filter=boolMP4$0.19
video/hailuo-02-t2v-prometinden videoyaprompt *, safety_filter=boolMP4$0.36
video/hailuo-02-i2vfotoğraftan videoyaprompt *, image=url *, image2=url, duration=6|10, resolution=768p|512p, safety_filter=boolMP4$0.19
video/hailuo-02-i2v-profotoğraftan videoyaprompt *, image=url *, image2=url, safety_filter=boolMP4$0.36
video/hailuo-2.3-i2vfotoğraftan videoyaprompt *, image=url *, duration=6|10, resolution=768p|1080p, safety_filter=boolMP4$0.19
video/hailuo-2.3-i2v-profotoğraftan videoyaprompt *, image=url *, duration=6|10, resolution=768p|1080p, safety_filter=boolMP4$0.28
video/happyhorse-1.1-t2vmetinden videoyaprompt *, duration=3–15sn, aspect_ratio=16:9|9:16|1:1|4:3|3:4, resolution=720p|1080p, safety_filter=boolMP4$0.18/sn
video/happyhorse-1.1-i2vfotoğraftan videoyaprompt, image=url *, duration=3–15sn, resolution=720p|1080p, safety_filter=boolMP4$0.18/sn
video/happyhorse-1.1-r2vfotoğraftan videoyaprompt *, image=url *, duration=3–15sn, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=boolMP4$0.18/sn
video/happyhorse-t2vmetinden videoyaprompt *, duration=3–15sn, aspect_ratio=16:9|9:16|1:1|4:3|3:4, resolution=720p|1080p, safety_filter=boolMP4$0.30/sn
video/happyhorse-i2vfotoğraftan videoyaprompt, image=url *, duration=3–15sn, resolution=720p|1080p, safety_filter=boolMP4$0.30/sn
video/happyhorse-editvideodan videoyaprompt *, video_url *, resolution=720p|1080p, audio_source=auto|originalMP4$1.50
video/grok-t2vmetinden videoyaprompt *, duration=6–30sn, aspect_ratio=16:9|9:16|1:1|3:2|2:3, resolution=480p|720p, mode=normal|fun|spicy, safety_filter=boolMP4$0.019/sn
video/grok-i2vfotoğraftan videoyaprompt *, image=url *, duration=6–30sn, resolution=480p|720p, mode=normal|fun|spicy, safety_filter=boolMP4$0.019/sn
video/grok-1.5metinden videoyaprompt *, duration=1–15sn, aspect_ratio=auto|16:9|9:16|1:1, resolution=480p|720p, image=url, safety_filter=boolMP4$0.019/sn
video/omnihumanavatar (fotoğraf+ses)image=url *, audio_url *, prompt, resolution=720p|1080pMP4$1.69
video/infinitalkavatar (fotoğraf+ses)prompt *, image=url *, audio_url *, resolution=480p|720pMP4$0.19
video/lipsyncvideodan videoyavideo_url *, audio_url *, mode=lite|basicMP4$0.50
video/topaz-upscaleyükseltmevideo_url *, scale=2|4MP4$0.50

🎵 Müzik ​

modelModinput parametreleriDosyaFiyat
music/suno-v5müziktitle *, style *, version=v6|v6-wild|v6-mini, instrumental=bool, promptMP3$0.075
music/suno-covermüzikprompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, instrumental=bool, advanced=bool, title, style, duration=10–360snMP3$0.075
music/suno-extend-uploadmüzikprompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, continue_from=1–120, instrumental=boolMP3$0.075
music/suno-add-vocalsmüzikprompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, style, title, exclude_styles, vocal=female|maleMP3$0.075
music/suno-add-instrumentalmüzikprompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, title, exclude_stylesMP3$0.075
music/suno-mashupmüzikprompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, instrumental=bool, advanced=bool, title, style, duration=10–360snMP3$0.075
music/suno-soundsmüzikprompt *, 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#mMP3$0.016

🎙 Ses ​

modelModinput parametreleriDosyaFiyat
audio/gemini-3.1-flash-ttsseslendirmetext *, 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–2WAV$0.006
audio/gemini-2.5-pro-ttsseslendirmetext *, 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–2WAV$0.006
audio/elevenlabs-ttsseslendirmetext *, 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.2MP3$0.037
audio/elevenlabs-multilingualseslendirmetext *, 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.2MP3$0.075

🧊 3D modeller ​

Çıktı GLB biçimindedir (bazı modellerde OBJ, FBX, STL, USDZ, USD, 3MF seçilebilir); ayrıca bir önizleme görseli de bulunur: görevde, her birinin uzantısı farklı olan birkaç dosya gelir. Dosya listesi results alanındadır; her dosyanın ext alanı bulunur.

Fiyat yalnızca üretimden sonra belli olur

3D, fiilen kullanılan kaynaklara göre ücretlendirilir. Tablodaki üst sınır tutarı bloke ederiz; gerçek maliyet belli olduğunda bu tutarı tahsil eder ve aradaki farkı iade ederiz. Nihai tutar her zaman cost_usd alanındadır.

modelModinput parametreleriDosyaFiyat
3d/tripo-textmetinden 3D'yeprompt *, negative_prompt, texture_detail=standard|high, geometry_detail=standard|high, pbr=bool, quad_mesh=boolGLB/FBX$0.31–0.79
3d/tripo-imagefotoğraftan 3D'yeimage=url *, texture_detail=standard|high, geometry_detail=standard|high, pbr=bool, quad_mesh=boolGLB/FBX$0.31–0.79
3d/hunyuan-rapid-textmetinden 3D'yeprompt *, file_format=glb|obj|fbx|stl|usdz, pbr=bool, extra_mesh=boolGLB vb.$0.43–0.71
3d/hunyuan-rapid-imagefotoğraftan 3D'yeimage=url *, file_format=glb|obj|fbx|stl|usdz, pbr=bool, extra_mesh=boolGLB vb.$0.43–0.71
3d/hunyuan-pro-textmetinden 3D'yeprompt *, output=textured|mesh, polygons=auto|40000|100000|300000|800000|1500000, pbr=boolGLB$0.71–1.00
3d/hunyuan-pro-imagefotoğraftan 3D'yeimage=url *, output=textured|mesh, polygons=auto|40000|100000|300000|800000|1500000, pbr=boolGLB$0.71–1.00
3d/seed3d-imagefotoğraftan 3D'yeimage=url *, mesh_detail=low|medium|high, file_format=glb|obj|usd|usdzGLB/OBJ/USD$0.50
3d/meshy-textmetinden 3D'yeprompt *, texture_size=2k|4k|8k, pose=none|a-pose|t-pose, ultra=bool, pbr=bool, texture_text, texture_photo=urlGLB$0.94–1.26
3d/meshy-imagefotoğraftan 3D'yeimage=url *, texture_size=2k|4k|8k, ultra=bool, texture=bool, pbr=bool, texture_text, texture_photo=urlGLB$0.94–1.26
3d/meshy-multi-imagefarklı açılardan 3D'yeimages=[url] * (1–4), texture_size=2k|4k|8k, ultra=bool, texture=bool, pbr=bool, texture_textGLB$0.94–1.26

Fotoğrafı doku olarak kullanma. 3d/meshy-* modellerinde doku, geometriden ayrı olarak belirlenir: texture_photo alanında görselle veya texture_text alanında metinle.

Uzun sürebilir. 3D üretimi yarım dakikadan birkaç dakikaya kadar sürer; görsel ve kısa klip üretiminden daha uzun olabilir. Bağlantıyı açık tutmanız gerekmez: durum kaydedilir ve webhook'lar kullanılabilir.

🛠 Araçlar ​

modelModinput parametreleriDosyaFiyat
image/topaz-upscaleyükseltmeimage=url *, scale=2|4|8PNG$0.063
image/recraft-remove-bgdüzenlemeimage=url *PNG$0.006
image/recraft-upscaleyükseltmeimage=url *PNG$0.006

Modlara göre örnekler ​

Metinden görsel

json
{ "model": "image/flux2-pro", "input": { "prompt": "neon fox in snow", "aspect_ratio": "16:9", "resolution": "2k" } }

Görsel düzenleme

json
{ "model": "image/seedream-edit", "input": { "prompt": "arka planı kaldır, neon ekle", "image": "https://…/photo.png" } }

Fotoğraftan videoya (ilk/son kare, süre, ses)

json
{ "model": "video/wan-2.7-i2v", "input": {
    "prompt": "kameranın yumuşakça yaklaşması", "image": "https://…/first.png",
    "image2": "https://…/last.png", "duration": 8, "resolution": "1080p" } }

Müzik

json
{ "model": "music/suno-v5", "input": { "title": "Northern Lights", "style": "epic orchestral", "instrumental": true, "version": "v6" } }

Seslendirme

json
{ "model": "audio/gemini-3.1-flash-tts", "input": {
    "text": "Merhaba dünya", "voice": "Zephyr", "style": "empathetic",
    "pace": "natural", "accent": "neutral" } }

İki sesli diyalog — text alanı yerine replikler dialogue içinde, sesler voices içinde gönderilir (1. ses listedeki ilk sestir):

json
{ "model": "audio/gemini-3.1-flash-tts", "input": {
    "voices": [ { "voice": "Kore", "style": "newscaster" }, { "voice": "Puck", "pace": "fast" } ],
    "dialogue": [ { "speaker": 1, "text": "İyi akşamlar!" }, { "speaker": 2, "text": "Seni duymak güzel." } ] } }

Avatar (fotoğraf + sesten konuşan video)

json
{ "model": "video/omnihuman", "input": { "image": "https://…/face.png", "audio_url": "https://…/voice.mp3" } }

Durumlar ve hatalar ​

GET /media/job/:id → status alanı:

DurumAnlamı
processingİşleniyor — sorgulamaya devam edin
doneHazır — dosya result_url içinde, ücret cost_usd içinde
failedHata — nedeni error içinde, ücret iade edildi

POST /media/generate yanıt kodları: 400 — bilinmeyen model veya zorunlu alan eksik; 401 — anahtar yok/geçersiz; 402 — yetersiz bakiye; 403 — model hesapta kullanılamıyor.

Hata gövdesi her zaman aynı biçimdedir — { "error": "kullanıcıya yönelik metin", "code": "makine kodu" }. Kodlar: unknown_model, missing_param (+ param alanı), invalid_input, invalid_attachment, prompt_too_long, input_too_long, no_auth, no_key, insufficient_balance, unpaid_shortfall, rate_limited, generation_failed, unavailable.

Önceden maliyet tahmini ​

bash
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 } }'
json
{ "model": "video/kling-3.0", "usd": 1.6875 }

Tablolardaki parametreler 19.10.2026 tarihinde hizmet kataloğuyla karşılaştırılarak doğrulandı; model, parametre ve fiyatların güncel tam listesi için GET /media/models.