Skip to content

メディア API — 画像、動画、音楽 ​

テキストモデルと同じ sk-nr-… キー、同じ残高で画像、動画、音楽を生成できます。残高は共通で、利用した分だけ課金され、サブスクリプションやパッケージはありません。

  • ベース URL: 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. タスクを作成

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": "滑らかなカメラのドリーイン", "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. ステータスをポーリング(3~5 秒ごと)

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. ファイルを取得 — result_url から取得します。リンクは nordrouter.com(独自ブランド)を指します。ファイルは14 日間保存され、その後削除されます。事前にダウンロードするか、ご自身のストレージに移してください。

ソースメディアファイルのアップロード

image、image2、audio_url、video_url フィールドには、直接アクセス可能な公開 URL を指定できます。attachments フィールドを持つモデルでは、POST /media/upload が返すオブジェクトの配列を指定できます。{ "data": "data:audio/mpeg;base64,…", "name": "track.mp3" } を送信し、アップロード API のレスポンス全体を input.attachments に渡してください。Suno では代わりに公開 URL を input.source_url に指定できます。mashup の場合は、2 つの URL を input.source_urls に指定します。

課金 ​

料金はドル建て残高(テキストモデルと共通)から、生成が完了した時点で、以下の表に記載された金額どおりに差し引かれます。

  • 仮確保 → 実額。 タスクの作成時に推定料金が仮確保されます。完了後、実際の結果に基づいて金額が再計算され、余剰分は残高に返金されます。
  • 動画は秒単位。 料金は長さと解像度に応じて変わります。音声を有効にすると料金が高くなります。表にはデフォルト設定での「開始料金」が記載されています。/秒 の表記は秒単位の料金を示します。
  • エラーは課金対象外。 タスクが failed ステータスで終了した場合、仮確保額は全額返金されます。課金されるのは生成に成功した場合のみです。
  • 正確な料金の事前確認 — POST /media/estimate に同じ model と input を指定すると、実行前に { "usd": … } が返されます。
  • 残高への入金はルーブルで行います(約 $1 = 89~96 ₽)。その後の計算はすべて USD で行われます。

モデルカタログ ​

料金: 動画は秒単価(/秒)で、合計 = 秒単価 × 長さ(解像度や音声によって変わる場合があります)。それ以外は、デフォルト設定での1回の生成あたりの料金です。任意の設定の正確な料金は 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、およびこのドキュメントでは新しい名前のみを使用します。1つのパラメータについて新旧両方の名前がリクエストに含まれる場合は、新しい名前が優先されます。

🖼 画像 ​

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=boolPNG$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=boolPNG$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=boolPNG$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=boolPNG$0.11
image/imagen4-fastテキスト→画像prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=boolPNG$0.025
image/imagen4テキスト→画像prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=boolPNG$0.050
image/imagen4-ultraテキスト→画像prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=boolPNG$0.075
image/gpt-image-1.5テキスト→画像prompt *, aspect_ratio=1:1|2:3|3:2, quality=medium|high, safety_filter=boolPNG$0.025
image/gpt-image-1.5-edit画像編集prompt *, image=url *, aspect_ratio=3:2|1:1|2:3, quality=medium|high, safety_filter=boolPNG$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|4kPNG$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=boolPNG$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=boolPNG$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=boolPNG$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=boolPNG$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=boolPNG$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=boolPNG$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=boolPNG$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=boolPNG$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=boolPNG$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=boolPNG$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=boolPNG$0.044
image/ideogram-character画像編集prompt *, image=url *, render_mode=fast|balanced|quality, style=auto|realistic|fiction, safety_filter=boolPNG$0.11
image/qwenテキスト→画像prompt *, aspect_ratio=1:1-hd|1:1|3:4|9:16|4:3|16:9, safety_filter=boolPNG$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=boolPNG$0.037
image/qwen-i2i画像編集prompt *, image=url *, safety_filter=boolPNG$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=boolPNG$0.037
image/grokテキスト→画像prompt *, aspect_ratio=1:1|2:3|3:2|16:9|9:16, pro=bool, safety_filter=boolPNG$0.025
image/grok-edit画像編集prompt *, image=url *, safety_filter=boolPNG$0.025
image/z-imageテキスト→画像prompt *, aspect_ratio=1:1|16:9|9:16|3:4|4:3, safety_filter=boolPNG$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=boolPNG$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=boolPNG$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|4kPNG$0.013
image/gemini-3-proテキスト→画像prompt *, aspect_ratio=1:1|16:9|9:16|4:3|3:4, resolution=1k|2k|4kPNG$0.031

