Providers

OpenRouter

OpenRouter stellt eine einheitliche API bereit, die Anfragen über einen einzigen Endpunkt und API-Schlüssel an viele Modelle weiterleitet. Sie ist OpenAI-kompatibel, daher funktionieren die meisten OpenAI-SDKs durch Umstellen der Basis-URL.

Erste Schritte

  • API-Schlüssel abrufen

    Erstellen Sie einen API-Schlüssel unter openrouter.ai/keys.

  • Onboarding ausführen

    openclaw onboard --auth-choice openrouter-api-key
    
  • (Optional) Zu einem bestimmten Modell wechseln

    Beim Onboarding ist openrouter/auto voreingestellt. Wählen Sie später ein konkretes Modell:

    openclaw models set openrouter/<provider>/<model>
    
  • Konfigurationsbeispiel

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

    Modellreferenzen

    Mitgelieferte Fallback-Beispiele:

    Modellreferenz Hinweise
    openrouter/auto Automatisches Routing von OpenRouter
    openrouter/moonshotai/kimi-k2.6 Kimi K2.6 über MoonshotAI

    Bilderzeugung

    OpenRouter kann auch das Tool image_generate unterstützen. Verwenden Sie ein OpenRouter-Bildmodell unter 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 sendet Bildanfragen an die Chat-Completions-Bild-API von OpenRouter mit modalities: ["image", "text"]. Gemini-Bildmodelle erhalten unterstützte Hinweise für aspectRatio und resolution über image_config von OpenRouter. Verwenden Sie agents.defaults.imageGenerationModel.timeoutMs für langsamere OpenRouter-Bildmodelle; der timeoutMs-Parameter pro Aufruf des Tools image_generate hat weiterhin Vorrang.

    Videoerzeugung

    OpenRouter kann auch das Tool video_generate über seine asynchrone /videos-API unterstützen. Verwenden Sie ein OpenRouter-Videomodell unter agents.defaults.videoGenerationModel:

    {
      env: { OPENROUTER_API_KEY: "sk-or-..." },
      agents: {
        defaults: {
          videoGenerationModel: {
            primary: "openrouter/google/veo-3.1-fast",
          },
        },
      },
    }
    

    OpenClaw übermittelt Text-zu-Video- und Bild-zu-Video-Jobs an OpenRouter, fragt die zurückgegebene polling_url ab und lädt das fertige Video von unsigned_urls von OpenRouter oder dem dokumentierten Job-Inhaltsendpunkt herunter. Referenzbilder werden standardmäßig als Bilder für den ersten/letzten Frame gesendet; Bilder, die mit reference_image markiert sind, werden als OpenRouter-Eingabereferenzen gesendet. Der mitgelieferte Standard google/veo-3.1-fast bewirbt die derzeit unterstützten Dauern von 4/6/8 Sekunden, Auflösungen 720P/1080P und Seitenverhältnisse 16:9/9:16. Video-zu-Video ist für OpenRouter nicht registriert, da die vorgelagerte Videoerzeugungs-API derzeit Text- und Bildreferenzen akzeptiert.

    Text-to-Speech

    OpenRouter kann auch als TTS-Provider über seinen OpenAI-kompatiblen Endpunkt /audio/speech verwendet werden.

    {
      messages: {
        tts: {
          auto: "always",
          provider: "openrouter",
          providers: {
            openrouter: {
              model: "hexgrad/kokoro-82m",
              voice: "af_alloy",
              responseFormat: "mp3",
            },
          },
        },
      },
    }
    

    Wenn messages.tts.providers.openrouter.apiKey ausgelassen wird, verwendet TTS erneut models.providers.openrouter.apiKey und danach OPENROUTER_API_KEY.

    Authentifizierung und Header

    OpenRouter verwendet intern ein Bearer-Token mit Ihrem API-Schlüssel.

    Bei echten OpenRouter-Anfragen (https://openrouter.ai/api/v1) fügt OpenClaw außerdem die dokumentierten App-Attributions-Header von OpenRouter hinzu:

    Header Wert
    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

    Erweiterte Konfiguration

    Antwort-Caching

    OpenRouter-Antwort-Caching ist Opt-in. Aktivieren Sie es pro OpenRouter-Modell mit Modellparametern:

    {
      agents: {
        defaults: {
          models: {
            "openrouter/auto": {
              params: {
                responseCache: true,
                responseCacheTtlSeconds: 300,
              },
            },
          },
        },
      },
    }
    

    OpenClaw sendet X-OpenRouter-Cache: true und, wenn konfiguriert, X-OpenRouter-Cache-TTL. responseCacheClear: true erzwingt eine Aktualisierung für die aktuelle Anfrage und speichert die ersetzende Antwort. Snake_case-Aliasse (response_cache, response_cache_ttl_seconds und response_cache_clear) werden ebenfalls akzeptiert.

    Dies ist getrennt vom Prompt-Caching des Providers und von den Anthropic-Markierungen cache_control von OpenRouter. Es wird nur auf verifizierte openrouter.ai-Routen angewendet, nicht auf benutzerdefinierte Proxy-Basis-URLs.

    Anthropic-Cache-Markierungen

    Auf verifizierten OpenRouter-Routen behalten Anthropic-Modellreferenzen die OpenRouter-spezifischen Anthropic-Markierungen cache_control bei, die OpenClaw für bessere Wiederverwendung des Prompt-Cache in System-/Developer-Prompt-Blöcken nutzt.

    Anthropic-Reasoning-Prefill

    Auf verifizierten OpenRouter-Routen verwerfen Anthropic-Modellreferenzen mit aktiviertem Reasoning abschließende Assistant-Prefill-Turns, bevor die Anfrage OpenRouter erreicht. Das entspricht der Anforderung von Anthropic, dass Reasoning-Konversationen mit einem User- Turn enden.

    Thinking- / Reasoning-Injektion

    Auf unterstützten Nicht-auto-Routen ordnet OpenClaw die ausgewählte Thinking-Stufe OpenRouter-Proxy-Reasoning-Payloads zu. Nicht unterstützte Modellhinweise und openrouter/auto überspringen diese Reasoning-Injektion. Hunter Alpha überspringt außerdem Proxy-Reasoning für veraltete konfigurierte Modellreferenzen, da OpenRouter für diese eingestellte Route endgültigen Antworttext in Reasoning-Feldern zurückgeben könnte.

    DeepSeek-V4-Reasoning-Replay

    Auf verifizierten OpenRouter-Routen füllen openrouter/deepseek/deepseek-v4-flash und openrouter/deepseek/deepseek-v4-pro fehlenden reasoning_content bei wiedergegebenen Assistant-Turns auf, sodass Thinking-/Tool-Konversationen die für DeepSeek V4 erforderliche Follow-up-Form behalten. OpenClaw sendet von OpenRouter unterstützte reasoning_effort-Werte für diese Routen; xhigh ist die höchste beworbene Stufe, und veraltete max-Overrides werden xhigh zugeordnet.

    Nur-OpenAI-Anfrageformung

    OpenRouter läuft weiterhin über den Proxy-artigen OpenAI-kompatiblen Pfad, daher wird native, nur für OpenAI geltende Anfrageformung wie serviceTier, Responses store, OpenAI-Reasoning-Kompatibilitätspayloads und Prompt-Cache-Hinweise nicht weitergeleitet.

    Gemini-gestützte Routen

    Gemini-gestützte OpenRouter-Referenzen bleiben auf dem Proxy-Gemini-Pfad: OpenClaw behält dort die Bereinigung von Gemini-Denksignaturen bei, aktiviert aber keine native Gemini- Replay-Validierung oder Bootstrap-Rewrites.

    Provider-Routing-Metadaten

    Wenn Sie OpenRouter-Provider-Routing unter Modellparametern übergeben, leitet OpenClaw es als OpenRouter-Routing-Metadaten weiter, bevor die gemeinsamen Stream-Wrapper ausgeführt werden.

    Verwandte Themen