Przejdź do głównej treści

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

OpenRouter zapewnia ujednolicone API, które kieruje żądania do wielu modeli za jednym endpointem i kluczem API. Jest zgodne z OpenAI, więc większość SDK OpenAI działa po zmianie bazowego URL.

Pierwsze kroki

1

Uzyskaj klucz API

Utwórz klucz API na openrouter.ai/keys.
2

Uruchom onboarding

openclaw onboard --auth-choice openrouter-api-key
3

(Opcjonalnie) Przełącz na konkretny model

Onboarding domyślnie używa openrouter/auto. Później wybierz konkretny model:
openclaw models set openrouter/<provider>/<model>

Przykład konfiguracji

{
  env: { OPENROUTER_API_KEY: "sk-or-..." },
  agents: {
    defaults: {
      model: { primary: "openrouter/auto" },
    },
  },
}

Odwołania do modeli

Odwołania do modeli mają wzorzec openrouter/<provider>/<model>. Pełną listę dostępnych dostawców i modeli znajdziesz w /concepts/model-providers.
Dołączone przykłady awaryjne:
Odwołanie do modeluUwagi
openrouter/autoAutomatyczne routowanie OpenRouter
openrouter/moonshotai/kimi-k2.6Kimi K2.6 przez MoonshotAI
openrouter/moonshotai/kimi-k2.5Kimi K2.5 przez MoonshotAI

Generowanie obrazów

OpenRouter może również obsługiwać narzędzie image_generate. Użyj modelu obrazów OpenRouter w agents.defaults.imageGenerationModel:
{
  env: { OPENROUTER_API_KEY: "sk-or-..." },
  agents: {
    defaults: {
      imageGenerationModel: {
        primary: "openrouter/google/gemini-3.1-flash-image-preview",
        timeoutMs: 180_000,
      },
    },
  },
}
OpenClaw wysyła żądania obrazów do API obrazów czatowych completions OpenRouter z modalities: ["image", "text"]. Modele obrazów Gemini otrzymują obsługiwane wskazówki aspectRatio i resolution przez image_config OpenRouter. Użyj agents.defaults.imageGenerationModel.timeoutMs dla wolniejszych modeli obrazów OpenRouter; parametr timeoutMs narzędzia image_generate dla pojedynczego wywołania nadal ma pierwszeństwo.

Generowanie wideo

OpenRouter może również obsługiwać narzędzie video_generate przez swoje asynchroniczne API /videos. Użyj modelu wideo OpenRouter w agents.defaults.videoGenerationModel:
{
  env: { OPENROUTER_API_KEY: "sk-or-..." },
  agents: {
    defaults: {
      videoGenerationModel: {
        primary: "openrouter/google/veo-3.1-fast",
      },
    },
  },
}
OpenClaw przesyła zadania text-to-video i image-to-video do OpenRouter, odpytuje zwrócony polling_url i pobiera gotowe wideo z unsigned_urls OpenRouter lub udokumentowanego endpointu zawartości zadania. Obrazy referencyjne są domyślnie wysyłane jako obrazy pierwszej/ostatniej klatki; obrazy oznaczone reference_image są wysyłane jako referencje wejściowe OpenRouter. Dołączony domyślny google/veo-3.1-fast deklaruje obecnie obsługiwane czasy trwania 4/6/8 sekund, rozdzielczości 720P/1080P oraz proporcje obrazu 16:9/9:16. Video-to-video nie jest zarejestrowane dla OpenRouter, ponieważ upstreamowe API generowania wideo obecnie przyjmuje tekst i referencje obrazów.

Text-to-speech

OpenRouter może być również używany jako dostawca TTS przez swój zgodny z OpenAI endpoint /audio/speech.
{
  messages: {
    tts: {
      auto: "always",
      provider: "openrouter",
      providers: {
        openrouter: {
          model: "hexgrad/kokoro-82m",
          voice: "af_alloy",
          responseFormat: "mp3",
        },
      },
    },
  },
}
Jeśli messages.tts.providers.openrouter.apiKey zostanie pominięte, TTS ponownie użyje models.providers.openrouter.apiKey, a następnie OPENROUTER_API_KEY.

Speech-to-text (przychodzące audio)

OpenRouter może transkrybować przychodzące załączniki głosowe/audio przez współdzieloną ścieżkę tools.media.audio, używając swojego endpointu STT (/audio/transcriptions). Dotyczy to każdego Plugin kanału, który przekazuje przychodzący głos/audio do wstępnego rozpoznawania mediów.
{
  tools: {
    media: {
      audio: {
        enabled: true,
        models: [{ provider: "openrouter", model: "openai/whisper-large-v3-turbo" }],
      },
    },
  },
}
OpenClaw wysyła żądania STT OpenRouter jako JSON z audio base64 w input_audio (kontrakt STT OpenRouter), a nie jako wieloczęściowe przesyłanie formularza OpenAI.

