媒体 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-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. 轮询状态(每 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,也可以改为在 input.source_url 中传入公开 URL;对于 mashup,则在 input.source_urls 中传入两个 URL。
计费
费用从您的美元余额(与文本模型共用)中扣除,按实际完成的生成计费,金额与下表完全一致。
- 预留 → 结算。 创建任务时预留预估费用;完成后按实际结果重新计算,多余金额退回余额。
- 视频按秒计费。 价格随时长和分辨率增加;启用声音会增加费用。表中列出默认设置的起价,
/秒表示每秒费率。 - 失败不收费。 如果任务以
failed状态结束,预留金额将全额退回,只为成功的生成付费。 - 提前获取准确价格 — 使用相同的
model+input调用POST /media/estimate,即可在启动前获得{ "usd": … }。 - 余额以卢布充值(约 $1 = 89–96 ₽);后续均以 USD 计价。
模型目录
价格:视频按每秒费率(/秒)计费,总价 = 费率 × 时长(分辨率和声音也可能影响费率);其他类型按默认设置下的单次生成计费。任意配置的准确费用由 POST /media/estimate 返回。
input 可能包含更多字段——GET /media/models 始终返回机器可读的列表(类型、可选值、默认值、时长范围)。必填项标有 *。模型的任何附加字段(negative_prompt、seed、cfg_scale…)都可以直接放入 input 发送。
旧版参数名称
2026 年 10 月 19 日,参数名称和值已统一:名称使用 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 生成需要半分钟到几分钟,比图像和 短视频更久。无需保持连接:任务状态会保存,并支持 Webhook。
🛠 实用工具
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" } }双声线对话 — 使用 dialogue 中的台词代替 text 字段,在 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-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 }表格中的参数已于 2026 年 10 月 19 日与服务目录核对;完整的最新模型、参数和价格列表见 GET /media/models。