Media API — hình ảnh, video, âm nhạc
Tạo hình ảnh, video và âm nhạc bằng cùng khóa sk-nr-… và cùng số dư như các mô hình văn bản. Dùng chung số dư, thanh toán theo mức sử dụng, không đăng ký hoặc mua gói.
- URL cơ sở:
https://nordrouter.com(hoặchttps://global-api.nordrouter.comcho mạng quốc tế). - Xác thực: tiêu đề
Authorization: Bearer sk-nr-…(hoặcX-API-Key: sk-nr-…). - Định dạng: JSON, tạo không đồng bộ (tạo tác vụ → thăm dò trạng thái → tải tệp).
Các endpoint
| Phương thức | Mục đích |
|---|---|
POST /media/generate | Tạo tác vụ |
GET /media/job/:id | Trạng thái và kết quả của tác vụ |
POST /media/estimate | Ước tính trước giá cấu hình |
GET /media/models | Danh sách máy có thể đọc được về mô hình và tham số |
POST /media/upload | Tải tệp phương tiện nguồn lên |
GET /media/file/:id | Tệp đã hoàn tất (liên kết từ result_url) |
Vòng đời yêu cầu
1. Tạo tác vụ
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": "máy quay từ từ tiến lại gần", "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. Thăm dò trạng thái (mỗi 3–5 giây)
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. Tải tệp xuống — qua result_url. Liên kết trên nordrouter.com (thương hiệu của bạn); tệp được lưu 14 ngày, sau đó sẽ bị xóa. Hãy tải xuống hoặc chuyển sang nơi lưu trữ của bạn trước thời hạn.
Tải phương tiện nguồn lên
Các trường image, image2, audio_url và video_url chấp nhận liên kết công khai trực tiếp. Các mô hình có trường attachments chấp nhận mảng đối tượng do POST /media/upload trả về: gửi { "data": "data:audio/mpeg;base64,…", "name": "track.mp3" }, sau đó truyền toàn bộ phản hồi tải lên vào input.attachments. Với Suno, bạn cũng có thể truyền URL công khai vào input.source_url, còn với mashup thì truyền hai URL vào input.source_urls.
Thanh toán
Các khoản trừ được tính từ số dư USD của bạn (dùng chung với các mô hình văn bản) theo mức sử dụng thực tế, đúng bằng số tiền trong các bảng bên dưới.
- Tạm giữ → tính phí thực tế. Khi tạo tác vụ, chi phí ước tính được tạm giữ; sau khi hoàn tất, số tiền được tính lại dựa trên kết quả thực tế, phần dư được hoàn lại vào số dư.
- Video tính theo giây. Giá tăng theo thời lượng và độ phân giải; bật âm thanh sẽ đắt hơn. Các bảng ghi giá “từ” cho cài đặt mặc định; ký hiệu
/giâylà mức phí mỗi giây. - Không tính phí khi lỗi. Nếu tác vụ kết thúc với trạng thái
failed, toàn bộ khoản tạm giữ được hoàn lại. Bạn chỉ trả tiền cho các lần tạo thành công. - Xem giá chính xác trước khi chạy —
POST /media/estimatevới cùngmodel+inputsẽ trả về{ "usd": … }. - Nạp số dư bằng rúp (≈ $1 = 89–96 ₽); sau đó mọi khoản đều được tính bằng USD.
Danh mục mô hình
Giá: với video là đơn giá mỗi giây (/giây), tổng chi phí = đơn giá × thời lượng (độ phân giải/âm thanh cũng có thể làm thay đổi giá); với các loại khác, giá tính cho một lần tạo theo cài đặt mặc định. POST /media/estimate trả về chi phí chính xác cho mọi cấu hình.
input có thể chứa thêm trường — danh sách có thể đọc bằng máy (kiểu, tùy chọn, giá trị mặc định, khoảng thời lượng tính bằng giây) luôn được trả về bởi GET /media/models. Các trường bắt buộc được đánh dấu *. Có thể gửi trực tiếp mọi trường bổ sung của mô hình (negative_prompt, seed, cfg_scale…) trong input.
Tên tham số trước đây
Ngày 19 tháng 10 năm 2026, các tham số được thống nhất về tên và giá trị: snake_case, giá trị viết thường (ví dụ: version: "v6-wild", resolution: "720p", audio: true). Tên và giá trị từ phiên bản tài liệu trước đây vẫn được chấp nhận — không cần thay đổi các tích hợp đã viết trước đó: tác vụ, kết quả và giá vẫn như cũ. Trong GET /media/models, MCP và tài liệu này chỉ dùng tên mới. Nếu yêu cầu có cả tên cũ và tên mới của cùng một tham số thì tên mới được áp dụng.
🖼 Hình ảnh
model | Chế độ | Tham số input | Tệp | Giá |
|---|---|---|---|---|
image/nano-banana | văn bản→hình ảnh | 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 | văn bản→hình ảnh | 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 | văn bản→hình ảnh | 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 | văn bản→hình ảnh | 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 | văn bản→hình ảnh | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.025 |
image/imagen4 | văn bản→hình ảnh | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.050 |
image/imagen4-ultra | văn bản→hình ảnh | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.075 |
image/gpt-image-1.5 | văn bản→hình ảnh | prompt *, aspect_ratio=1:1|2:3|3:2, quality=medium|high, safety_filter=bool | PNG | $0.025 |
image/gpt-image-1.5-edit | chỉnh sửa hình ảnh | prompt *, image=url *, aspect_ratio=3:2|1:1|2:3, quality=medium|high, safety_filter=bool | PNG | $0.025 |
image/gpt-image-2 | văn bản→hình ảnh | 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 | chỉnh sửa hình ảnh | 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 | văn bản→hình ảnh | 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 | chỉnh sửa hình ảnh | 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 | văn bản→hình ảnh | 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 | chỉnh sửa hình ảnh | 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 | chỉnh sửa hình ảnh | 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 | chỉnh sửa hình ảnh | 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 | chỉnh sửa hình ảnh | 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 | chỉnh sửa hình ảnh | 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 | văn bản→hình ảnh | 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 | chỉnh sửa hình ảnh | 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 | chỉnh sửa hình ảnh | prompt *, image=url *, render_mode=fast|balanced|quality, style=auto|realistic|fiction, safety_filter=bool | PNG | $0.11 |
image/qwen | văn bản→hình ảnh | 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 | chỉnh sửa hình ảnh | 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 | chỉnh sửa hình ảnh | prompt *, image=url *, safety_filter=bool | PNG | $0.031 |
image/qwen2-edit | chỉnh sửa hình ảnh | 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 | văn bản→hình ảnh | prompt *, aspect_ratio=1:1|2:3|3:2|16:9|9:16, pro=bool, safety_filter=bool | PNG | $0.025 |
image/grok-edit | chỉnh sửa hình ảnh | prompt *, image=url *, safety_filter=bool | PNG | $0.025 |
image/z-image | văn bản→hình ảnh | prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=bool | PNG | $0.006 |
image/wan-2.7 | văn bản→hình ảnh | 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 | văn bản→hình ảnh | 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 | văn bản→hình ảnh | prompt * | JPG | $0.013 |
image/gemini-3.1-flash | văn bản→hình ảnh | prompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4, resolution=1k|2k|4k | PNG | $0.013 |
image/gemini-3-pro | văn bản→hình ảnh | prompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4, resolution=1k|2k|4k | PNG | $0.031 |
🎬 Video
model | Chế độ | Tham số input | Tệp | Giá |
|---|---|---|---|---|
video/veo-3.1-fast | văn bản→video | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $0.38 |
video/veo-3.1-quality | văn bản→video | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $1.56 |
video/veo-3.1-lite | văn bản→video | prompt *, aspect_ratio=16:9|9:16, image=url | MP4 | $0.19 |
video/gemini-omni | văn bản→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 | văn bản→video | prompt *, attachments=upload[] | MP4 | $0.13 |
video/kling-3.0 | văn bản→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/giây |
video/kling-t2v | văn bản→video | prompt *, duration=3–15s, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=bool | MP4 | $0.11/giây |
video/kling-turbo-i2v | ảnh→video | prompt *, image=url *, duration=3–15s, resolution=720p|1080p, safety_filter=bool | MP4 | $0.11/giây |
video/kling-2.6-t2v | văn bản→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 | ảnh→video | prompt *, image=url *, duration=5|10, audio=bool, safety_filter=bool | MP4 | $0.34 |
video/kling-2.5-t2v | văn bản→video | prompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, safety_filter=bool | MP4 | $0.26 |
video/kling-2.5-i2v | ảnh→video | prompt *, image=url *, image2=url, duration=5|10, safety_filter=bool | MP4 | $0.26 |
video/kling-i2v | ảnh→video | prompt *, image=url *, image2=url, duration=5|10, safety_filter=bool | MP4 | $0.31 |
video/kling-2.1-standard | ảnh→video | prompt *, image=url *, duration=5|10, safety_filter=bool | MP4 | $0.16 |
video/kling-2.1-master-t2v | văn bản→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 | ảnh→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 (ảnh+âm thanh) | image=url *, audio_url *, prompt * | MP4 | $0.75 |
video/kling-avatar-pro | avatar (ảnh+âm thanh) | image=url *, audio_url *, prompt * | MP4 | $1.50 |
video/wan-2.7-t2v | văn bản→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/giây |
video/wan-2.7-i2v | ảnh→video | prompt *, image=url *, image2=url, duration=2–15s, resolution=720p|1080p, audio_url, safety_filter=bool | MP4 | $0.15/giây |
video/wan-2.7-r2v | ảnh→video | prompt *, image=url *, duration=2–10s, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=bool | MP4 | $0.15/giây |
video/wan-2.7-edit | video→video | prompt *, video_url *, resolution=720p|1080p, audio_source=auto|original | MP4 | $1.50 |
video/wan-t2v | văn bản→video | prompt *, duration=5|10|15, resolution=720p|1080p, safety_filter=bool | MP4 | $0.44 |
video/wan-i2v | ảnh→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 | văn bản→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 | ảnh→video | prompt *, image=url *, duration=5|10 *, resolution=720p|1080p, safety_filter=bool | MP4 | $0.38 |
video/wan-2.2-t2v | văn bản→video | prompt *, aspect_ratio=16:9|9:16, resolution=480p|720p, safety_filter=bool | MP4 | $0.50 |
video/wan-2.2-i2v | ảnh→video | prompt *, image=url *, resolution=480p|720p, safety_filter=bool | MP4 | $0.50 |
video/wan-s2v | avatar (ảnh+âm thanh) | 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 | văn bản→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/giây |
video/seedance-2-fast | văn bản→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/giây |
video/seedance-2-mini | văn bản→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/giây |
video/seedance-1.5-pro | văn bản→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/giây |
video/hailuo-02-t2v | văn bản→video | prompt *, duration=6|10, safety_filter=bool | MP4 | $0.19 |
video/hailuo-02-t2v-pro | văn bản→video | prompt *, safety_filter=bool | MP4 | $0.36 |
video/hailuo-02-i2v | ảnh→video | prompt *, image=url *, image2=url, duration=6|10, resolution=768p|512p, safety_filter=bool | MP4 | $0.19 |
video/hailuo-02-i2v-pro | ảnh→video | prompt *, image=url *, image2=url, safety_filter=bool | MP4 | $0.36 |
video/hailuo-2.3-i2v | ảnh→video | prompt *, image=url *, duration=6|10, resolution=768p|1080p, safety_filter=bool | MP4 | $0.19 |
video/hailuo-2.3-i2v-pro | ảnh→video | prompt *, image=url *, duration=6|10, resolution=768p|1080p, safety_filter=bool | MP4 | $0.28 |
video/happyhorse-1.1-t2v | văn bản→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/giây |
video/happyhorse-1.1-i2v | ảnh→video | prompt, image=url *, duration=3–15s, resolution=720p|1080p, safety_filter=bool | MP4 | $0.18/giây |
video/happyhorse-1.1-r2v | ảnh→video | prompt *, image=url *, duration=3–15s, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=bool | MP4 | $0.18/giây |
video/happyhorse-t2v | văn bản→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/giây |
video/happyhorse-i2v | ảnh→video | prompt, image=url *, duration=3–15s, resolution=720p|1080p, safety_filter=bool | MP4 | $0.30/giây |
video/happyhorse-edit | video→video | prompt *, video_url *, resolution=720p|1080p, audio_source=auto|original | MP4 | $1.50 |
video/grok-t2v | văn bản→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/giây |
video/grok-i2v | ảnh→video | prompt *, image=url *, duration=6–30s, resolution=480p|720p, mode=normal|fun|spicy, safety_filter=bool | MP4 | $0.019/giây |
video/grok-1.5 | văn bản→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/giây |
video/omnihuman | avatar (ảnh+âm thanh) | image=url *, audio_url *, prompt, resolution=720p|1080p | MP4 | $1.69 |
video/infinitalk | avatar (ảnh+âm thanh) | 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 | nâng độ phân giải | video_url *, scale=2|4 | MP4 | $0.50 |
🎵 Âm nhạc
model | Chế độ | Tham số input | Tệp | Giá |
|---|---|---|---|---|
music/suno-v5 | âm nhạc | title *, style *, version=v6|v6-wild|v6-mini, instrumental=bool, prompt | MP3 | $0.075 |
music/suno-cover | âm nhạc | 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 | âm nhạc | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, continue_from=1–120, instrumental=bool | MP3 | $0.075 |
music/suno-add-vocals | âm nhạc | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, style, title, exclude_styles, vocal=female|male | MP3 | $0.075 |
music/suno-add-instrumental | âm nhạc | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, title, exclude_styles | MP3 | $0.075 |
music/suno-mashup | âm nhạc | prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, instrumental=bool, advanced=bool, title, style, duration=10–360s | MP3 | $0.075 |
music/suno-sounds | âm nhạc | 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 |
🎙 Âm thanh
model | Chế độ | Tham số input | Tệp | Giá |
|---|---|---|---|---|
audio/gemini-3.1-flash-tts | chuyển văn bản thành giọng nói | 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 | chuyển văn bản thành giọng nói | 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 | chuyển văn bản thành giọng nói | 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 | chuyển văn bản thành giọng nói | 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 |
🧊 Mô hình 3D
Đầu ra là GLB (một số mô hình cho phép chọn OBJ, FBX, STL, USDZ, USD, 3MF) cùng ảnh xem trước: mỗi tác vụ trả về một số tệp, mỗi tệp có phần mở rộng riêng. Danh sách tệp nằm trong trường results, mỗi mục có ext.
Chỉ xác định được giá sau khi tạo
3D được tính phí theo tài nguyên thực tế đã sử dụng. Chúng tôi giữ lại khoản tối đa trong bảng; khi biết chi phí thực tế, chúng tôi tính phí theo mức đó và hoàn lại phần chênh lệch. Tổng chi phí luôn nằm trong cost_usd.
model | Chế độ | Tham số input | Tệp | Giá |
|---|---|---|---|---|
3d/tripo-text | văn bản→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 | ảnh→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 | văn bản→3D | prompt *, file_format=glb|obj|fbx|stl|usdz, pbr=bool, extra_mesh=bool | GLB và các định dạng khác | $0.43–0.71 |
3d/hunyuan-rapid-image | ảnh→3D | image=url *, file_format=glb|obj|fbx|stl|usdz, pbr=bool, extra_mesh=bool | GLB và các định dạng khác | $0.43–0.71 |
3d/hunyuan-pro-text | văn bản→3D | prompt *, output=textured|mesh, polygons=auto|40000|100000|300000|800000|1500000, pbr=bool | GLB | $0.71–1.00 |
3d/hunyuan-pro-image | ảnh→3D | image=url *, output=textured|mesh, polygons=auto|40000|100000|300000|800000|1500000, pbr=bool | GLB | $0.71–1.00 |
3d/seed3d-image | ảnh→3D | image=url *, mesh_detail=low|medium|high, file_format=glb|obj|usd|usdz | GLB/OBJ/USD | $0.50 |
3d/meshy-text | văn bản→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 | ảnh→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 | nhiều góc nhìn→3D | images=[url] * (1–4), texture_size=2k|4k|8k, ultra=bool, texture=bool, pbr=bool, texture_text | GLB | $0.94–1.26 |
Ảnh làm texture. Với 3d/meshy-*, texture được thiết lập riêng với hình học: bằng hình ảnh trong texture_photo hoặc bằng mô tả trong texture_text.
Thời gian xử lý lâu. Quá trình tạo 3D kéo dài từ nửa phút đến vài phút — lâu hơn ảnh và clip ngắn. Không cần duy trì kết nối: trạng thái được lưu, có hỗ trợ webhook.
🛠 Tiện ích
model | Chế độ | Tham số input | Tệp | Giá |
|---|---|---|---|---|
image/topaz-upscale | nâng độ phân giải | image=url *, scale=2|4|8 | PNG | $0.063 |
image/recraft-remove-bg | chỉnh sửa | image=url * | PNG | $0.006 |
image/recraft-upscale | nâng độ phân giải | image=url * | PNG | $0.006 |
Ví dụ theo chế độ
Tạo ảnh từ văn bản
{ "model": "image/flux2-pro", "input": { "prompt": "neon fox in snow", "aspect_ratio": "16:9", "resolution": "2k" } }Chỉnh sửa ảnh
{ "model": "image/seedream-edit", "input": { "prompt": "xóa nền, thêm ánh sáng neon", "image": "https://…/photo.png" } }Ảnh→video (khung hình đầu/cuối, thời lượng, âm thanh)
{ "model": "video/wan-2.7-i2v", "input": {
"prompt": "máy quay tiến lại gần một cách mượt mà", "image": "https://…/first.png",
"image2": "https://…/last.png", "duration": 8, "resolution": "1080p" } }Âm nhạc
{ "model": "music/suno-v5", "input": { "title": "Northern Lights", "style": "epic orchestral", "instrumental": true, "version": "v6" } }Chuyển văn bản thành giọng nói
{ "model": "audio/gemini-3.1-flash-tts", "input": {
"text": "Xin chào thế giới", "voice": "Zephyr", "style": "empathetic",
"pace": "natural", "accent": "neutral" } }Hội thoại hai giọng nói — thay cho trường text, đặt lời thoại trong dialogue, các giọng nói trong voices (giọng 1 là giọng đầu tiên trong danh sách):
{ "model": "audio/gemini-3.1-flash-tts", "input": {
"voices": [ { "voice": "Kore", "style": "newscaster" }, { "voice": "Puck", "pace": "fast" } ],
"dialogue": [ { "speaker": 1, "text": "Chào buổi tối!" }, { "speaker": 2, "text": "Rất vui được nghe." } ] } }Avatar (video nhân vật nói từ ảnh + âm thanh)
{ "model": "video/omnihuman", "input": { "image": "https://…/face.png", "audio_url": "https://…/voice.mp3" } }Trạng thái và lỗi
GET /media/job/:id → trường status:
| Trạng thái | Ý nghĩa |
|---|---|
processing | Đang xử lý — tiếp tục truy vấn định kỳ |
done | Hoàn tất — tệp nằm trong result_url, số tiền đã trừ nằm trong cost_usd |
failed | Lỗi — nguyên nhân nằm trong error, tiền đã được hoàn lại |
Mã phản hồi của POST /media/generate: 400 — mô hình không xác định hoặc thiếu trường bắt buộc; 401 — thiếu khóa hoặc khóa không hợp lệ; 402 — số dư không đủ; 403 — mô hình không khả dụng cho tài khoản.
Nội dung lỗi luôn có cùng định dạng — { "error": "текст для человека", "code": "машинный код" }. Các mã: unknown_model, missing_param (+ trường param), invalid_input, invalid_attachment, prompt_too_long, input_too_long, no_auth, no_key, insufficient_balance, unpaid_shortfall, rate_limited, generation_failed, unavailable.
Ước tính chi phí trước
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 }Các tham số trong bảng đã được đối chiếu với danh mục dịch vụ ngày 19.10.2026; danh sách đầy đủ và cập nhật về mô hình, tham số và giá — GET /media/models.