🎬 動画 ​

modelモードinput パラメータファイル料金
video/veo-3.1-fastテキスト→動画prompt *, aspect_ratio=16:9|9:16, image=urlMP4$0.38
video/veo-3.1-qualityテキスト→動画prompt *, aspect_ratio=16:9|9:16, image=urlMP4$1.56
video/veo-3.1-liteテキスト→動画prompt *, aspect_ratio=16:9|9:16, image=urlMP4$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=boolMP4$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=boolMP4$0.11/秒
video/kling-t2vテキスト→動画prompt *, duration=3–15秒, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=boolMP4$0.11/秒
video/kling-turbo-i2v写真→動画prompt *, image=url *, duration=3–15秒, resolution=720p|1080p, safety_filter=boolMP4$0.11/秒
video/kling-2.6-t2vテキスト→動画prompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, audio=bool, safety_filter=boolMP4$0.34
video/kling-2.6-i2v写真→動画prompt *, image=url *, duration=5|10, audio=bool, safety_filter=boolMP4$0.34
video/kling-2.5-t2vテキスト→動画prompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, safety_filter=boolMP4$0.26
video/kling-2.5-i2v写真→動画prompt *, image=url *, image2=url, duration=5|10, safety_filter=boolMP4$0.26
video/kling-i2v写真→動画prompt *, image=url *, image2=url, duration=5|10, safety_filter=boolMP4$0.31
video/kling-2.1-standard写真→動画prompt *, image=url *, duration=5|10, safety_filter=boolMP4$0.16
video/kling-2.1-master-t2vテキスト→動画prompt *, duration=5|10, aspect_ratio=16:9|9:16|1:1, safety_filter=boolMP4$1.00
video/kling-2.1-master-i2v写真→動画prompt *, image=url *, duration=5|10, safety_filter=boolMP4$1.00
video/kling-motion動画→動画image=url *, video_url *, prompt, mode=standard|proMP4$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=boolMP4$0.15/秒
video/wan-2.7-i2v写真→動画prompt *, image=url *, image2=url, duration=2–15秒, resolution=720p|1080p, audio_url, safety_filter=boolMP4$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=boolMP4$0.15/秒
video/wan-2.7-edit動画→動画prompt *, video_url *, resolution=720p|1080p, audio_source=auto|originalMP4$1.50
video/wan-t2vテキスト→動画prompt *, duration=5|10|15, resolution=720p|1080p, safety_filter=boolMP4$0.44
video/wan-i2v写真→動画prompt *, image=url *, duration=5|10|15, resolution=720p|1080p, safety_filter=boolMP4$0.44
video/wan-v2v動画→動画prompt *, video_url *, duration=5|10, resolution=720p|1080pMP4$0.44
video/wan-2.5-t2vテキスト→動画prompt *, duration=5|10 *, aspect_ratio=16:9|9:16|1:1, resolution=720p|1080p, safety_filter=boolMP4$0.38
video/wan-2.5-i2v写真→動画prompt *, image=url *, duration=5|10 *, resolution=720p|1080p, safety_filter=boolMP4$0.38
video/wan-2.2-t2vテキスト→動画prompt *, aspect_ratio=16:9|9:16, resolution=480p|720p, safety_filter=boolMP4$0.50
video/wan-2.2-i2v写真→動画prompt *, image=url *, resolution=480p|720p, safety_filter=boolMP4$0.50
video/wan-s2vアバター(写真+音声)prompt *, image=url *, audio_url *, resolution=480p|580p|720pMP4$0.38
video/wan-animate-move動画→動画image=url *, video_url *, resolution=480p|580p|720pMP4$0.38
video/wan-animate-replace動画→動画image=url *, video_url *, resolution=480p|580p|720pMP4$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=boolMP4$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=boolMP4$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=boolMP4$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=boolMP4$0.025/秒
video/hailuo-02-t2vテキスト→動画prompt *, duration=6|10, safety_filter=boolMP4$0.19
video/hailuo-02-t2v-proテキスト→動画prompt *, safety_filter=boolMP4$0.36
video/hailuo-02-i2v写真→動画prompt *, image=url *, image2=url, duration=6|10, resolution=768p|512p, safety_filter=boolMP4$0.19
video/hailuo-02-i2v-pro写真→動画prompt *, image=url *, image2=url, safety_filter=boolMP4$0.36
video/hailuo-2.3-i2v写真→動画prompt *, image=url *, duration=6|10, resolution=768p|1080p, safety_filter=boolMP4$0.19
video/hailuo-2.3-i2v-pro写真→動画prompt *, image=url *, duration=6|10, resolution=768p|1080p, safety_filter=boolMP4$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=boolMP4$0.18/秒
video/happyhorse-1.1-i2v写真→動画prompt, image=url *, duration=3–15秒, resolution=720p|1080p, safety_filter=boolMP4$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=boolMP4$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=boolMP4$0.30/秒
video/happyhorse-i2v写真→動画prompt, image=url *, duration=3–15秒, resolution=720p|1080p, safety_filter=boolMP4$0.30/秒
video/happyhorse-edit動画→動画prompt *, video_url *, resolution=720p|1080p, audio_source=auto|originalMP4$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=boolMP4$0.019/秒
video/grok-i2v写真→動画prompt *, image=url *, duration=6–30秒, resolution=480p|720p, mode=normal|fun|spicy, safety_filter=boolMP4$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=boolMP4$0.019/秒
video/omnihumanアバター(写真+音声)image=url *, audio_url *, prompt, resolution=720p|1080pMP4$1.69
video/infinitalkアバター(写真+音声)prompt *, image=url *, audio_url *, resolution=480p|720pMP4$0.19
video/lipsync動画→動画video_url *, audio_url *, mode=lite|basicMP4$0.50
video/topaz-upscaleアップスケールvideo_url *, scale=2|4MP4$0.50