Uwierzytelnianie i nagłówki

OpenRouter używa pod spodem tokena Bearer z Twoim kluczem API. W rzeczywistych żądaniach OpenRouter (https://openrouter.ai/api/v1) OpenClaw dodaje również udokumentowane nagłówki atrybucji aplikacji OpenRouter:
NagłówekWartość
HTTP-Refererhttps://openclaw.ai
X-OpenRouter-TitleOpenClaw
X-OpenRouter-Categoriescli-agent,cloud-agent,programming-app,creative-writing,writing-assistant,general-chat,personal-agent
Jeśli skierujesz dostawcę OpenRouter do innego proxy lub bazowego URL, OpenClaw nie wstrzyknie tych nagłówków specyficznych dla OpenRouter ani znaczników cache Anthropic.

Zaawansowana konfiguracja

Cache odpowiedzi OpenRouter jest opcjonalny. Włącz go dla danego modelu OpenRouter za pomocą parametrów modelu:
{
  agents: {
    defaults: {
      models: {
        "openrouter/auto": {
          params: {
            responseCache: true,
            responseCacheTtlSeconds: 300,
          },
        },
      },
    },
  },
}
OpenClaw wysyła X-OpenRouter-Cache: true oraz, gdy skonfigurowano, X-OpenRouter-Cache-TTL. responseCacheClear: true wymusza odświeżenie dla bieżącego żądania i zapisuje zastępczą odpowiedź. Akceptowane są również aliasy snake_case (response_cache, response_cache_ttl_seconds i response_cache_clear).Jest to oddzielne od cache promptów dostawcy i od znaczników Anthropic cache_control OpenRouter. Jest stosowane tylko na zweryfikowanych trasach openrouter.ai, a nie dla niestandardowych bazowych URL proxy.
Na zweryfikowanych trasach OpenRouter odwołania do modeli Anthropic zachowują specyficzne dla OpenRouter znaczniki Anthropic cache_control, których OpenClaw używa do lepszego ponownego użycia cache promptów w blokach promptów systemowych/deweloperskich.
Na zweryfikowanych trasach OpenRouter odwołania do modeli Anthropic z włączonym rozumowaniem usuwają końcowe tury prefill asystenta, zanim żądanie dotrze do OpenRouter, zgodnie z wymaganiem Anthropic, aby konwersacje z rozumowaniem kończyły się turą użytkownika.
Na obsługiwanych trasach innych niż auto OpenClaw mapuje wybrany poziom thinking na ładunki reasoning proxy OpenRouter. Nieobsługiwane wskazówki modelu i openrouter/auto pomijają to wstrzykiwanie reasoning. Hunter Alpha również pomija reasoning proxy dla nieaktualnych skonfigurowanych odwołań do modeli, ponieważ OpenRouter mógłby zwracać tekst odpowiedzi końcowej w polach reasoning dla tej wycofanej trasy.
Na zweryfikowanych trasach OpenRouter openrouter/deepseek/deepseek-v4-flash i openrouter/deepseek/deepseek-v4-pro uzupełniają brakujące reasoning_content w odtwarzanych turach asystenta, aby konwersacje thinking/tool zachowały wymagany kształt dalszego ciągu DeepSeek V4. OpenClaw wysyła obsługiwane przez OpenRouter wartości reasoning_effort dla tych tras; xhigh jest najwyższym deklarowanym poziomem, a nieaktualne nadpisania max są mapowane na xhigh.
OpenRouter nadal przechodzi przez proxy-style ścieżkę zgodną z OpenAI, więc natywne kształtowanie żądań tylko dla OpenAI, takie jak serviceTier, Responses store, ładunki zgodności rozumowania OpenAI i wskazówki cache promptów, nie jest przekazywane dalej.
Odwołania OpenRouter oparte na Gemini pozostają na ścieżce proxy-Gemini: OpenClaw zachowuje tam sanityzację sygnatur thought Gemini, ale nie włącza natywnej walidacji odtwarzania Gemini ani przepisywania bootstrap.
Jeśli przekażesz routowanie dostawcy OpenRouter w parametrach modelu, OpenClaw przekaże je jako metadane routowania OpenRouter, zanim uruchomią się współdzielone wrappery strumienia.

Powiązane

Wybór modelu

Wybieranie dostawców, odwołań do modeli i zachowania failover.

Dokumentacja konfiguracji

Pełna dokumentacja konfiguracji agentów, modeli i dostawców.