Providers
OpenRouter
OpenRouter stuurt aanvragen naar veel modellen achter één API en één sleutel. Het is compatibel met OpenAI, zodat OpenClaw ermee communiceert via hetzelfde transport in openai-completions-stijl dat voor andere proxyproviders wordt gebruikt.
Aan de slag
OAuth
Voer het OAuth-instelproces uit
openclaw onboard --auth-choice openrouter-oauthOpenClaw opent de aanmeldingsprocedure van OpenRouter in de browser (PKCE), wisselt de code in voor een OpenRouter-API-sleutel en slaat deze op in het standaardverificatieprofiel van OpenRouter. Op externe hosts of hosts zonder grafische interface toont OpenClaw de aanmeldings-URL en vraagt het u na het aanmelden de omleidings-URL te plakken.
(Optioneel) Schakel over naar een specifiek model
Het instelproces gebruikt standaard openrouter/auto. Kies later een concreet model:
openclaw models set openrouter/<provider>/<model>API-sleutel
Verkrijg uw API-sleutel
Maak een API-sleutel aan op openrouter.ai/keys.
Voer het instelproces met API-sleutel uit
openclaw onboard --auth-choice openrouter-api-key(Optioneel) Schakel over naar een specifiek model
Het instelproces 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 terugvalmodellen die worden gebruikt wanneer live catalogusdetectie niet beschikbaar is:
| 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 |
Elke andere verwijzing met openrouter/<provider>/<model>, waaronder openrouter/openrouter/fusion (zie Fusion-router), wordt dynamisch omgezet aan de hand van de live modelcatalogus van OpenRouter.
Afbeeldingen genereren
OpenRouter kan als backend dienen voor de tool image_generate. Stel een OpenRouter-afbeeldingsmodel in 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 verzendt afbeeldingsaanvragen naar de chat-completions-afbeeldings-API van OpenRouter met modalities: ["image", "text"]. Gemini-afbeeldingsmodellen ontvangen daarnaast via image_config van OpenRouter aanwijzingen voor aspectRatio en resolution; andere afbeeldingsmodellen niet. Gebruik agents.defaults.imageGenerationModel.timeoutMs voor tragere modellen; de timeoutMs per aanroep van de tool image_generate heeft nog steeds voorrang.
Video's genereren
OpenRouter kan via zijn asynchrone /videos-API als backend dienen voor de tool video_generate. Stel een OpenRouter-videomodel in 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, controleert periodiek de geretourneerde polling_url en downloadt de voltooide video via de unsigned_urls van OpenRouter of het inhoudseindpunt van de taak. Referentieafbeeldingen worden standaard gebruikt als afbeeldingen voor het eerste of laatste frame; afbeeldingen met de tag reference_image worden in plaats daarvan als invoerreferenties verzonden. De meegeleverde standaardwaarde google/veo-3.1-fast ondersteunt duurwaarden van 4, 6 en 8 seconden, resoluties van 720P en 1080P en beeldverhoudingen van 16:9 en 9:16. Video-naar-video wordt niet ondersteund: de bovenliggende API accepteert alleen tekst- en afbeeldingsreferenties.
Muziek genereren
OpenRouter kan via audio-uitvoer van chat-completions als backend dienen voor de tool music_generate. Stel een OpenRouter-audiomodel in onder agents.defaults.musicGenerationModel:
{ env: { OPENROUTER_API_KEY: "sk-or-..." }, agents: { defaults: { musicGenerationModel: { primary: "openrouter/google/lyria-3-pro-preview", timeoutMs: 180_000, }, }, },}De meegeleverde OpenRouter-muziekprovider gebruikt standaard google/lyria-3-pro-preview en biedt ook google/lyria-3-clip-preview aan. OpenClaw verzendt modalities: ["text", "audio"], streamt het antwoord, verzamelt de audiofragmenten en slaat het resultaat op als gegenereerde media voor levering via het kanaal. Lyria-modellen accepteren één referentieafbeelding via de gedeelde parameter music_generate image=.... Streamingaudio, transcriptbewaring en de afgeleide SSE-gebeurtenisenvelop worden begrensd door agents.defaults.mediaMaxMb (de standaardlimiet voor audio is 16 MB).
Tekst-naar-spraak
OpenRouter kan via zijn met OpenAI compatibele eindpunt /audio/speech als TTS-provider fungeren.
{ messages: { tts: { auto: "always", provider: "openrouter", providers: { openrouter: { model: "hexgrad/kokoro-82m", speakerVoice: "af_alloy", responseFormat: "mp3", }, }, }, },}Als messages.tts.providers.openrouter.apiKey is weggelaten, valt TTS terug op models.providers.openrouter.apiKey en vervolgens op OPENROUTER_API_KEY.
Spraak-naar-tekst (inkomende audio)
OpenRouter kan inkomende spraak- en audiobijlagen transcriberen via het gedeelde pad tools.media.audio, met behulp van zijn STT-eindpunt (/audio/transcriptions). Dit geldt voor elke kanaalplugin die inkomende spraak of audio doorstuurt naar de voorafgaande controle voor mediabegrip.
{ tools: { media: { audio: { enabled: true, models: [{ provider: "openrouter", model: "openai/whisper-large-v3-turbo" }], }, }, },}OpenClaw verzendt STT-aanvragen naar OpenRouter als JSON met base64-audio onder input_audio (het STT-contract van OpenRouter), niet als multipart OpenAI-formulieruploads.
Fusion-router
OpenRouter Fusion verzendt één OpenClaw-modelverwijzing parallel naar meerdere OpenRouter-modellen, laat OpenRouter hun antwoorden beoordelen en retourneert één definitief antwoord via het normale OpenRouter-eindpunt. De modelslug van de bovenliggende dienst is openrouter/fusion, zodat de OpenClaw-modelverwijzing zowel het providerprefix van OpenClaw als de bovenliggende OpenRouter-naamruimte bevat:
openclaw models set openrouter/openrouter/fusionConfigureer het panel en het beoordelingsmodel van Fusion via params.extraBody van het model; deze velden worden rechtstreeks doorgestuurd naar de hoofdtekst van de chat-completions-aanvraag van OpenRouter. Fusion werkt met zowel het OAuth- als het API-sleutelinstelproces; laat bij gebruik van OAuth de regel env.OPENROUTER_API_KEY hieronder weg.
{ env: { OPENROUTER_API_KEY: "sk-or-..." }, agents: { defaults: { model: { primary: "openrouter/openrouter/fusion" }, models: { "openrouter/openrouter/fusion": { params: { extraBody: { plugins: [ { id: "fusion", analysis_models: [ "google/gemini-3.5-flash", "moonshotai/kimi-k2.6", "deepseek/deepseek-v4-pro", ], model: "google/gemini-3.5-flash", }, ], }, }, }, }, }, },}analysis_models is het parallelle panel; model in de configuratie van de Fusion-plugin is het beoordelingsmodel. Stel tool_choice op het hoogste niveau bij normale agent- of chatbeurten niet in op "required" om Fusion te proberen af te dwingen: OpenClaw-beurten kunnen eigen tooldefinities bevatten en een verplichte toolkeuze op het hoogste niveau kan een van die tools selecteren in plaats van de Fusion-router. Wanneer deze configuratie van de Fusion-plugin aanwezig is, voegt OpenClaw een opgeschoonde notitie aan de systeemprompt toe met de geconfigureerde analysemodellen en het beoordelingsmodel, zodat de agent vragen over zijn eigen Fusion-panel kan beantwoorden. Andere velden van extraBody worden niet naar de prompt gekopieerd.
Fusion is opzettelijk trager: OpenRouter verdeelt de prompt over meerdere analysemodellen en voert daarna een beoordelings- en synthesestap uit, waardoor de latentie hoger is dan bij een rechtstreekse aanvraag aan één model. Gebruik het voor weloverwogen antwoorden van hoge kwaliteit of escalatiepaden, niet als latentiegevoelige standaardinstelling. Houd het panel klein en kies snellere analyse- en beoordelingsmodellen voor snellere antwoorden.
Test een geconfigureerde verwijzing met een eenmalige lokale aanroep:
openclaw infer model run --local \ --model openrouter/openrouter/fusion \ --prompt "Reply with exactly: FUSION_OK" \ --jsonVerificatie en headers
OpenRouter gebruikt een Bearer-token op basis van uw API-sleutel. OpenRouter OAuth is een PKCE-aanmeldingsprocedure die een OpenRouter-API-sleutel uitgeeft. OpenClaw slaat het resultaat daarom op in hetzelfde API-sleutelverificatieprofiel openrouter:default dat voor handmatige instelling met een API-sleutel wordt gebruikt.
Om u aan te melden of de opgeslagen sleutel van een bestaande installatie te vervangen zonder het volledige instelproces opnieuw uit te voeren:
openclaw models auth login --provider openrouter --method oauthopenclaw models auth login --provider openrouter --method api-keyBij geverifieerde OpenRouter-aanvragen (https://openrouter.ai/api/v1) voegt OpenClaw de gedocumenteerde headers voor app-toeschrijving van OpenRouter 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
Antwoordcaching
Antwoordcaching van OpenRouter is optioneel. Schakel dit per model in:
{ agents: { defaults: { models: { "openrouter/auto": { params: { responseCache: true, responseCacheTtlSeconds: 300, }, }, }, }, },}OpenClaw verzendt X-OpenRouter-Cache: true en, indien geconfigureerd, X-OpenRouter-Cache-TTL. responseCacheClear: true dwingt een vernieuwing voor de huidige aanvraag af en slaat het vervangende antwoord op. Aliassen in snake_case (response_cache, response_cache_ttl_seconds, response_cache_clear) worden geaccepteerd, evenals responseCacheTtl en response_cache_ttl zonder het achtervoegsel Seconds.
Dit staat los van promptcaching door de provider en van de Anthropic-markeringen cache_control van OpenRouter. Het is alleen van toepassing op geverifieerde routes via openrouter.ai, niet op aangepaste basis-URL's van proxy's.
Anthropic-cachemarkeringen
Op geverifieerde OpenRouter-routes behouden Anthropic-modelverwijzingen de Anthropic-markeringen cache_control van OpenRouter voor beter hergebruik van de promptcache bij systeem- en ontwikkelaarspromptblokken.
Anthropic-reasoningprefill
Op geverifieerde OpenRouter-routes verwijderen Anthropic-modelrefs waarvoor reasoning is ingeschakeld afsluitende prefill-beurten van de assistent voordat het verzoek OpenRouter bereikt, conform de vereiste van Anthropic dat reasoning-gesprekken eindigen met een gebruikersbeurt.
Injectie van thinking/reasoning
Op ondersteunde routes anders dan auto koppelt OpenClaw het geselecteerde thinking-niveau
aan reasoning-payloads voor de OpenRouter-proxy. openrouter/auto en niet-ondersteunde
modelhints slaan die injectie over. Verouderde openrouter/hunter-alpha-refs
slaan deze ook over, omdat OpenRouter op die buiten gebruik gestelde route definitieve antwoordtekst
in reasoning-velden kon retourneren.
Hergebruik van DeepSeek V4-reasoning
Op geverifieerde OpenRouter-routes vullen openrouter/deepseek/deepseek-v4-flash en
openrouter/deepseek/deepseek-v4-pro ontbrekende reasoning_content in bij
opnieuw afgespeelde assistentbeurten, zodat thinking-/toolgesprekken de door DeepSeek
V4 vereiste vervolgstructuur behouden. OpenClaw verzendt door OpenRouter ondersteunde
reasoning.effort-waarden voor deze routes: xhigh/max worden toegewezen aan xhigh,
elk ander niveau dat niet uitgeschakeld is, wordt toegewezen aan high.
Alleen voor OpenAI geldende verzoekstructurering
OpenRouter werkt via het OpenAI-compatibele proxypad, waardoor systeemeigen,
uitsluitend voor OpenAI geldende verzoekstructurering, zoals serviceTier, Responses store,
payloads voor OpenAI-reasoningcompatibiliteit en hints voor de promptcache, niet wordt doorgestuurd.
Door Gemini ondersteunde routes
Door Gemini ondersteunde OpenRouter-refs blijven op het proxy-Gemini-pad: OpenClaw behoudt daar de opschoning van Gemini-thought-signatures, maar schakelt geen systeemeigen Gemini-validatie voor hergebruik of bootstrap-herschrijvingen in.
Metadata voor providerroutering
OpenRouter ondersteunt een provider-verzoekobject voor routering naar de onderliggende provider.
Configureer met models.providers.openrouter.params.provider een standaardbeleid
voor alle OpenRouter-verzoeken aan tekstmodellen:
{ models: { providers: { openrouter: { params: { provider: { sort: "latency", require_parameters: true, data_collection: "deny", }, }, }, }, },}OpenClaw stuurt dat object door naar OpenRouter als de provider-payload
van het verzoek. Gebruik de gedocumenteerde snake_case-velden van OpenRouter, waaronder sort,
only, ignore, order, allow_fallbacks, require_parameters,
data_collection, quantizations, max_price, preferred_max_latency,
preferred_min_throughput, zdr en enforce_distillable_text.
Parameters per model overschrijven het providerbrede routeringsobject:
{ agents: { defaults: { models: { "openrouter/anthropic/claude-sonnet-4-6": { params: { provider: { order: ["anthropic"], allow_fallbacks: false, }, }, }, }, }, },}Dit is alleen van toepassing op chat-completions-routes van OpenRouter. Rechtstreekse routes van Anthropic, Google, OpenAI of aangepaste providers negeren de routeringsparameters van OpenRouter.