Providers

xAI

OpenClaw постачається з вбудованим provider plugin xai для моделей Grok.

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

  • Створіть API-ключ

    Створіть API-ключ у консолі xAI.

  • Установіть свій API-ключ

    Установіть XAI_API_KEY або виконайте:

    openclaw onboard --auth-choice xai-api-key
    
  • Виберіть модель

    {
      agents: { defaults: { model: { primary: "xai/grok-4.3" } } },
    }
    
  • Вбудований каталог

    OpenClaw одразу включає такі сімейства моделей xAI:

    Сімейство Ідентифікатори моделей
    Grok 3 grok-3, grok-3-fast, grok-3-mini, grok-3-mini-fast
    Grok 4.3 grok-4.3
    Grok 4 grok-4, grok-4-0709
    Grok 4 Fast grok-4-fast, grok-4-fast-non-reasoning
    Grok 4.1 Fast grok-4-1-fast, grok-4-1-fast-non-reasoning
    Grok 4.20 Beta grok-4.20-beta-latest-reasoning, grok-4.20-beta-latest-non-reasoning
    Grok Code grok-code-fast-1

    Plugin також напряму розпізнає новіші ідентифікатори grok-4* і grok-code-fast*, коли вони мають таку саму форму API.

    Покриття функцій OpenClaw

    Вбудований Plugin відображає поточну публічну поверхню API xAI на спільні контракти provider і інструментів OpenClaw. Можливості, які не вписуються у спільний контракт (наприклад, потокове TTS і голос у реальному часі), не надаються - див. таблицю нижче.

    Можливість xAI Поверхня OpenClaw Стан
    Чат / Responses provider моделей xai/<model> Так
    Серверний вебпошук provider web_search grok Так
    Серверний пошук X інструмент x_search Так
    Серверне виконання коду інструмент code_execution Так
    Зображення image_generate Так
    Відео video_generate Так
    Пакетне text-to-speech messages.tts.provider: "xai" / tts Так
    Потокове TTS - Не надається; контракт TTS OpenClaw повертає повні аудіобуфери
    Пакетне speech-to-text tools.media.audio / розуміння медіа Так
    Потокове speech-to-text Voice Call streaming.provider: "xai" Так
    Голос у реальному часі - Ще не надається; інший контракт сеансу/WebSocket
    Файли / пакети Лише сумісність із generic model API Не першокласний інструмент OpenClaw

    Зіставлення швидкого режиму

    /fast on або agents.defaults.models["xai/<model>"].params.fastMode: true переписує нативні запити xAI так:

    Початкова модель Ціль швидкого режиму
    grok-3 grok-3-fast
    grok-3-mini grok-3-mini-fast
    grok-4 grok-4-fast
    grok-4-0709 grok-4-fast

    Застарілі псевдоніми сумісності

    Застарілі псевдоніми досі нормалізуються до канонічних вбудованих ідентифікаторів:

    Застарілий псевдонім Канонічний ідентифікатор
    grok-4-fast-reasoning grok-4-fast
    grok-4-1-fast-reasoning grok-4-1-fast
    grok-4.20-reasoning grok-4.20-beta-latest-reasoning
    grok-4.20-non-reasoning grok-4.20-beta-latest-non-reasoning

    Функції

    Вебпошук

    Вбудований provider вебпошуку grok також використовує XAI_API_KEY:

    openclaw config set tools.web.search.provider grok
    
    Генерація відео

    Вбудований Plugin xai реєструє генерацію відео через спільний інструмент video_generate.

    • Модель відео за замовчуванням: xai/grok-imagine-video
    • Режими: text-to-video, image-to-video, генерація за reference-image, віддалене редагування відео та віддалене розширення відео
    • Співвідношення сторін: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3
    • Роздільні здатності: 480P, 720P
    • Тривалість: 1-15 секунд для генерації/image-to-video, 1-10 секунд під час використання ролей reference_image, 2-10 секунд для розширення
    • Генерація за reference-image: установіть imageRoles на reference_image для кожного наданого зображення; xAI приймає до 7 таких зображень

    Щоб використовувати xAI як provider відео за замовчуванням:

    {
      agents: {
        defaults: {
          videoGenerationModel: {
            primary: "xai/grok-imagine-video",
          },
        },
      },
    }
    
    Генерація зображень

    Вбудований Plugin xai реєструє генерацію зображень через спільний інструмент image_generate.

    • Модель зображення за замовчуванням: xai/grok-imagine-image
    • Додаткова модель: xai/grok-imagine-image-pro
    • Режими: text-to-image і редагування reference-image
    • Вхідні reference-дані: одне image або до п’яти images
    • Співвідношення сторін: 1:1, 16:9, 9:16, 4:3, 3:4, 2:3, 3:2
    • Роздільні здатності: 1K, 2K
    • Кількість: до 4 зображень

    OpenClaw просить xAI повертати зображення у форматі b64_json, щоб згенеровані медіа можна було зберігати й доставляти через звичайний шлях вкладень каналу. Локальні reference-зображення перетворюються на data URL; віддалені посилання http(s) передаються без змін.

    Щоб використовувати xAI як provider зображень за замовчуванням:

    {
      agents: {
        defaults: {
          imageGenerationModel: {
            primary: "xai/grok-imagine-image",
          },
        },
      },
    }
    
    Text-to-speech

    Вбудований Plugin xai реєструє text-to-speech через спільну поверхню provider tts.

    • Голоси: eve, ara, rex, sal, leo, una
    • Голос за замовчуванням: eve
    • Формати: mp3, wav, pcm, mulaw, alaw
    • Мова: код BCP-47 або auto
    • Швидкість: provider-native перевизначення швидкості
    • Нативний формат голосових нотаток Opus не підтримується

    Щоб використовувати xAI як provider TTS за замовчуванням:

    {
      messages: {
        tts: {
          provider: "xai",
          providers: {
            xai: {
              voiceId: "eve",
            },
          },
        },
      },
    }
    
    Speech-to-text

    Вбудований Plugin xai реєструє пакетне speech-to-text через поверхню транскрипції розуміння медіа OpenClaw.

    • Модель за замовчуванням: grok-stt
    • Endpoint: xAI REST /v1/stt
    • Шлях введення: завантаження аудіофайлу multipart
    • Підтримується OpenClaw всюди, де транскрипція вхідного аудіо використовує tools.media.audio, зокрема сегменти голосових каналів Discord і аудіовкладення каналів

    Щоб примусово використовувати xAI для транскрипції вхідного аудіо:

    {
      tools: {
        media: {
          audio: {
            models: [
              {
                type: "provider",
                provider: "xai",
                model: "grok-stt",
              },
            ],
          },
        },
      },
    }
    

    Мову можна надати через спільну конфігурацію аудіомедіа або запит транскрипції для окремого виклику. Prompt-підказки приймаються спільною поверхнею OpenClaw, але інтеграція xAI REST STT передає лише файл, модель і мову, оскільки вони чітко відповідають поточному публічному endpoint xAI.

    Потокове speech-to-text

    Вбудований Plugin xai також реєструє provider транскрипції в реальному часі для живого аудіо голосових викликів.

    • Endpoint: xAI WebSocket wss://api.x.ai/v1/stt
    • Кодування за замовчуванням: mulaw
    • Частота дискретизації за замовчуванням: 8000
    • Endpointing за замовчуванням: 800ms
    • Проміжні транскрипти: увімкнено за замовчуванням

    Медіапотік Twilio у Voice Call надсилає аудіокадри G.711 µ-law, тому provider xAI може передавати ці кадри напряму без транскодування:

    {
      plugins: {
        entries: {
          "voice-call": {
            config: {
              streaming: {
                enabled: true,
                provider: "xai",
                providers: {
                  xai: {
                    apiKey: "${XAI_API_KEY}",
                    endpointingMs: 800,
                    language: "en",
                  },
                },
              },
            },
          },
        },
      },
    }
    

    Конфігурація, якою володіє провайдер, розташована в plugins.entries.voice-call.config.streaming.providers.xai. Підтримувані ключі: apiKey, baseUrl, sampleRate, encoding (pcm, mulaw або alaw), interimResults, endpointingMs і language.

    x_search configuration

    Вбудований plugin xAI надає x_search як інструмент OpenClaw для пошуку контенту X (раніше Twitter) через Grok.

    Шлях конфігурації: plugins.entries.xai.config.xSearch

    Ключ Тип Типово Опис
    enabled boolean - Увімкнути або вимкнути x_search
    model string grok-4-1-fast Модель, що використовується для запитів x_search
    baseUrl string - Перевизначення базової URL-адреси xAI Responses
    inlineCitations boolean - Додавати вбудовані цитування в результати
    maxTurns number - Максимальна кількість ходів розмови
    timeoutSeconds number - Тайм-аут запиту в секундах
    cacheTtlMinutes number - Час життя кешу в хвилинах
    {
      plugins: {
        entries: {
          xai: {
            config: {
              xSearch: {
                enabled: true,
                model: "grok-4-1-fast",
                baseUrl: "https://api.x.ai/v1",
                inlineCitations: true,
              },
            },
          },
        },
      },
    }
    
    Code execution configuration

    Вбудований plugin xAI надає code_execution як інструмент OpenClaw для віддаленого виконання коду в sandbox-середовищі xAI.

    Шлях конфігурації: plugins.entries.xai.config.codeExecution

    Ключ Тип Типово Опис
    enabled boolean true (якщо ключ доступний) Увімкнути або вимкнути виконання коду
    model string grok-4-1-fast Модель, що використовується для запитів виконання коду
    maxTurns number - Максимальна кількість ходів розмови
    timeoutSeconds number - Тайм-аут запиту в секундах
    {
      plugins: {
        entries: {
          xai: {
            config: {
              codeExecution: {
                enabled: true,
                model: "grok-4-1-fast",
              },
            },
          },
        },
      },
    }
    
    Known limits
    • Автентифікація сьогодні працює лише через API-ключ. В OpenClaw поки немає OAuth xAI або потоку з кодом пристрою.
    • grok-4.20-multi-agent-experimental-beta-0304 не підтримується у звичайному шляху провайдера xAI, бо потребує іншої поверхні upstream API, ніж стандартний транспорт xAI в OpenClaw.
    • Голос xAI Realtime ще не зареєстрований як провайдер OpenClaw. Йому потрібен інший двоспрямований контракт голосової сесії, ніж пакетний STT або потокова транскрипція.
    • quality зображення xAI, mask зображення та додаткові нативні співвідношення сторін не надаються, доки спільний інструмент image_generate не матиме відповідних кроспровайдерних елементів керування.
    Advanced notes
    • OpenClaw автоматично застосовує специфічні для xAI виправлення сумісності схем інструментів і викликів інструментів у спільному шляху runner.
    • Нативні запити xAI типово використовують tool_stream: true. Установіть agents.defaults.models["xai/<model>"].params.tool_stream у false, щоб вимкнути це.
    • Вбудована обгортка xAI видаляє непідтримувані суворі прапорці схем інструментів і ключі payload reasoning перед надсиланням нативних запитів xAI.
    • web_search, x_search і code_execution надаються як інструменти OpenClaw. OpenClaw вмикає конкретний вбудований засіб xAI, який потрібен у кожному запиті інструмента, замість приєднання всіх нативних інструментів до кожного ходу чату.
    • Grok web_search читає plugins.entries.xai.config.webSearch.baseUrl. x_search читає plugins.entries.xai.config.xSearch.baseUrl, а потім повертається до базової URL-адреси вебпошуку Grok.
    • x_search і code_execution належать вбудованому plugin xAI, а не жорстко закодовані в основному runtime моделей.
    • code_execution — це віддалене виконання в sandbox xAI, а не локальний exec.

    Живе тестування

    Медійні шляхи xAI покриті модульними тестами та опційними живими наборами. Живі команди завантажують секрети з вашої login shell, зокрема ~/.profile, перед перевіркою XAI_API_KEY.

    pnpm test extensions/xai
    OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_TEST_QUIET=1 pnpm test:live -- extensions/xai/xai.live.test.ts
    OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_TEST_QUIET=1 OPENCLAW_LIVE_IMAGE_GENERATION_PROVIDERS=xai pnpm test:live -- test/image-generation.runtime.live.test.ts
    

    Специфічний для провайдера живий файл синтезує звичайний TTS, придатний для телефонії PCM TTS, транскрибує аудіо через пакетний STT xAI, передає той самий PCM через STT реального часу xAI, генерує результат text-to-image і редагує референсне зображення. Спільний живий файл зображень перевіряє того самого провайдера xAI через шлях вибору runtime OpenClaw, fallback, нормалізації та медійних вкладень.

    Пов’язане