EN ZalogujOtwórz Studio
Wersja podglądowa. Katalog modeli, ceny, kalkulator i dokumentacja działają. Generowanie uruchomimy po starcie serwisu.

Szybki start

Dokumentacja: spis stron

Kadraris API to jeden klucz i jedno przedpłacone saldo dla modeli czatu, obrazu, wideo i audio. W kilku krokach przejdziesz tu od pustego konta do pierwszej odpowiedzi modelu językowego i pierwszego gotowego obrazu. Wszystkie przykłady da się wkleić do terminala bez zmian, poza kluczem.

Każde zapytanie idzie pod ten sam adres bazowy:

text
https://kadraris.com/v1

Krok 1: konto, saldo i klucz

  1. Zarejestruj się i zasil saldo kwotą od 40 zł (więcej w Rozliczeniach).
  2. W panelu wejdź w zakładkę z kluczami API i wygeneruj nowy klucz.
  3. Skopiuj go od razu - zaczyna się od sk-kd-, ma 32 znaki i panel nie pokaże go drugi raz.

Klucz wstaw do zmiennej środowiskowej, żeby nie lądował w plikach z kodem:

bash
export KADRARIS_API_KEY="sk-kd-..."
powershell
$env:KADRARIS_API_KEY = "sk-kd-..."

Nagłówki, limity wydatków i dobre praktyki opisuje strona Uwierzytelnianie.

Krok 2: pierwsze pytanie do modelu czatu

Endpoint /v1/chat/completions przyjmuje format OpenAI. Oficjalne SDK OpenAI wystarczy więc skierować na inny adres bazowy.

bash
curl https://kadraris.com/v1/chat/completions \
  -H "Authorization: Bearer $KADRARIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user",
      "content": "Opisz w trzech zdaniach kadr filmowy."}]
  }'
python
# pip install openai
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://kadraris.com/v1",
    api_key=os.environ["KADRARIS_API_KEY"],
)

resp = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user",
               "content": "Opisz w trzech zdaniach kadr filmowy."}],
)
print(resp.choices[0].message.content)
print(resp.usage)
javascript
// npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://kadraris.com/v1",
  apiKey: process.env.KADRARIS_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "claude-sonnet-5",
  messages: [
    { role: "user", content: "Opisz w trzech zdaniach kadr filmowy." },
  ],
});
console.log(resp.choices[0].message.content);

Inny model to tylko inna wartość model, np. gpt-6-sol, gemini-3.6-flash czy deepseek-v4-flash. Strumieniowanie, narzędzia i reszta opcji: Czat.

Krok 3: pierwszy obraz

Obraz, wideo i audio zamawiasz jako zadanie przez POST /v1/generate. Przy obrazach opłaca się dodać ?wait=60 - serwer trzyma wtedy połączenie otwarte do chwili, gdy plik jest gotowy.

bash
curl "https://kadraris.com/v1/generate?wait=60" \
  -H "Authorization: Bearer $KADRARIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5",
    "input": {
      "prompt": "Stara kamera filmowa na statywie, ciepłe światło",
      "aspect_ratio": "1024x1024"
    }
  }'
python
import os, requests

r = requests.post(
    "https://kadraris.com/v1/generate",
    params={"wait": 60},
    headers={"Authorization":
             f"Bearer {os.environ['KADRARIS_API_KEY']}"},
    json={
        "model": "gpt-image-2.5",
        "input": {
            "prompt": "Stara kamera filmowa na statywie, ciepłe światło",
            "aspect_ratio": "1024x1024",
        },
    },
    timeout=130,
)
task = r.json()
print(r.status_code, task["status"])
if task["status"] == "succeeded":
    print(task["output"][0]["url"], task["cost"])
javascript
const r = await fetch("https://kadraris.com/v1/generate?wait=60", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KADRARIS_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "gpt-image-2.5",
    input: {
      prompt: "Stara kamera filmowa na statywie, ciepłe światło",
      aspect_ratio: "1024x1024",
    },
  }),
});
const task = await r.json();
console.log(r.status, task.status, task.output?.[0]?.url);

Co może wrócić:

  • 200 ze status: "succeeded" i tablicą output - obraz zdążył w 60 sekund.
  • 202 z aktualnym stanem zadania - generacja trwa dłużej, więc sprawdzasz zadanie albo czekasz na webhook.

Adresy plików w output wygasają po pewnym czasie, dlatego zapisz u siebie to, co ma zostać. Obecna stawka tego modelu to 0,293 zł za obraz, a generacja zakończona błędem kosztuje 0 zł.

Krok 4: ile zostało na koncie

bash
curl https://kadraris.com/v1/balance \
  -H "Authorization: Bearer $KADRARIS_API_KEY"
json
{ "balance": "49.60", "available": "46.50",
  "currency": "PLN", "low_balance": false }

Pole balance to wszystkie środki, a available to kwota po odjęciu blokad pod zadania, które jeszcze się liczą.

Dokąd dalej

TematDokumentacja
Strumieniowanie i narzędzia w czacieCzat
SDK Anthropic, Claude CodeAnthropic Messages, Claude Code
Wideo, muzyka, audioGenerowanie
Lista modeli, ceny, parametryModele
Kody błędów i ponawianieBłędy
n8n, Make, ZapierNo-code