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초 - 참조 이미지 생성: 제공된 모든 이미지에 대해
imageRoles를reference_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, imagemask, 추가 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_stream을false로 설정하세요. - 번들 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_search는plugins.entries.xai.config.webSearch.baseUrl을 읽습니다.x_search는plugins.entries.xai.config.xSearch.baseUrl을 읽은 다음 Grok web-search base URL로 fallback합니다. x_search와code_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합니다.