Files
9router/open-sse/providers/registry/xai.js
T
decoluaandCursor e53ce79abb refactor(open-sse): B1 consolidate media endpoint URLs into registry
- image/embed/tts/search base URLs derive from media.*Config.baseUrl /
  searchViaChat.endpoint (single source); handlers read PROVIDER_MEDIA.
- ~18 hardcoded endpoints moved: bfl/fal/stability/runway/hf/gemini/
  cloudflare/recraft/sdwebui/comfyui/nanobanana image, voyage embed,
  gemini/openrouter tts, chatSearch endpoints.
- Byte-identical: PROVIDERS 62 + alias 90 baselines, image buildUrl outputs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-14 13:58:12 +07:00

61 lines
1.5 KiB
JavaScript

export default {
"id": "xai",
"alias": "xai",
display: {
"name": "xAI (Grok)",
"icon": "auto_awesome",
"color": "#1DA1F2",
"textIcon": "XA",
"website": "https://x.ai",
"notice": {
"apiKeyUrl": "https://console.x.ai"
}
},
category: "apikey",
hasOAuth: true,
authModes: ["oauth","apikey"],
"transport": {
"baseUrl": "https://api.x.ai/v1/chat/completions",
"validateUrl": "https://api.x.ai/v1/models",
"responsesUrl": "https://api.x.ai/v1/responses",
"clientId": "b1a00492-073a-47ea-816f-4c329264a828",
"tokenUrl": "https://auth.x.ai/oauth2/token",
"refreshUrl": "https://auth.x.ai/oauth2/token"
},
media: {
serviceKinds: ["llm", "imageToText", "webSearch", "image"],
searchViaChat: { defaultModel: "grok-4.20-reasoning", endpoint: "https://api.x.ai/v1/responses", pricingUrl: "https://x.ai/api#pricing" },
imageConfig: { baseUrl: "https://api.x.ai/v1/images/generations", bodyFields: ["model", "prompt", "n", "response_format"] },
authModes: ["oauth", "apikey"],
hasOAuth: true
},
"models": [
{
"id": "grok-4",
"name": "Grok 4"
},
{
"id": "grok-4-fast-reasoning",
"name": "Grok 4 Fast Reasoning"
},
{
"id": "grok-code-fast-1",
"name": "Grok Code Fast"
},
{
"id": "grok-3",
"name": "Grok 3"
},
{
"id": "grok-2-image-1212",
"name": "Grok 2 Image",
"type": "image",
"params": [
"n",
"response_format"
]
}
]
};