🎵 音楽 ​

modelモードinput パラメータファイル料金
music/suno-v5音楽title *, style *, version=v6|v6-wild|v6-mini, instrumental=bool, promptMP3$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=boolMP3$0.075
music/suno-add-vocals音楽prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, style, title, exclude_styles, vocal=female|maleMP3$0.075
music/suno-add-instrumental音楽prompt *, attachments=upload[] *, version=v6|v6-wild|v6-mini, title, exclude_stylesMP3$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#mMP3$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–2WAV$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–2WAV$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.2MP3$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.2MP3$0.075

🧊 3Dモデル ​

出力はGLB(モデルによっては OBJ、FBX、STL、USDZ、USD、3MF も選択可能)とプレビュー画像です。タスクの結果には複数のファイルが含まれ、それぞれ異なる拡張子を持ちます。ファイル一覧は results フィールドにあり、各項目に ext が含まれます。

料金は生成後に確定します

3Dの料金は実際に使用したリソースに基づいて計算されます。表に記載された上限額を一時的に差し引き、実際の料金が確定した後にその額を請求して、差額を返金します。最終的な料金は常に cost_usd に含まれます。

modelモードinput パラメータファイル料金
3d/tripo-textテキスト→3Dprompt *, negative_prompt, texture_detail=standard|high, geometry_detail=standard|high, pbr=bool, quad_mesh=boolGLB/FBX$0.31–0.79
3d/tripo-image写真→3Dimage=url *, texture_detail=standard|high, geometry_detail=standard|high, pbr=bool, quad_mesh=boolGLB/FBX$0.31–0.79
3d/hunyuan-rapid-textテキスト→3Dprompt *, file_format=glb|obj|fbx|stl|usdz, pbr=bool, extra_mesh=boolGLB など$0.43–0.71
3d/hunyuan-rapid-image写真→3Dimage=url *, file_format=glb|obj|fbx|stl|usdz, pbr=bool, extra_mesh=boolGLB など$0.43–0.71
3d/hunyuan-pro-textテキスト→3Dprompt *, output=textured|mesh, polygons=auto|40000|100000|300000|800000|1500000, pbr=boolGLB$0.71–1.00
3d/hunyuan-pro-image写真→3Dimage=url *, output=textured|mesh, polygons=auto|40000|100000|300000|800000|1500000, pbr=boolGLB$0.71–1.00
3d/seed3d-image写真→3Dimage=url *, mesh_detail=low|medium|high, file_format=glb|obj|usd|usdzGLB/OBJ/USD$0.50
3d/meshy-textテキスト→3Dprompt *, 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-image写真→3Dimage=url *, texture_size=2k|4k|8k, ultra=bool, texture=bool, pbr=bool, texture_text, texture_photo=urlGLB$0.94–1.26
3d/meshy-multi-image複数視点→3Dimages=[url] * (1–4), texture_size=2k|4k|8k, ultra=bool, texture=bool, pbr=bool, texture_textGLB$0.94–1.26

