Медиа API — изображения, видео, музыка
Генерируйте изображения, видео и музыку тем же ключом sk-nr-… и с того же баланса, что и текстовые модели. Единый счёт, оплата по факту, без подписок и пакетов.
- База:
https://nordrouter.com(илиhttps://global-api.nordrouter.comдля зарубежных сетей). - Аутентификация: заголовок
Authorization: Bearer sk-nr-…(илиX-API-Key: sk-nr-…). - Формат: JSON, генерация асинхронная (создать задачу → опрашивать → забрать файл).
Эндпоинты
| Метод | Назначение |
|---|---|
POST /media/generate | Создать задачу генерации |
GET /media/job/:id | Статус и результат задачи |
POST /media/estimate | Узнать цену конфигурации заранее |
GET /media/models | Машиночитаемый список моделей и параметров |
POST /media/upload | Загрузить исходный медиафайл |
GET /media/file/:id | Готовый файл (ссылка из result_url) |
Жизненный цикл запроса
1. Создать задачу
curl https://nordrouter.com/media/generate \
-H "Authorization: Bearer sk-nr-ВАШ-КЛЮЧ" -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. Опрашивать статус (раз в 3–5 сек)
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. Забрать файл — по result_url. Ссылка на nordrouter.com (ваш бренд); файлы хранятся 14 дней, потом удаляются — скачивайте или перекладывайте к себе заранее.
Загрузка исходных медиафайлов
Поля image, image2, audio_url и video_url принимают прямую публичную ссылку. Модели с полем attachments принимают массив объектов, которые вернул POST /media/upload: отправьте { "data": "data:audio/mpeg;base64,…", "name": "track.mp3" }, затем передайте весь ответ загрузчика в input.attachments. Для Suno можно вместо этого передать публичный URL в input.source_url, а для mashup — два URL в input.source_urls.
Биллинг
Списания идут с вашего долларового баланса (тот же, что у текстовых моделей) — по факту выполненной генерации, ровно на сумму из таблиц ниже.
- Резерв → факт. При создании задачи резервируется оценка стоимости; после завершения сумма пересчитывается по фактическому результату, излишек возвращается на баланс.
- Видео — посекундно. Цена растёт с длительностью и разрешением; включённый звук дороже. В таблицах указана цена «от» для настроек по умолчанию, пометка
/сек— тариф за секунду. - Ошибка не тарифицируется. Если задача завершилась со статусом
failed, резерв возвращается полностью — платите только за успешные генерации. - Точная цена заранее —
POST /media/estimateс теми жеmodel+inputвернёт{ "usd": … }до запуска. - Пополнение баланса — в рублях (≈ $1 = 89–96 ₽); дальше всё считается в USD.
Каталог моделей
Цена: для видео — ставка за секунду (/сек), итог = ставка × длительность (и разрешение/звук могут её менять); для остального — за одну генерацию при настройках по умолчанию. Точную стоимость любой конфигурации возвращает POST /media/estimate.
Полей в input может быть больше — машиночитаемый список (типы, варианты, значения по умолчанию, диапазоны секунд) всегда отдаёт GET /media/models. Обязательные помечены *. Любые дополнительные поля модели (negative_prompt, seed, cfg_scale…) можно слать прямо в input.
Прежние имена параметров
19 октября 2026 параметры получили единые имена и значения: snake_case, значения строчными (например, version: "v6-wild", resolution: "720p", audio: true). Имена и значения из прежней версии документации по-прежнему принимаются — интеграции, написанные раньше, менять не нужно: задача, результат и цена те же. В GET /media/models, MCP и этой документации — только новые. Если в запросе пришли и прежнее, и новое имя одного параметра — действует новое.
🖼 Изображения
model | Режим | Параметры input | Файл | Цена |
|---|---|---|---|---|
image/nano-banana | текст→картинка | 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 | текст→картинка | 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 | текст→картинка | 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 | текст→картинка | 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 | текст→картинка | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.025 |
image/imagen4 | текст→картинка | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.050 |
image/imagen4-ultra | текст→картинка | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.075 |
image/gpt-image-1.5 | текст→картинка | prompt *, aspect_ratio=1:1|2:3|3:2, quality=medium|high, safety_filter=bool | PNG | $0.025 |
image/gpt-image-1.5-edit | правка картинки | prompt *, image=url *, aspect_ratio=3:2|1:1|2:3, quality=medium|high, safety_filter=bool | PNG | $0.025 |
image/gpt-image-2 | текст→картинка | 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 | правка картинки | 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 | текст→картинка | 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 | правка картинки | 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 | текст→картинка | 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 | правка картинки | 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 | правка картинки | 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 | правка картинки | 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 | правка картинки | 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 | правка картинки | 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 | текст→картинка | 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 | правка картинки | 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 | правка картинки | prompt *, image=url *, render_mode=fast|balanced|quality, style=auto|realistic|fiction, safety_filter=bool | PNG | $0.11 |
image/qwen | текст→картинка | 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 | правка картинки | 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 | правка картинки | prompt *, image=url *, safety_filter=bool | PNG | $0.031 |
image/qwen2-edit | правка картинки | 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 | текст→картинка | prompt *, aspect_ratio=1:1|2:3|3:2|16:9|9:16, pro=bool, safety_filter=bool | PNG | $0.025 |
image/grok-edit | правка картинки | prompt *, image=url *, safety_filter=bool | PNG | $0.025 |
image/z-image | текст→картинка | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.006 |
image/wan-2.7 | текст→картинка | 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 | текст→картинка | 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 | текст→картинка | prompt * | JPG | $0.013 |
image/gemini-3.1-flash | текст→картинка | prompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4, resolution=1k|2k|4k | PNG | $0.013 |
image/gemini-3-pro | текст→картинка | prompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4, resolution=1k|2k|4k | PNG | $0.031 |
🎬 Видео
model | Режим | Параметры input | Файл | Цена |
|---|---|---|---|---|
video/veo-3.1-fast | текст→видео | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $0.38 |
video/veo-3.1-quality | текст→видео | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $1.56 |
video/veo-3.1-lite | текст→видео | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $0.19 |
video/gemini-omni | текст→видео | 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 | текст→видео | prompt *, attachments=upload[] | MP4 | $0.13 |
video/kling-3.0 | текст→видео | prompt *, duration=3–15с, aspect_ratio=16:9|9:16|1:1, mode=standard|pro|4k, audio=bool, image=url, image2=url, safety_filter=bool | MP4 | $0.11/сек |
video/kling-t2v | текст→видео | prompt *, duration=3–15с, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=bool | MP4 | $0.11/сек |
video/kling-turbo-i2v | фото→видео | prompt *, image=url *, duration=3–15с, resolution=720p|1080p, safety_filter=bool | MP4 | $0.11/сек |
video/kling-2.6-t2v | текст→видео | 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 | фото→видео | prompt *, image=url *, duration=5|10, audio=bool, safety_filter=bool | MP4 | $0.34 |
video/kling-2.5-t2v | текст→видео | prompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, safety_filter=bool | MP4 | $0.26 |
video/kling-2.5-i2v | фото→видео | prompt *, image=url *, image2=url, duration=5|10, safety_filter=bool | MP4 | $0.26 |
video/kling-i2v | фото→видео | prompt *, image=url *, image2=url, duration=5|10, safety_filter=bool | MP4 | $0.31 |
video/kling-2.1-standard | фото→видео | prompt *, image=url *, duration=5|10, safety_filter=bool | MP4 | $0.16 |
video/kling-2.1-master-t2v | текст→видео | prompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, safety_filter=bool | MP4 | $1.00 |
video/kling-2.1-master-i2v | фото→видео | prompt *, image=url *, duration=5|10, safety_filter=bool | MP4 | $1.00 |
video/kling-motion | видео→видео | image=url *, video_url *, prompt, mode=standard|pro | MP4 | $1.25 |
video/kling-avatar | аватар (фото+аудио) | image=url *, audio_url *, prompt * | MP4 | $0.75 |
video/kling-avatar-pro | аватар (фото+аудио) | image=url *, audio_url *, prompt * | MP4 | $1.50 |
video/wan-2.7-t2v | текст→видео | prompt *, duration=2–15с, aspect_ratio=16:9|9:16|1:1|4:3|3:4, resolution=720p|1080p, audio_url, safety_filter=bool | MP4 | $0.15/сек |
video/wan-2.7-i2v | фото→видео | prompt *, image=url *, image2=url, duration=2–15с, resolution=720p|1080p, audio_url, safety_filter=bool | MP4 | $0.15/сек |
video/wan-2.7-r2v | фото→видео | prompt *, image=url *, duration=2–10с, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=bool | MP4 | $0.15/сек |
video/wan-2.7-edit | видео→видео | prompt *, video_url *, resolution=720p|1080p, audio_source=auto|original | MP4 | $1.50 |
video/wan-t2v | текст→видео | prompt *, duration=5|10|15, resolution=720p|1080p, safety_filter=bool | MP4 | $0.44 |
video/wan-i2v | фото→видео | prompt *, image=url *, duration=5|10|15, resolution=720p|1080p, safety_filter=bool | MP4 | $0.44 |
video/wan-v2v | видео→видео | prompt *, video_url *, duration=5|10, resolution=720p|1080p | MP4 | $0.44 |
video/wan-2.5-t2v | текст→видео | 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 | фото→видео | prompt *, image=url *, duration=5|10 *, resolution=720p|1080p, safety_filter=bool | MP4 | $0.38 |
video/wan-2.2-t2v | текст→видео | prompt *, aspect_ratio=16:9|9:16, resolution=480p|720p, safety_filter=bool | MP4 | $0.50 |
video/wan-2.2-i2v | фото→видео | prompt *, image=url *, resolution=480p|720p, safety_filter=bool | MP4 | $0.50 |
video/wan-s2v | аватар (фото+аудио) | prompt *, image=url *, audio_url *, resolution=480p|580p|720p | MP4 | $0.38 |
video/wan-animate-move | видео→видео | image=url *, video_url *, resolution=480p|580p|720p | MP4 | $0.38 |
video/wan-animate-replace | видео→видео | image=url *, video_url *, resolution=480p|580p|720p | MP4 | $0.38 |
video/seedance-2 | текст→видео | prompt *, duration=4–15с, 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/сек |
video/seedance-2-fast | текст→видео | prompt *, duration=4–15с, aspect_ratio=16:9|9:16|1:1, resolution=480p|720p, audio=bool, image=url, image2=url, safety_filter=bool | MP4 | $0.21/сек |
video/seedance-2-mini | текст→видео | prompt *, duration=4–15с, aspect_ratio=16:9|9:16|1:1, resolution=480p|720p, audio=bool, image=url, image2=url, safety_filter=bool | MP4 | $0.13/сек |
video/seedance-1.5-pro | текст→видео | prompt *, duration=4–12с, aspect_ratio=16:9|9:16|1:1|4:3, resolution=480p|720p|1080p, audio=bool, image=url, safety_filter=bool | MP4 | $0.025/сек |
video/hailuo-02-t2v | текст→видео | prompt *, duration=6|10, safety_filter=bool | MP4 | $0.19 |
video/hailuo-02-t2v-pro | текст→видео | prompt *, safety_filter=bool | MP4 | $0.36 |
video/hailuo-02-i2v | фото→видео | prompt *, image=url *, image2=url, duration=6|10, resolution=768p|512p, safety_filter=bool | MP4 | $0.19 |
video/hailuo-02-i2v-pro | фото→видео | prompt *, image=url *, image2=url, safety_filter=bool | MP4 | $0.36 |
video/hailuo-2.3-i2v | фото→видео | prompt *, image=url *, duration=6|10, resolution=768p|1080p, safety_filter=bool | MP4 | $0.19 |
video/hailuo-2.3-i2v-pro | фото→видео | prompt *, image=url *, duration=6|10, resolution=768p|1080p, safety_filter=bool | MP4 | $0.28 |
video/happyhorse-1.1-t2v | текст→видео | prompt *, duration=3–15с, aspect_ratio=16:9|9:16|1:1|4:3|3:4, resolution=720p|1080p, safety_filter=bool | MP4 | $0.18/сек |
video/happyhorse-1.1-i2v | фото→видео | prompt, image=url *, duration=3–15с, resolution=720p|1080p, safety_filter=bool | MP4 | $0.18/сек |
video/happyhorse-1.1-r2v | фото→видео | prompt *, image=url *, duration=3–15с, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=bool | MP4 | $0.18/сек |
video/happyhorse-t2v | текст→видео | prompt *, duration=3–15с, aspect_ratio=16:9|9:16|1:1|4:3|3:4, resolution=720p|1080p, safety_filter=bool | MP4 | $0.30/сек |
video/happyhorse-i2v | фото→видео | prompt, image=url *, duration=3–15с, resolution=720p|1080p, safety_filter=bool | MP4 | $0.30/сек |
video/happyhorse-edit | видео→видео | prompt *, video_url *, resolution=720p|1080p, audio_source=auto|original | MP4 | $1.50 |
video/grok-t2v | текст→видео | prompt *, duration=6–30с, 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/сек |
video/grok-i2v | фото→видео | prompt *, image=url *, duration=6–30с, resolution=480p|720p, mode=normal|fun|spicy, safety_filter=bool | MP4 | $0.019/сек |
video/grok-1.5 | текст→видео | prompt *, duration=1–15с, aspect_ratio=auto|16:9|9:16|1:1, resolution=480p|720p, image=url, safety_filter=bool | MP4 | $0.019/сек |
video/omnihuman | аватар (фото+аудио) | image=url *, audio_url *, prompt, resolution=720p|1080p | MP4 | $1.69 |
video/infinitalk | аватар (фото+аудио) | prompt *, image=url *, audio_url *, resolution=480p|720p | MP4 | $0.19 |
video/lipsync | видео→видео | video_url *, audio_url *, mode=lite|basic | MP4 | $0.50 |
video/topaz-upscale | апскейл | video_url *, scale=2|4 | MP4 | $0.50 |
🎵 Музыка
model | Режим | Параметры input | Файл | Цена |
|---|---|---|---|---|
music/suno-v5 | музыка | title *, style *, version=v6|v6-wild|v6-mini, instrumental=bool, prompt | MP3 | $0.075 |
music/suno-cover | музыка | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, instrumental=bool, advanced=bool, title, style, duration=10–360с | MP3 | $0.075 |
music/suno-extend-upload | музыка | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, continue_from=1–120, instrumental=bool | MP3 | $0.075 |
music/suno-add-vocals | музыка | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, style, title, exclude_styles, vocal=female|male | MP3 | $0.075 |
music/suno-add-instrumental | музыка | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, title, exclude_styles | MP3 | $0.075 |
music/suno-mashup | музыка | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, instrumental=bool, advanced=bool, title, style, duration=10–360с | MP3 | $0.075 |
music/suno-sounds | музыка | 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 |
🎙 Аудио
model | Режим | Параметры input | Файл | Цена |
|---|---|---|---|---|
audio/gemini-3.1-flash-tts | озвучка | 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 | озвучка | 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 | озвучка | 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 | озвучка | 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-модели
Выход — GLB (у части моделей на выбор OBJ, FBX, STL, USDZ, USD, 3MF) плюс превью-картинка: в задании приходит несколько файлов, у каждого своё расширение. Список файлов — в поле results, у каждого есть ext.
Цена известна только после генерации
3D тарифицируется по фактически затраченным ресурсам. Мы удерживаем верхнюю границу из таблицы, а когда станет известна настоящая стоимость — списываем её и возвращаем разницу. Итог всегда в cost_usd.
model | Режим | Параметры input | Файл | Цена |
|---|---|---|---|---|
3d/tripo-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 | фото→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 | текст→3D | prompt *, file_format=glb|obj|fbx|stl|usdz, pbr=bool, extra_mesh=bool | GLB и др. | $0.43–0.71 |
3d/hunyuan-rapid-image | фото→3D | image=url *, file_format=glb|obj|fbx|stl|usdz, pbr=bool, extra_mesh=bool | GLB и др. | $0.43–0.71 |
3d/hunyuan-pro-text | текст→3D | prompt *, output=textured|mesh, polygons=auto|40000|100000|300000|800000|1500000, pbr=bool | GLB | $0.71–1.00 |
3d/hunyuan-pro-image | фото→3D | image=url *, output=textured|mesh, polygons=auto|40000|100000|300000|800000|1500000, pbr=bool | GLB | $0.71–1.00 |
3d/seed3d-image | фото→3D | image=url *, mesh_detail=low|medium|high, file_format=glb|obj|usd|usdz | GLB/OBJ/USD | $0.50 |
3d/meshy-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 | фото→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 | ракурсы→3D | images=[url] * (1–4), texture_size=2k|4k|8k, ultra=bool, texture=bool, pbr=bool, texture_text | GLB | $0.94–1.26 |
Фото как текстура. У 3d/meshy-* текстура задаётся отдельно от геометрии: картинкой в texture_photo или словами в texture_text.
Долго. 3D считается от полуминуты до нескольких минут — дольше картинки и короткого клипа. Держать соединение не нужно: статус сохраняется, есть вебхуки.
🛠 Утилиты
model | Режим | Параметры input | Файл | Цена |
|---|---|---|---|---|
image/topaz-upscale | апскейл | image=url *, scale=2|4|8 | PNG | $0.063 |
image/recraft-remove-bg | правка | image=url * | PNG | $0.006 |
image/recraft-upscale | апскейл | image=url * | PNG | $0.006 |
Примеры по режимам
Изображение из текста
{ "model": "image/flux2-pro", "input": { "prompt": "neon fox in snow", "aspect_ratio": "16:9", "resolution": "2k" } }Правка изображения
{ "model": "image/seedream-edit", "input": { "prompt": "убрать фон, добавить неон", "image": "https://…/photo.png" } }Фото→видео (первый/последний кадр, длительность, звук)
{ "model": "video/wan-2.7-i2v", "input": {
"prompt": "плавный наезд камеры", "image": "https://…/first.png",
"image2": "https://…/last.png", "duration": 8, "resolution": "1080p" } }Музыка
{ "model": "music/suno-v5", "input": { "title": "Northern Lights", "style": "epic orchestral", "instrumental": true, "version": "v6" } }Озвучка
{ "model": "audio/gemini-3.1-flash-tts", "input": {
"text": "Привет, мир", "voice": "Zephyr", "style": "empathetic",
"pace": "natural", "accent": "neutral" } }Диалог двух голосов — вместо поля text реплики в dialogue, голоса в voices (голос 1 — первый в списке):
{ "model": "audio/gemini-3.1-flash-tts", "input": {
"voices": [ { "voice": "Kore", "style": "newscaster" }, { "voice": "Puck", "pace": "fast" } ],
"dialogue": [ { "speaker": 1, "text": "Добрый вечер!" }, { "speaker": 2, "text": "Рад слышать." } ] } }Аватар (говорящее видео из фото + аудио)
{ "model": "video/omnihuman", "input": { "image": "https://…/face.png", "audio_url": "https://…/voice.mp3" } }Статусы и ошибки
GET /media/job/:id → поле status:
| Статус | Значение |
|---|---|
processing | В работе — продолжайте опрашивать |
done | Готово — файл в result_url, списание в cost_usd |
failed | Ошибка — причина в error, деньги возвращены |
Коды ответа POST /media/generate: 400 — неизвестная модель или не хватает обязательного поля; 401 — нет/битый ключ; 402 — недостаточно баланса; 403 — модель недоступна на аккаунте.
Тело ошибки всегда одного вида — { "error": "текст для человека", "code": "машинный код" }. Коды: unknown_model, missing_param (+ поле param), invalid_input, invalid_attachment, prompt_too_long, input_too_long, no_auth, no_key, insufficient_balance, unpaid_shortfall, rate_limited, generation_failed, unavailable.
Оценка стоимости заранее
curl https://nordrouter.com/media/estimate \
-H "Authorization: Bearer sk-nr-ВАШ-КЛЮЧ" -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 }Параметры в таблицах сверены с каталогом сервиса 19.10.2026; полный актуальный список моделей, параметров и цен — GET /media/models.