EN ZalogujZałóż konto
Startujemy w październiku 2026. Działają konta, katalog modeli, kalkulator i dokumentacja. Studio jest dostępne w podglądzie; generowanie czeka na uruchomienie.

Serwer MCP: wideo i obrazy prosto z agenta

Wszystkie strony dokumentacji

Serwer MCP Jantarisa daje agentowi AI (Claude Code, Codex, Cursor i innym) zestaw narzędzi: listę modeli z cenami, wycenę przed startem, generowanie wideo, obrazów i muzyki, podgląd zadania i saldo. Piszesz po ludzku "zrób rolkę 9:16 o kawie", a agent wybiera model, pokazuje koszt i zleca generację. Płacisz z tego samego salda co za API, nieudane generacje nic nie kosztują.

MCP (Model Context Protocol) to otwarty standard, przez który programy z agentami AI podłączają zewnętrzne narzędzia. Działa jak gniazdko: raz wpisujesz adres serwera i klucz, a agent sam widzi, jakie narzędzia ma do dyspozycji i kiedy ich użyć. Nie musisz pisać kodu ani znać endpointów.

UstawienieWartość
Adreshttps://jantaris.com/mcp
TransportStreamable HTTP (zdalny serwer, nic nie instalujesz)
NagłówekAuthorization: Bearer sk-jt-...

Instalacja jednym kliknięciem

  • Dodaj do Cursora - Cursor czyta klucz ze zmiennej środowiskowej JANTARIS_API_KEY (ustaw ją najpierw, jak w sekcji o Codexie niżej).
  • Dodaj do VS Code - VS Code pyta o klucz raz i trzyma go w bezpiecznym magazynie.

Te same przyciski oraz gotowe do skopiowania polecenia dla Claude Code i Codexa z właściwym adresem są w panelu, zakładka Klucze API. Ani przyciski, ani polecenia nie zawierają klucza. Zaraz po utworzeniu klucza panel pokazuje też raz polecenie Claude Code z tym kluczem.

Klucz API

  1. Otwórz panel, zakładka Klucze API.
  2. Nazwij klucz, np. mcp-claude-code, i wpisz Limit miesięczny w złotówkach, np. 50.
  3. Kliknij Utwórz klucz i skopiuj sk-jt-... (pokazujemy go tylko raz).

Limit miesięczny to twój bezpiecznik. Agent, który dostał narzędzie do generowania wideo, może w złej pętli zlecić kilka klipów pod rząd. Gdy klucz dojdzie do limitu, API odpowiada 403 i nic więcej nie schodzi z salda. Więcej: Uwierzytelnianie.

W przykładach niżej zamień sk-jt-... na swój klucz.

Claude Code

Jedno polecenie w terminalu (to samo w macOS, Linuksie i Windows PowerShell):

bash
claude mcp add --transport http jantaris https://jantaris.com/mcp --header "Authorization: Bearer sk-jt-..."

Domyślnie serwer działa tylko w bieżącym folderze projektu. Żeby był dostępny we wszystkich projektach, dodaj --scope user:

bash
claude mcp add --transport http jantaris https://jantaris.com/mcp --scope user --header "Authorization: Bearer sk-jt-..."

Sprawdzenie:

bash
claude mcp list

Przy jantaris powinno być Connected. W samej sesji Claude Code wpisz /mcp, żeby zobaczyć status i listę narzędzi.

Claude Code przed każdym wywołaniem narzędzia pyta o zgodę. Zostaw to tak przy generate - widzisz wtedy, jaki model i jakie parametry agent chce wysłać.

Jeśli Claude Code korzysta już z Jantarisa jako dostawcy modeli (ANTHROPIC_BASE_URL, patrz Claude Code), MCP działa obok - ten sam klucz albo osobny, oba schodzą z jednego salda.

Codex CLI

Codex trzyma klucz w zmiennej środowiskowej, a w konfiguracji tylko jej nazwę.

macOS i Linux:

