Providers

xAI

OpenClaw는 Grok 모델용 번들 xai 제공자 Plugin을 제공합니다.

시작하기

  • API 키 생성

    xAI 콘솔에서 API 키를 생성합니다.

  • API 키 설정

    XAI_API_KEY를 설정하거나 다음을 실행합니다.

    openclaw onboard --auth-choice xai-api-key
    
  • 모델 선택

    {
      agents: { defaults: { model: { primary: "xai/grok-4.3" } } },
    }
    
  • 내장 카탈로그

    OpenClaw에는 기본적으로 다음 xAI 모델 제품군이 포함되어 있습니다.

    제품군 모델 ID
    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은 동일한 API 형태를 따르는 최신 grok-4*grok-code-fast* ID도 전방 확인합니다.

    OpenClaw 기능 범위

    번들 Plugin은 xAI의 현재 공개 API 표면을 OpenClaw의 공유 제공자 및 도구 계약에 매핑합니다. 공유 계약에 맞지 않는 기능(예: 스트리밍 TTS 및 실시간 음성)은 노출되지 않습니다. 아래 표를 참조하세요.

    xAI 기능 OpenClaw 표면 상태
    채팅 / Responses xai/<model> 모델 제공자
    서버 측 웹 검색 web_search 제공자 grok
    서버 측 X 검색 x_search 도구
    서버 측 코드 실행 code_execution 도구
    이미지 image_generate
    동영상 video_generate
    일괄 텍스트 음성 변환 messages.tts.provider: "xai" / tts
    스트리밍 TTS - 노출되지 않음; OpenClaw의 TTS 계약은 완전한 오디오 버퍼를 반환합니다
    일괄 음성 텍스트 변환 tools.media.audio / 미디어 이해
    스트리밍 음성 텍스트 변환 음성 통화 streaming.provider: "xai"
    실시간 음성 - 아직 노출되지 않음; 다른 세션/WebSocket 계약
    파일 / 배치 일반 모델 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

    레거시 호환성 별칭

    레거시 별칭은 여전히 표준 번들 ID로 정규화됩니다.

    레거시 별칭 표준 ID
    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

    기능

    웹 검색

    번들 grok 웹 검색 제공자도 XAI_API_KEY를 사용합니다.

    openclaw config set tools.web.search.provider grok
    
    동영상 생성

    번들 xai Plugin은 공유 video_generate 도구를 통해 동영상 생성을 등록합니다.

    • 기본 동영상 모델: xai/grok-imagine-video
    • 모드: 텍스트-동영상, 이미지-동영상, 참조 이미지 생성, 원격 동영상 편집 및 원격 동영상 확장
    • 종횡비: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3
    • 해상도: 480P, 720P
    • 길이: 생성/이미지-동영상은 1~15초, reference_image 역할을 사용할 때는 1~10초, 확장은 2~10초
    • 참조 이미지 생성: 제공된 모든 이미지에 대해 imageRolesreference_image로 설정합니다. xAI는 이러한 이미지를 최대 7개까지 허용합니다.

    xAI를 기본 동영상 제공자로 사용하려면 다음을 설정합니다.

    {
      agents: {
        defaults: {
          videoGenerationModel: {
            primary: "xai/grok-imagine-video",
          },
        },
      },
    }
    
    이미지 생성

    번들 xai Plugin은 공유 image_generate 도구를 통해 이미지 생성을 등록합니다.

    • 기본 이미지 모델: xai/grok-imagine-image
    • 추가 모델: xai/grok-imagine-image-pro
    • 모드: 텍스트-이미지 및 참조 이미지 편집
    • 참조 입력: 하나의 image 또는 최대 다섯 개의 images
    • 종횡비: 1:1, 16:9, 9:16, 4:3, 3:4, 2:3, 3:2
    • 해상도: 1K, 2K
    • 개수: 최대 4개 이미지

    OpenClaw는 생성된 미디어를 일반 채널 첨부 경로를 통해 저장하고 전달할 수 있도록 xAI에 b64_json 이미지 응답을 요청합니다. 로컬 참조 이미지는 데이터 URL로 변환되고, 원격 http(s) 참조는 그대로 전달됩니다.

    xAI를 기본 이미지 제공자로 사용하려면 다음을 설정합니다.

    {
      agents: {
        defaults: {
          imageGenerationModel: {
            primary: "xai/grok-imagine-image",
          },
        },
      },
    }
    
    텍스트 음성 변환

    번들 xai Plugin은 공유 tts 제공자 표면을 통해 텍스트 음성 변환을 등록합니다.

    • 음성: eve, ara, rex, sal, leo, una
    • 기본 음성: eve
    • 형식: mp3, wav, pcm, mulaw, alaw
    • 언어: BCP-47 코드 또는 auto
    • 속도: 제공자 네이티브 속도 재정의
    • 네이티브 Opus 음성 메모 형식은 지원되지 않습니다.

    xAI를 기본 TTS 제공자로 사용하려면 다음을 설정합니다.

    {
      messages: {
        tts: {
          provider: "xai",
          providers: {
            xai: {
              voiceId: "eve",
            },
          },
        },
      },
    }
    
    음성 텍스트 변환

    번들 xai Plugin은 OpenClaw의 미디어 이해 전사 표면을 통해 일괄 음성 텍스트 변환을 등록합니다.

    • 기본 모델: grok-stt
    • 엔드포인트: xAI REST /v1/stt
    • 입력 경로: 멀티파트 오디오 파일 업로드
    • Discord 음성 채널 세그먼트 및 채널 오디오 첨부를 포함해 인바운드 오디오 전사가 tools.media.audio를 사용하는 모든 곳에서 OpenClaw가 지원합니다.

    인바운드 오디오 전사에 xAI를 강제로 사용하려면 다음을 설정합니다.

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

    언어는 공유 오디오 미디어 구성 또는 호출별 전사 요청을 통해 제공할 수 있습니다. 프롬프트 힌트는 공유 OpenClaw 표면에서 허용되지만, xAI REST STT 통합은 현재 공개 xAI 엔드포인트에 깔끔하게 매핑되는 파일, 모델 및 언어만 전달합니다.

    스트리밍 음성 텍스트 변환

    번들 xai Plugin은 라이브 음성 통화 오디오용 실시간 전사 제공자도 등록합니다.

    • 엔드포인트: xAI WebSocket wss://api.x.ai/v1/stt
    • 기본 인코딩: mulaw
    • 기본 샘플 레이트: 8000
    • 기본 엔드포인팅: 800ms
    • 중간 전사: 기본적으로 활성화됨

    음성 통화의 Twilio 미디어 스트림은 G.711 µ-law 오디오 프레임을 보내므로, xAI 제공자는 트랜스코딩 없이 해당 프레임을 직접 전달할 수 있습니다.

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

    Provider 소유 config는 plugins.entries.voice-call.config.streaming.providers.xai 아래에 있습니다. 지원되는 key는 apiKey, baseUrl, sampleRate, encoding(pcm, mulaw 또는 alaw), interimResults, endpointingMs, language입니다.

    x_search configuration

    번들 xAI Plugin은 Grok을 통해 X(이전 Twitter) 콘텐츠를 검색하기 위한 OpenClaw 도구로 x_search를 노출합니다.

    Config 경로: plugins.entries.xai.config.xSearch

    Key Type Default Description
    enabled boolean - x_search 활성화 또는 비활성화
    model string grok-4-1-fast x_search 요청에 사용되는 model
    baseUrl string - xAI Responses base URL override
    inlineCitations boolean - 결과에 inline citation 포함
    maxTurns number - 최대 conversation turn
    timeoutSeconds number - 초 단위 request timeout
    cacheTtlMinutes number - 분 단위 cache time-to-live
    {
      plugins: {
        entries: {
          xai: {
            config: {
              xSearch: {
                enabled: true,
                model: "grok-4-1-fast",
                baseUrl: "https://api.x.ai/v1",
                inlineCitations: true,
              },
            },
          },
        },
      },
    }
    
    Code execution configuration

    번들 xAI Plugin은 xAI의 sandbox 환경에서 원격 code execution을 수행하기 위한 OpenClaw 도구로 code_execution을 노출합니다.

    Config 경로: plugins.entries.xai.config.codeExecution

    Key Type Default Description
    enabled boolean true(key가 사용 가능할 경우) code execution 활성화 또는 비활성화
    model string grok-4-1-fast code execution 요청에 사용되는 model
    maxTurns number - 최대 conversation turn
    timeoutSeconds number - 초 단위 request timeout
    {
      plugins: {
        entries: {
          xai: {
            config: {
              codeExecution: {
                enabled: true,
                model: "grok-4-1-fast",
              },
            },
          },
        },
      },
    }
    
    Known limits
    • Auth는 현재 API key만 지원합니다. OpenClaw에는 아직 xAI OAuth 또는 device-code flow가 없습니다.
    • grok-4.20-multi-agent-experimental-beta-0304는 표준 OpenClaw xAI transport와 다른 upstream API surface가 필요하므로 일반 xAI provider 경로에서는 지원되지 않습니다.
    • xAI Realtime 음성은 아직 OpenClaw provider로 등록되어 있지 않습니다. batch STT 또는 streaming transcription과는 다른 양방향 음성 session contract가 필요합니다.
    • xAI image quality, image mask, 추가 native 전용 aspect ratio는 공유 image_generate 도구에 해당 cross-provider control이 생기기 전까지 노출되지 않습니다.
    Advanced notes
    • OpenClaw는 공유 runner 경로에서 xAI 전용 tool-schema 및 tool-call compatibility fix를 자동으로 적용합니다.
    • Native xAI 요청은 기본적으로 tool_stream: true입니다. 비활성화하려면 agents.defaults.models["xai/<model>"].params.tool_streamfalse로 설정하세요.
    • 번들 xAI wrapper는 native xAI 요청을 보내기 전에 지원되지 않는 strict tool-schema flag와 reasoning payload key를 제거합니다.
    • web_search, x_search, code_execution은 OpenClaw 도구로 노출됩니다. OpenClaw는 모든 chat turn에 모든 native tool을 연결하는 대신 각 tool 요청 안에서 필요한 특정 xAI built-in을 활성화합니다.
    • Grok web_searchplugins.entries.xai.config.webSearch.baseUrl을 읽습니다. x_searchplugins.entries.xai.config.xSearch.baseUrl을 읽은 다음 Grok web-search base URL로 fallback합니다.
    • x_searchcode_execution은 core model runtime에 hardcode되어 있지 않고 번들 xAI Plugin이 소유합니다.
    • code_execution은 로컬 exec이 아니라 원격 xAI sandbox execution입니다.

    Live testing

    xAI media 경로는 unit test와 opt-in live suite로 cover됩니다. live command는 XAI_API_KEY를 probe하기 전에 ~/.profile을 포함한 login shell에서 secret을 load합니다.

    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
    

    Provider별 live file은 일반 TTS, 전화 통화에 적합한 PCM TTS를 합성하고, xAI batch STT를 통해 audio를 transcript하며, 동일한 PCM을 xAI realtime STT로 stream하고, text-to-image output을 generate하며, reference image를 edit합니다. 공유 image live file은 OpenClaw의 runtime selection, fallback, normalization, media attachment 경로를 통해 동일한 xAI provider를 verify합니다.