Providers

OpenRouter

OpenRouter надає уніфікований API, який маршрутизує запити до багатьох моделей за одним endpoint і API-ключем. Він сумісний з OpenAI, тому більшість OpenAI SDK працюють після перемикання базового URL.

Початок роботи

  • Get your API key

    Створіть API-ключ на openrouter.ai/keys.

  • Run onboarding

    openclaw onboard --auth-choice openrouter-api-key
    
  • (Optional) Switch to a specific model

    Початкове налаштування типово використовує openrouter/auto. Пізніше виберіть конкретну модель:

    openclaw models set openrouter/<provider>/<model>
    
  • Приклад конфігурації

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

    Посилання на моделі

    Приклади вбудованого резервного варіанта:

    Посилання на модель Примітки
    openrouter/auto Автоматична маршрутизація OpenRouter
    openrouter/moonshotai/kimi-k2.6 Kimi K2.6 через MoonshotAI

    Генерація зображень

    OpenRouter також може забезпечувати роботу інструмента image_generate. Використовуйте модель зображень OpenRouter у 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 надсилає запити зображень до OpenRouter chat completions image API з modalities: ["image", "text"]. Моделі зображень Gemini отримують підтримувані підказки aspectRatio і resolution через image_config OpenRouter. Використовуйте agents.defaults.imageGenerationModel.timeoutMs для повільніших моделей зображень OpenRouter; параметр timeoutMs інструмента image_generate для окремого виклику все одно має пріоритет.

    Генерація відео

    OpenRouter також може забезпечувати роботу інструмента video_generate через свій асинхронний API /videos. Використовуйте модель відео OpenRouter у agents.defaults.videoGenerationModel:

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

    OpenClaw надсилає завдання text-to-video та image-to-video до OpenRouter, опитує повернений polling_url і завантажує завершене відео з unsigned_urls OpenRouter або задокументованого endpoint вмісту завдання. Еталонні зображення типово надсилаються як зображення першого/останнього кадру; зображення, позначені reference_image, надсилаються як вхідні посилання OpenRouter. Вбудоване типове значення google/veo-3.1-fast оголошує поточно підтримувані тривалості 4/6/8 секунд, роздільності 720P/1080P і співвідношення сторін 16:9/9:16. Video-to-video не зареєстровано для OpenRouter, тому що upstream API генерації відео наразі приймає текст і посилання на зображення.

    Перетворення тексту на мовлення

    OpenRouter також можна використовувати як провайдера TTS через його сумісний з OpenAI endpoint /audio/speech.

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

    Якщо messages.tts.providers.openrouter.apiKey пропущено, TTS повторно використовує models.providers.openrouter.apiKey, а потім OPENROUTER_API_KEY.

    Автентифікація та заголовки

    OpenRouter використовує Bearer token із вашим API-ключем під капотом.

    У реальних запитах OpenRouter (https://openrouter.ai/api/v1) OpenClaw також додає задокументовані заголовки атрибуції застосунку OpenRouter:

    Заголовок Значення
    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

    Розширена конфігурація

    Response caching

    Кешування відповідей OpenRouter вмикається явно. Увімкніть його для кожної моделі OpenRouter через параметри моделі:

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

    OpenClaw надсилає X-OpenRouter-Cache: true і, якщо налаштовано, X-OpenRouter-Cache-TTL. responseCacheClear: true примусово оновлює поточний запит і зберігає замінну відповідь. Також приймаються snake_case aliases (response_cache, response_cache_ttl_seconds і response_cache_clear).

    Це окремо від кешування prompt провайдера та від маркерів Anthropic cache_control OpenRouter. Воно застосовується лише на перевірених маршрутах openrouter.ai, а не на базових URL користувацьких proxy.

    Anthropic cache markers

    На перевірених маршрутах OpenRouter посилання на моделі Anthropic зберігають специфічні для OpenRouter маркери Anthropic cache_control, які OpenClaw використовує для кращого повторного використання prompt-cache у блоках system/developer prompt.

    Anthropic reasoning prefill

    На перевірених маршрутах OpenRouter посилання на моделі Anthropic з увімкненим reasoning відкидають кінцеві попередньо заповнені ходи assistant до того, як запит досягне OpenRouter, відповідно до вимоги Anthropic, що reasoning-розмови мають завершуватися ходом user.

    Thinking / reasoning injection

    На підтримуваних маршрутах, відмінних від auto, OpenClaw зіставляє вибраний рівень thinking із payload reasoning proxy OpenRouter. Непідтримувані підказки моделей і openrouter/auto пропускають це вставлення reasoning. Hunter Alpha також пропускає proxy reasoning для застарілих налаштованих посилань на модель, тому що OpenRouter міг повертати текст фінальної відповіді в полях reasoning для цього виведеного з використання маршруту.

    DeepSeek V4 reasoning replay

    На перевірених маршрутах OpenRouter openrouter/deepseek/deepseek-v4-flash і openrouter/deepseek/deepseek-v4-pro заповнюють відсутній reasoning_content у повторно відтворених ходах assistant, щоб розмови thinking/tool зберігали потрібну для DeepSeek V4 форму подальшого продовження. OpenClaw надсилає підтримувані OpenRouter значення reasoning_effort для цих маршрутів; xhigh є найвищим оголошеним рівнем, а застарілі перевизначення max зіставляються з xhigh.

    OpenAI-only request shaping

    OpenRouter усе ще працює через proxy-style OpenAI-compatible шлях, тому нативне формування запитів лише для OpenAI, як-от serviceTier, Responses store, payload для сумісності reasoning OpenAI і підказки prompt-cache, не передається далі.

    Gemini-backed routes

    Посилання OpenRouter на базі Gemini залишаються на proxy-Gemini шляху: OpenClaw зберігає очищення thought-signature Gemini там, але не вмикає нативну валідацію replay Gemini або bootstrap rewrites.

    Provider routing metadata

    Якщо ви передаєте маршрутизацію провайдера OpenRouter у параметрах моделі, OpenClaw пересилає її як routing metadata OpenRouter перед запуском спільних stream wrappers.

    Пов’язане