Skip to content

Generowanie multimediów (filmy, zdjęcia, muzyka)

NordRouter może generować obrazy, filmy i muzykę - za pomocą tego samego klucza sk-nr-… i z tego samego balansu co modele tekstowe. Płatność za fakt, żadnych tokenów i pakietów.

Jak to działa

Generowanie jest asynchroniczne (wideo i muzyka trwają od sekund do kilku minut):

  1. Utwórz zadanie - POST /media/generate z modelem i parametrami.
  2. Poczekaj na wynik - sonduj GET /media/job/:id, aż status stanie się done.
  3. Odbierz plik – poprzez result_url (link do nordrouter.com).

1. Utwórz zadanie

bash
curl https://nordrouter.com/media/generate \
  -H "Authorization: Bearer sk-nr-ВАШ-КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "image/nano-banana-2",
    "input": { "prompt": "уютная хижина в зимнем лесу, акварель", "resolution": "2K" }
  }'

Odpowiedź:

json
{ "id": "beefb531-…", "model": "image/nano-banana-2", "status": "processing",
  "poll": "https://nordrouter.com/media/job/beefb531-…" }

2. Poczekaj na wynik

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

status: processingdone (lub failed). Gotowy plik jest dostępny pod adresem result_url.

🎵 Suno generuje dwie ścieżki na zadanie: pierwsza w result_url, druga w result_url_2 (ten sam format łącza). Cena dotyczy całego zadania, w cenę wliczone są już oba tory.

Webhooki (zamiast odpytywania)

Jeśli nie chcesz odpytywać, przekaż pole callback_url do POST /media/generate, a my wyślemy wynik poprzez żądanie POST po zakończeniu zadania:

bash
curl https://nordrouter.com/media/generate \
  -H "Authorization: Bearer sk-nr-ВАШ-КЛЮЧ" -H "Content-Type: application/json" \
  -d '{
    "model": "image/nano-banana-2",
    "input": { "prompt": "…" },
    "callback_url": "https://ваш-сервер.com/webhooks/nordrouter",
    "callback_secret": "ваш-секрет"
  }'

Gdy zadanie trafi do done/failed, na adres callback_url zostanie wysłany komunikat POST z tą samą treścią, którą wysyła GET /media/job/:id, plus pole event:

json
{ "event": "media.completed", "id": "beefb531-…", "status": "done",
  "result_url": "https://nordrouter.com/media/file/beefb531-…", "cost_usd": 0.052, "error": null }

event: media.completed lub media.failed.

Weryfikacja podpisu. Jeśli ustawisz callback_secret, nagłówek X-NR-Signature będzie zawierał sha256=<hmac> - HMAC-SHA256 z treści żądania Twojego sekretu. Sprawdź, czy prośba pochodzi od nas:

python
import hmac, hashlib
expected = "sha256=" + hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()
assert hmac.compare_digest(expected, request.headers["X-NR-Signature"])

Wymagania i niezawodność:

  • callback_url - tylko https:// i tylko adres publiczny (adresy IP wewnętrzne/prywatne są odrzucane z błędem 400).
  • Do 4 prób doręczenia z rosnącą przerwą; odpowiedz 2xx, w przeciwnym razie powtórzymy.
  • Webhook nie anuluje odpytywania - możesz to połączyć lub użyć GET /media/job/:id jako opcji awaryjnej.

Więcej szczegółów

Cykl życia zadania, weryfikacja podpisu na przykładach i pewność dostarczenia - na stronie Zadania i webhooki.

3. Lista modeli i cen

GET /media/models zwraca dostępne modele, ich parametry i szacunki kosztów:

json
{ "models": [
    { "id": "image/nano-banana-2", "type": "image",
      "fields": [ {"name":"prompt","type":"textarea"}, {"name":"resolution","type":"select","options":["1K","2K","4K"]} ],
      "est_usd": 0.052 }
  ], "retention_days": 14 }

Kompletny przewodnik

Wszystkie modele z parametrami input i ceną znajdują się na stronie**Media: wszystkie modele i rozliczenia**.

Modele

Dostępnych 95 modeli - pełna aktualna lista z parametrami i ceną znajduje się zawsze na stronie GET /media/models. Główne rodziny:

