Providers
OpenRouter
OpenRouter biedt een uniforme API die aanvragen naar veel modellen achter één eindpunt en API-sleutel routeert. Deze is OpenAI-compatibel, dus de meeste OpenAI-SDK's werken door de basis-URL te wijzigen.
Aan de slag
Haal je API-sleutel op
Maak een API-sleutel aan op openrouter.ai/keys.
Voer onboarding uit
openclaw onboard --auth-choice openrouter-api-key(Optioneel) Schakel over naar een specifiek model
Onboarding gebruikt standaard openrouter/auto. Kies later een concreet model:
openclaw models set openrouter/<provider>/<model>Configuratievoorbeeld
{ env: { OPENROUTER_API_KEY: "sk-or-..." }, agents: { defaults: { model: { primary: "openrouter/auto" }, }, },}Modelverwijzingen
Meegeleverde fallback-voorbeelden:
| Modelverwijzing | Opmerkingen |
|---|---|
openrouter/auto |
Automatische routering van OpenRouter |
openrouter/moonshotai/kimi-k2.6 |
Kimi K2.6 via MoonshotAI |
openrouter/moonshotai/kimi-k2.5 |
Kimi K2.5 via MoonshotAI |
Afbeeldingsgeneratie
OpenRouter kan ook de image_generate-tool ondersteunen. Gebruik een OpenRouter-afbeeldingsmodel onder 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 stuurt afbeeldingsaanvragen naar OpenRouter's chat-completions-afbeeldings-API met modalities: ["image", "text"]. Gemini-afbeeldingsmodellen ontvangen ondersteunde aspectRatio- en resolution-hints via OpenRouter's image_config. Gebruik agents.defaults.imageGenerationModel.timeoutMs voor tragere OpenRouter-afbeeldingsmodellen; de per-call-parameter timeoutMs van de image_generate-tool heeft nog steeds voorrang.
Videogeneratie
OpenRouter kan ook de video_generate-tool ondersteunen via zijn asynchrone /videos-API. Gebruik een OpenRouter-videomodel onder agents.defaults.videoGenerationModel:
{ env: { OPENROUTER_API_KEY: "sk-or-..." }, agents: { defaults: { videoGenerationModel: { primary: "openrouter/google/veo-3.1-fast", }, }, },}OpenClaw dient tekst-naar-video- en afbeelding-naar-video-taken in bij OpenRouter, pollt
de geretourneerde polling_url en downloadt de voltooide video uit
OpenRouter's unsigned_urls of het gedocumenteerde eindpunt voor taakinhoud.
Referentieafbeeldingen worden standaard als eerste-/laatste-frame-afbeeldingen verzonden; afbeeldingen
met de tag reference_image worden als OpenRouter-invoerreferenties verzonden. De
meegeleverde standaard google/veo-3.1-fast adverteert de momenteel ondersteunde duurwaarden van 4/6/8
seconden, 720P/1080P-resoluties en 16:9/9:16-beeldverhoudingen.
Video-naar-video is niet geregistreerd voor OpenRouter omdat de upstream
videogeneratie-API momenteel tekst- en afbeeldingsreferenties accepteert.
Tekst-naar-spraak
OpenRouter kan ook als TTS-provider worden gebruikt via zijn OpenAI-compatibele
/audio/speech-eindpunt.
{ messages: { tts: { auto: "always", provider: "openrouter", providers: { openrouter: { model: "hexgrad/kokoro-82m", voice: "af_alloy", responseFormat: "mp3", }, }, }, },}Als messages.tts.providers.openrouter.apiKey is weggelaten, hergebruikt TTS
models.providers.openrouter.apiKey en daarna OPENROUTER_API_KEY.
Spraak-naar-tekst (inkomende audio)
OpenRouter kan inkomende spraak-/audiobijlagen transcriberen via het gedeelde
tools.media.audio-pad met zijn STT-eindpunt (/audio/transcriptions).
Dit geldt voor elke kanaal-Plugin die inkomende spraak/audio doorstuurt naar
de preflight voor mediabegrip.
{ tools: { media: { audio: { enabled: true, models: [{ provider: "openrouter", model: "openai/whisper-large-v3-turbo" }], }, }, },}OpenClaw verstuurt OpenRouter-STT-aanvragen als JSON met base64-audio onder
input_audio (OpenRouter-STT-contract), niet als multipart OpenAI-formulieruploads.
Authenticatie en headers
OpenRouter gebruikt onder water een Bearer-token met je API-sleutel.
Bij echte OpenRouter-aanvragen (https://openrouter.ai/api/v1) voegt OpenClaw ook
OpenRouter's gedocumenteerde app-attributieheaders toe:
| Header | Waarde |
|---|---|
HTTP-Referer |
https://openclaw.ai |
X-OpenRouter-Title |
OpenClaw |
X-OpenRouter-Categories |
cli-agent,cloud-agent,programming-app,creative-writing,writing-assistant,general-chat,personal-agent |
Geavanceerde configuratie
Response-caching
OpenRouter-response-caching is opt-in. Schakel dit per OpenRouter-model in met modelparameters:
{ agents: { defaults: { models: { "openrouter/auto": { params: { responseCache: true, responseCacheTtlSeconds: 300, }, }, }, }, },}OpenClaw verstuurt X-OpenRouter-Cache: true en, wanneer geconfigureerd,
X-OpenRouter-Cache-TTL. responseCacheClear: true forceert een vernieuwing voor
de huidige aanvraag en slaat de vervangende response op. Snake_case-aliassen
(response_cache, response_cache_ttl_seconds en
response_cache_clear) worden ook geaccepteerd.
Dit staat los van provider-prompt-caching en van OpenRouter's
Anthropic cache_control-markeringen. Het wordt alleen toegepast op geverifieerde
openrouter.ai-routes, niet op aangepaste proxy-basis-URL's.
Anthropic-cachemarkeringen
Op geverifieerde OpenRouter-routes behouden Anthropic-modelverwijzingen de
OpenRouter-specifieke Anthropic cache_control-markeringen die OpenClaw gebruikt voor
beter hergebruik van prompt-cache voor systeem-/ontwikkelaarspromptblokken.
Anthropic reasoning-prefill
Op geverifieerde OpenRouter-routes verwijderen Anthropic-modelverwijzingen met reasoning ingeschakeld afsluitende assistant-prefill-beurten voordat de aanvraag OpenRouter bereikt, conform Anthropic's vereiste dat reasoning-gesprekken eindigen met een gebruikersbeurt.
Thinking-/reasoning-injectie
Op ondersteunde niet-auto-routes koppelt OpenClaw het geselecteerde thinking-niveau aan
OpenRouter-proxy-reasoning-payloads. Niet-ondersteunde modelhints en
openrouter/auto slaan die reasoning-injectie over. Hunter Alpha slaat ook
proxy-reasoning over voor verouderde geconfigureerde modelverwijzingen omdat OpenRouter
voor die uitgefaseerde route definitieve antwoordtekst in reasoning-velden kon retourneren.
DeepSeek V4-reasoning-replay
Op geverifieerde OpenRouter-routes vullen openrouter/deepseek/deepseek-v4-flash en
openrouter/deepseek/deepseek-v4-pro ontbrekende reasoning_content in op
opnieuw afgespeelde assistant-beurten, zodat thinking-/toolgesprekken de
vereiste opvolgingsvorm van DeepSeek V4 behouden. OpenClaw verstuurt door OpenRouter ondersteunde
reasoning_effort-waarden voor deze routes; xhigh is het hoogst geadverteerde
niveau en verouderde max-overrides worden naar xhigh gemapt.
Request shaping alleen voor OpenAI
OpenRouter loopt nog steeds via het proxy-achtige OpenAI-compatibele pad, dus
native OpenAI-only request shaping zoals serviceTier, Responses store,
OpenAI-reasoning-compat-payloads en prompt-cache-hints wordt niet doorgestuurd.
Gemini-ondersteunde routes
Door Gemini ondersteunde OpenRouter-verwijzingen blijven op het proxy-Gemini-pad: OpenClaw behoudt daar Gemini-thought-signature-opschoning, maar schakelt geen native Gemini replay-validatie of bootstrap-herschrijvingen in.
Provider-routeringsmetadata
Als je OpenRouter-provider-routering doorgeeft onder modelparameters, stuurt OpenClaw die door als OpenRouter-routeringsmetadata voordat de gedeelde stream-wrappers draaien.