Skip to main content

Schnellstart

Ein API-Key. Alle Modelle. OpenAI- & Anthropic-kompatibel.

Base URL
Jetzt ausprobieren
curl https://api.luno.codes/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [{"role": "user", "content": "Hello"}],
    "max_tokens": 1024
  }'
1

API-Key holen

Dashboard → API-Keys → Erstellen

2

Base URL setzen

https://api.luno.codes/v1

3

Beliebiges Modell nutzen

claude-sonnet-4-6, gpt-4o, gemini-3.1-pro...

Authentifizierung

Übergeben Sie Ihren API-Key über den Authorization-Header oder x-api-key.

Header-Format
Authorization: Bearer YOUR_API_KEY

# or

x-api-key: YOUR_API_KEY
Erstellen Sie API-Keys unter Dashboard → API-Keys. Jeder Key erbt die Limits Ihres Plans.

Integrationen

Drop-in-Ersatz für jedes Tool, das die OpenAI- oder Anthropic-API unterstützt.

Claude CodeClaude Code

Copy-paste-fertig. Ersetzen Sie Ihre Settings-Datei und Sie sind live.

~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.luno.codes",
    "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-8",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-6",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
  }
}

ANTHROPIC_BASE_URL — ohne /v1 (Claude Code hängt es selbst an)

Setzen Sie alle 3 DEFAULT_*_MODEL — sonst schlagen Hintergrundaufgaben mit "model may not exist" fehl

Codex CLICodex CLI

export OPENAI_BASE_URL=https://api.luno.codes/v1
export OPENAI_API_KEY=YOUR_API_KEY
codex

OpenCodeOpenCode

~/.config/opencode/config.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "luno": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Luno",
      "options": {
        "baseURL": "https://api.luno.codes/v1",
        "apiKey": "YOUR_API_KEY"
      },
      "models": {
        "claude-opus-4-8": { "name": "Claude Opus 4.8" },
        "claude-sonnet-4-6": { "name": "Claude Sonnet 4.6" },
        "gpt-4o": { "name": "GPT-4o" }
      }
    }
  }
}

CursorCursor

Settings → Models → OpenAI API Key:

Base URL: https://api.luno.codes/v1
API Key:  YOUR_API_KEY

OpenAI Python SDKOpenAI Python SDK

Python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.luno.codes/v1",
    api_key="YOUR_API_KEY"
)

response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "Hello"}]
)
print(response.choices[0].message.content)

Anthropic Python SDKAnthropic Python SDK

Python
import anthropic

client = anthropic.Anthropic(
    base_url="https://api.luno.codes/v1",
    api_key="YOUR_API_KEY"
)

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}]
)
print(message.content[0].text)
Jedes Tool, das eine Base URL + API-Key akzeptiert, funktioniert. Richten Sie es einfach auf https://api.luno.codes/v1

Modelle

Alle Modelle über einen einzigen Endpunkt verfügbar. Klicken Sie auf eine Modell-ID, um sie zu kopieren.

Modelle auflisten
curl https://api.luno.codes/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"

ClaudeClaude

claude-fable-5

Das mächtigste — Flaggschiff

claude-opus-4-8

Leistungsstärkstes Modell, komplexe Aufgaben

claude-opus-4-7

Vorheriges Flaggschiff

claude-opus-4-6

Starkes Reasoning

claude-opus-4-5

Ausgewogenes Opus

claude-sonnet-5

Neuestes Sonnet-Modell — Preview

claude-sonnet-4-6

Beste Balance aus Speed und Qualität

claude-sonnet-4-5

Schnelle Generierung

claude-sonnet-4

Leichtgewichtiges Sonnet

claude-haiku-4-5

Ultraschnell

GPTGPT

gpt-5.6-sol

Tiefstes Reasoning

gpt-5.6-terra

Ausgewogenes Flaggschiff

gpt-5.6-luna

Schnell & günstig

gpt-5.5

Vorheriges Flaggschiff

gpt-5.4

Vorheriges Flaggschiff

gpt-5.3-codex

Agentisches Coding

gpt-5.2-codex

Coding über lange Zeiträume

gpt-5.1

Adaptives Reasoning

gpt-4o

Multimodal

gpt-4o-mini

Schnell & günstig

GeminiGemini

gemini-3.5-flash

Schnellstes, bestes Preis-Leistungs-Verhältnis

gemini-3.1-pro

Leistungsstärkstes Gemini

gemini-3.1-flash

Leichtgewichtig & schnell

Endpunkte

POST/v1/chat/completions

OpenAI-Format — funktioniert mit allen Modellen

POST/v1/messages

Anthropic-Format — Claude-Modelle (Claude Code, SDK)

Streaming

Fügen Sie "stream": true hinzu für Echtzeit-Ausgabe via Server-Sent Events.

cURL (SSE)
curl https://api.luno.codes/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "stream": true,
    "messages": [{"role": "user", "content": "Explain SSE briefly"}]
  }'
Node.js
const res = await fetch("https://api.luno.codes/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "claude-sonnet-4-6",
    stream: true,
    messages: [{ role: "user", content: "Hello" }]
  })
});

const reader = res.body.getReader();
const decoder = new TextDecoder();
while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  process.stdout.write(decoder.decode(value));
}

Fehler

Standard-HTTP-Statuscodes mit JSON-Fehlerkörpern.

401
auth_error

Ungültiger oder fehlender API-Key

402
insufficient_funds

Token-Budget für diesen Zeitraum erschöpft

429
rate_limit_exceeded

Zu viele Anfragen — langsamer

502
upstream_error

Modellanbieter vorübergehend nicht verfügbar

Format der Fehlerantwort
{
  "error": {
    "message": "Invalid API key provided.",
    "type": "auth_error",
    "code": 401
  }
}