写真をテクスチャとして使用。 3d/meshy-* では、テクスチャはジオメトリとは別に指定します。texture_photo に画像を指定するか、texture_text にテキストを指定してください。

処理時間。 3Dの生成には30秒から数分かかります。画像や短い動画より時間がかかります。接続を維持する必要はありません。ステータスは保存され、Webhookも利用できます。

🛠 ユーティリティ ​

modelモードinput パラメータファイル料金
image/topaz-upscaleアップスケールimage=url *, scale=2|4|8PNG$0.063
image/recraft-remove-bg編集image=url *PNG$0.006
image/recraft-upscaleアップスケールimage=url *PNG$0.006

モード別の例 ​

テキストから画像を生成

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

画像の編集

json
{ "model": "image/seedream-edit", "input": { "prompt": "背景を削除し、ネオンを追加", "image": "https://…/photo.png" } }

写真→動画(最初/最後のフレーム、長さ、音声)

json
{ "model": "video/wan-2.7-i2v", "input": {
    "prompt": "カメラが滑らかに被写体へ近づく", "image": "https://…/first.png",
    "image2": "https://…/last.png", "duration": 8, "resolution": "1080p" } }

音楽

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

音声合成

json
{ "model": "audio/gemini-3.1-flash-tts", "input": {
    "text": "こんにちは、世界", "voice": "Zephyr", "style": "empathetic",
    "pace": "natural", "accent": "neutral" } }

2つの声による対話 — text フィールドの代わりに、セリフを dialogue、声を voices に指定します(声1はリストの先頭):

json
{ "model": "audio/gemini-3.1-flash-tts", "input": {
    "voices": [ { "voice": "Kore", "style": "newscaster" }, { "voice": "Puck", "pace": "fast" } ],
    "dialogue": [ { "speaker": 1, "text": "こんばんは!" }, { "speaker": 2, "text": "声が聞けてうれしいです。" } ] } }

アバター(写真+音声から話す動画を生成)

json
{ "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。

料金の事前見積もり ​

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 }

表内のパラメータは2026年10月19日にサービスのカタログと照合済みです。モデル、パラメータ、料金の最新の全リストは GET /media/models で取得できます。