bash
export JANTARIS_API_KEY="sk-jt-..."
codex mcp add jantaris --url https://jantaris.com/mcp --bearer-token-env-var JANTARIS_API_KEY

Windows PowerShell (zmienna zapisana na stałe, potem otwórz nowy terminal):

powershell
[Environment]::SetEnvironmentVariable("JANTARIS_API_KEY", "sk-jt-...", "User")
codex mcp add jantaris --url https://jantaris.com/mcp --bearer-token-env-var JANTARIS_API_KEY

Polecenie dopisze do ~/.codex/config.toml (w Windows %USERPROFILE%\.codex\config.toml):

toml
[mcp_servers.jantaris]
url = "https://jantaris.com/mcp"
bearer_token_env_var = "JANTARIS_API_KEY"

Sprawdzenie: codex mcp list. Pełna instrukcja z wyjaśnieniem, czego Codex nie umie: Codex CLI z Jantaris.

Cursor

Utwórz plik .cursor/mcp.json w projekcie (albo ~/.cursor/mcp.json dla wszystkich projektów):

json
{
  "mcpServers": {
    "jantaris": {
      "url": "https://jantaris.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:JANTARIS_API_KEY}"
      }
    }
  }
}

${env:JANTARIS_API_KEY} Cursor podmienia na wartość zmiennej środowiskowej, więc klucz nie ląduje w pliku. Ustaw zmienną tak jak w sekcji Codex wyżej i uruchom Cursora ponownie. Jeśli wolisz prościej, wpisz klucz wprost: "Authorization": "Bearer sk-jt-..." - wtedy nie commituj tego pliku.

Po zapisaniu pliku serwer jantaris pojawi się na liście serwerów MCP w ustawieniach Cursora. Tam możesz go też wyłączyć bez usuwania.

VS Code

Tryb agenta w VS Code (GitHub Copilot) czyta plik .vscode/mcp.json. Ten wariant pyta o klucz przy pierwszym starcie i trzyma go w bezpiecznym magazynie VS Code, nie w pliku:

json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "jantaris-key",
      "description": "Klucz Jantaris (sk-jt-...)",
      "password": true
    }
  ],
  "servers": {
    "jantaris": {
      "type": "http",
      "url": "https://jantaris.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:jantaris-key}"
      }
    }
  }
}

Sprawdzenie: paleta poleceń (Ctrl+Shift+P, na macOS Cmd+Shift+P), polecenie MCP: List Servers, wybierz jantaris i zobacz status.

Cline

W panelu Cline kliknij ikonę MCP Servers, zakładka Remote Servers: nazwa jantaris, adres https://jantaris.com/mcp, transport Streamable HTTP. Nagłówek z kluczem dopisujesz w pliku ustawień (Configure MCP Servers):