TypRodzinaTryby≈ cena
🖼 ZdjęciaNano Banana / 2 / Pro (image/nano-banana*)tekst → zdjęcie, edycja, do 4Kod 0,025 USD
🖼Zdjęcie 4 Fast / Ultra (image/imagen4*)tekst → zdjęciez 0,025 USD
🖼GPT Obraz 1.5 / 2 (image/gpt-image-*)tekst → zdjęcie, edycja, do 4Kod 0,025 USD
🖼Flux 2 Pro / Flex (image/flux2-*)tekst → zdjęcie, edycjaz 0,03 USD
🖼Seedream v4 / 4.5 / 5 Lite (image/seedream-*)tekst → zdjęcie, edycjaod 0,04 USD
🖼Ideogram v3 / Znak (image/ideogram-*)tekst, remiks, znakod 0,02 $
🖼Qwen / Wan Image / Grok / Z-Imagetekst → zdjęcie, edycjaod 0,01 $
🛠 NarzędziaTopaz / Recraft (image/*upscale*, image/recraft-remove-bg)skalowanie do 8K, usuwanie tłaod 0,01 USD
🎬 WideoVeo 3.1 Lite / Szybki / Jakość (video/veo-3.1-*)tekst/zdjęcie →videood 0,19 USD
🎬Kling 2.1 → 3.0 (video/kling-*)tekst/zdjęcie→wideo, ruch, awatary, do 4K i 15 sod 0,16 USD
🎬Wan 2.2 → 2.7 (video/wan-*)tekst/photo/video →video, zamiana mowy na wideood 0,25 USD
🎬Seedance 1.5 / 2 / Fast / Mini (video/seedance-*)tekst/zdjęcie →wideo, do 4K, dźwiękod 0,06 USD
🎬Hailuo 02 / 2.3 (video/hailuo-*)tekst/zdjęcie →videood 0,08 USD
🎬HappyHorse 1.0 / 1.1 (video/happyhorse-*)tekst/zdjęcie/referencja →video, edytuj wideood 0,70 USD
🎬Grok Video / 1.5 (video/grok-*)tekst/zdjęcie →video, do 30sod 0,06 USD
🎬Gemini Omni (video/gemini-omni)wideo z dźwiękiem, do 4Kod 0,39 USD
🗣 AwataryKling Avatar, OmniHuman, InfiniteTalk, Lip Syncfoto+audio → rozmowa wideoz 0,19 USD
🎵 MuzykaSuno V4–V5.5 (music/suno-v5)tekst/style →2 utwory~0,08 $
🎙 GłosElevenLabs Turbo / Wielojęzyczny (audio/elevenlabs-*)tekst → mowa, izolacja głosuod 0,04 USD / 1000 cyfr.

Opcje

Parametry zależą od modelu - dokładna lista znajduje się w /media/models (pole fields: nazwa, typ, opcje, domyślne). Ogólne:

  • prompt - opis (dla wszystkich modeli generatywnych).
  • resolution - 1K/2K/4K (zdjęcia) lub 480p/720p/1080p/4k (wideo). Cena zależy od rozdzielczości.
  • aspect_ratio - 1:1, 16:9, 9:16 itp.
  • duration — czas trwania filmu w sekundach (dla większości 5/10, dla Kling 3.0 i Wan 2.7 do 15, dla Grok do 30). Filmy są naliczane sekundowo.
  • sound / generate_audio - ścieżka dźwiękowa (Kling, Seedance). Dźwięk jest droższy – ocena w /media/estimate uwzględnia to.
  • mode / quality / rendering_speed - poziom jakości (Kling 3.0 std/pro/4K, obraz GPT medium/high, ideogram TURBO/BALANCED/QUALITY).
  • image - obraz wejściowy (edycja, zdjęcie →video; wyślij bezpośredni link lub pobierz przez /media/upload).
  • video_url / audio_url – wejście wideo/audio (edycja wideo, synchronizacja ruchu warg, awatary).
  • Dla muzyki: title, style, instrumental, version (V4V5_5).

Dokładną cenę konkretnej konfiguracji przed uruchomieniem pokazuje POST /media/estimate z tym samym model + input.

Koszt i przechowywanie

  • Pobierane z Twojego salda w USD według rzeczywistego kosztu wytworzenia - dokładną kwotę można zobaczyć na cost_usd po zakończeniu.
  • Nieudane wygenerowanie (błąd dostawcy) nie pobrano - rezerwa jest zwracana automatycznie.
  • Pliki przechowywane są na naszych serwerach przez ograniczony czas (patrz retention_days pod adresem /media/models) - pobierz, aby zapisać.