json
{
  "mcpServers": {
    "jantaris": {
      "type": "streamableHttp",
      "url": "https://jantaris.com/mcp",
      "headers": {
        "Authorization": "Bearer sk-jt-..."
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Zostaw autoApprove puste, żeby Cline pytał przed każdym generowaniem.

Claude Desktop

W aplikacji Claude (i na claude.ai) zdalny serwer dodajesz jako własny konektor:

  1. Customize, potem Connectors.
  2. + Add, potem Add custom connector.
  3. Nazwa: Jantaris, adres: https://jantaris.com/mcp.
  4. Uwierzytelnianie: bez logowania (No sign in), a w sekcji Request headers dodaj nagłówek Authorization o wartości Bearer sk-jt-....

Według pomocy Anthropic własne konektory działają w planach Free (jeden konektor), Pro, Max, Team i Enterprise. W Team i Enterprise konektor dodaje właściciel organizacji w ustawieniach organizacji. Konektor łączy się z serwerów Anthropic, nie z twojego komputera.

OpenCode

W pliku opencode.json:

json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "jantaris": {
      "type": "remote",
      "url": "https://jantaris.com/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer sk-jt-..."
      }
    }
  }
}

Inne programy

Każdy program, który obsługuje zdalne serwery MCP przez Streamable HTTP, potrzebuje tych samych trzech rzeczy: adresu https://jantaris.com/mcp, nagłówka Authorization i wartości Bearer sk-jt-.... Na przykład Windsurf w pliku mcp_config.json używa pola serverUrl zamiast url:

json
{
  "mcpServers": {
    "jantaris": {
      "serverUrl": "https://jantaris.com/mcp",
      "headers": { "Authorization": "Bearer sk-jt-..." }
    }
  }
}

Narzędzia serwera

NarzędzieCo robi
search_modelsDobiera modele do zadania: rodzaj (text-to-video, image-to-video, image-edit, music, upscale...), cena maksymalna, dźwięk, proporcje, rozdzielczość, dowolny opis. Zwraca 5 najlepszych z ceną i podpowiedzią "kiedy wybrać"
list_modelsWszystkie modele z ceną za jednostkę (długa lista - zwykle lepszy jest search_models)
get_modelSzczegóły modelu: parametry, dozwolone wartości, limity, cena
estimate_costSprawdza parametry i zwraca szacowany koszt oraz confirm_token. Nic nie pobiera
generateZleca generację i czeka na wynik (domyślnie 45 sekund, najwyżej 240). Przyjmuje max_cost i confirm_token. Obrazy wracają też jako podgląd
wait_for_taskCzeka do 240 sekund na trwające zadanie i zwraca wynik
get_taskStatus zadania i linki do wyników, od razu
list_tasks20 ostatnich zadań, opcjonalnie według statusu
cancel_taskMówi, czy zadanie da się jeszcze zatrzymać. Zadania wysłanego już do modelu nie da się zatrzymać: jeśli się nie uda, kosztuje 0 zł, jeśli się uda - jest rozliczane
get_balanceSaldo, środki dostępne po odjęciu blokad i - dla klucza z limitem - ile limitu miesięcznego zużyto
upload_fileZamienia plik z komputera albo publiczny link na adres do pól image_url, video_url, audio_url i podobnych
chatPytanie do dowolnego modelu czatu z katalogu, np. o drugą opinię
search_docsPrzeszukuje tę dokumentację i zwraca 3 najlepsze fragmenty z linkami

Obrazy zwykle mieszczą się w 45 sekundach. Wideo trwa 1-4 minuty: generate czeka do 240 sekund, a gdy zadanie wciąż trwa, agent dostaje id i podpowiedź, żeby wywołać wait_for_task. Programy obsługujące postęp (MCP progressToken) pokazują w tym czasie "running 40 s".

Linki do wyników są ważne ograniczony czas (expires_at). Każdy wynik ma gotowe polecenie curl -o, więc możesz napisać agentowi "zapisz wideo w folderze media/".

Kontrola wydatków: najpierw zgoda, potem generacja

Dwa bezpieczniki pilnują, żeby agent nie wydał więcej, niż zatwierdziłeś:

  1. max_cost w generate: gdy wycena jest wyższa, zadanie nie startuje, nic nie jest pobrane ani zablokowane.
  2. confirm_token z estimate_cost: agent pokazuje koszt, ty piszesz "OK", a on wywołuje generate z tymi samymi parametrami i tym tokenem. Jeśli od wyceny zmienił się model albo którykolwiek parametr, albo minęło 15 minut, wywołanie zostaje odrzucone i nic nie schodzi z salda.

Zalecany przebieg (gotowe prompty niżej go stosują): search_models -> estimate_cost -> twoja zgoda -> generate z confirm_token i max_cost -> w razie potrzeby wait_for_task.

Trzeci bezpiecznik to osobny klucz z limitem miesięcznym (patrz Klucz API) - get_balance pokazuje, ile z niego zużyto.

Pliki z komputera

Animacja zdjęcia, synchronizacja ust czy audio referencyjne wymagają adresu pliku. upload_file załatwia to na jeden z trzech sposobów:

  • data_base64 (+ filename) - agent wysyła plik w wywołaniu, do 8 MB.
  • source_url - serwer sam pobiera publiczny link (do 25 MB).
  • request_upload_url: true - serwer zwraca jednorazowy adres ważny 10 minut, a agent uruchamia:
bash
curl -T zdjecie.png "https://jantaris.com/mcp/upload/..."
powershell
Invoke-WebRequest -Method Put -InFile .\zdjecie.png -Uri "https://jantaris.com/mcp/upload/..."

Każdy sposób zwraca url, mime, bytes i expires_at. Dozwolone typy: PNG, JPG, WebP, MP4, MOV, MP3, WAV (sprawdzane po zawartości, nie po nazwie). Pliki znikają po 30 dniach.

Gotowe prompty

Serwer udostępnia przepisy, które program pokazuje jako prompty albo polecenia z ukośnikiem (w Claude Code: /mcp__jantaris__reel_9x16). Każdy prowadzi agenta przez wybór modelu, zgodę na koszt, wgranie pliku i generację:

PromptArgumenty
reel_9x16topic, duration, language
product_adproduct, style
ugc_testimonialproduct, persona, language
image_to_video_from_filefile_path, motion
podcast_covertitle, style
music_jinglemood, length
compare_modelsprompt, models

Przykładowe polecenia

Wklej do agenta po podłączeniu serwera:

  • "Zrób rolkę 9:16 w Seedance 2.5, 5 sekund, o porannej kawie w małej kawiarni. Najpierw pokaż mi koszt i poczekaj na moją zgodę."
  • "Wygeneruj 3 warianty okładki do tego README w GPT Image 2.5, proporcje 16:9, i zapisz je w docs/img/."
  • "Pokaż 5 najtańszych modeli wideo, które obsługują 1080p, z ceną za sekundę."
  • "Ile mam jeszcze na koncie?"
  • "Zapytaj Gemini 3.8 Flash o drugą opinię na temat tej funkcji i porównaj z twoją."

Aktualne ceny przykładowych modeli: Seedance 2.5 od 1,51 zł za sekundę, GPT Image 2.5 0,254 zł za obraz, Nano Banana Pro od 0,439 zł za obraz. Pełny cennik: Cennik.

Bezpieczeństwo i koszty

  • Osobny klucz z limitem miesięcznym dla każdego agenta. Po przekroczeniu limitu dostajesz 403, saldo konta zostaje nietknięte.
  • Zgoda przed generacją. Agent wywołuje estimate_cost, pokazuje koszt i przekazuje confirm_token oraz max_cost do generate (patrz Kontrola wydatków). Dodaj tę zasadę także do pliku AGENTS.md.
  • Nie włączaj automatycznej zgody na narzędzie generate. Zgoda na search_models, list_models, get_model, estimate_cost, get_task, wait_for_task, list_tasks, get_balance i search_docs jest bezpieczna, bo nic nie kosztują.
  • Nieudana generacja = 0 zł. Środki są blokowane na czas zadania i wracają w całości, gdy model zwróci błąd.
  • Klucz nie trafia do repozytorium. W plikach projektowych używaj zmiennych (${env:...} w Cursorze, ${input:...} w VS Code, bearer_token_env_var w Codexie).

Najczęstsze błędy

ObjawPrzyczyna i rozwiązanie
Failed to connect / serwer czerwonyLiterówka w adresie (musi kończyć się na /mcp) albo brak słowa Bearer i spacji przed kluczem
401Zły, usunięty albo niepełny klucz. Utwórz nowy w panelu
402Za niskie saldo. Doładuj i powtórz
403Klucz doszedł do limitu miesięcznego. Utwórz nowy z wyższym limitem
422 przy generateParametr spoza zakresu modelu, np. za długie wideo. Poproś agenta, żeby najpierw wywołał get_model
Codex: serwer nie startujeZmienna JANTARIS_API_KEY nie jest ustawiona w terminalu, z którego uruchamiasz codex
Agent nie widzi narzędziUruchom program ponownie po dodaniu serwera. W Claude Code sprawdź /mcp

Więcej kodów: Błędy.