REST API
xAI Enterprise API 是一个强大的高性能 RESTful 接口,旨在无缝集成到现有系统中。 它提供高级 AI 功能,与 OpenAI REST API 完全兼容。
所有路由的基数都位于https://api.x.ai
.对于所有路由,您必须使用 header 进行身份验证Authorization: Bearer <your xAI API key>
.
聊天补全
/v1/chat/completions
从文本/图像聊天提示创建聊天响应。这是向聊天和图像理解模型发出请求的终端节点。
请求正文
messages
数组
必填
构成聊天对话的消息列表。不同的模型支持不同的消息类型,例如图像和文本。
model
字符串
必填
要使用的模型的模型名称。
发布
/v1/chat/completions
{
"messages": [
{
"role": "system",
"content": "You're an assistant"
},
{
"role": "user",
"content": "Hi"
}
],
"model": "grok-2-latest"
}
200
响应
{
"id": "c6f2d009-77ca-40d9-9de5-6d19716e1b4d",
"object": "chat.completion",
"created": 1728646283,
"model": "grok-2-latest",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I assist you today?",
"refusal": null
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 10,
"total_tokens": 25,
"prompt_tokens_details": {
"text_tokens": 15,
"audio_tokens": 0,
"image_tokens": 0,
"cached_tokens": 0
}
},
"system_fingerprint": "fp_9877325691"
}
消息(与 Anthropic 兼容)
/v1/messages
创建 messages 响应。此终端节点与 Anthropic API 兼容。
请求正文
max_tokens
整数
必填
停止前要生成的最大 Token 数。当模型到达停止序列时,模型可能会在 max_tokens 之前停止。
messages
数组
必填
输入消息。
model
字符串
必填
要使用的模型的模型名称。
发布
/v1/messages
{
"model": "grok-2-latest",
"max_tokens": 32,
"messages": [
{
"role": "user",
"content": "Hello, world"
}
]
}
200
响应
{
"id": "107baefc-993f-4632-b504-3f0c90d089aa",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! How can I assist you today?"
}
],
"model": "grok-2-latest",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 9,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0,
"output_tokens": 10
}
}
API 密钥
/v1/api-key
获取有关 API 密钥的信息,包括名称、状态、权限以及创建或修改此密钥的用户。
获取
/v1/api-key
No parameters.
200
响应
{
"redacted_api_key": "xai-...b14o",
"user_id": "59fbe5f2-040b-46d5-8325-868bb8f23eb2",
"name": "My API Key",
"create_time": "2024-01-01T12:55:18.139305Z",
"modify_time": "2024-08-28T17:20:12.343321Z",
"modified_by": "3d38b4dc-4eb7-4785-ae26-c3fa8997ffc7",
"team_id": "5ea6f6bd-7815-4b8a-9135-28b2d7ba6722",
"acls": [
"api-key:model:*",
"api-key:endpoint:*"
],
"api_key_id": "ae1e1841-4326-4b36-a8a9-8a1a7237db11",
"team_blocked": false,
"api_key_blocked": false,
"api_key_disabled": false
}
列出模型
/v1/models
列出可用于身份验证 API 密钥的所有模型,并包含最少的信息,包括模型名称 (ID)、创建时间等。
获取
/v1/models
No parameters.
200
响应
{
"data": [
{
"id": "grok-2-1212",
"created": 1733961600,
"object": "model",
"owned_by": "xai"
},
{
"id": "grok-2-vision-1212",
"created": 1733961600,
"object": "model",
"owned_by": "xai"
}
],
"object": "list"
}
获取模型
/v1/models/{model_id}
获取有关模型及其 model_id的最少信息。
路径参数
model_id
字符串
要获取的模型的 ID。
获取
/v1/models/{model_id}
No parameters.
200
响应
{
"id": "grok-2-latest",
"created": 1726444800,
"object": "model",
"owned_by": "xai"
}
列出语言模型
/v1/language-models
列出可用于身份验证 API 密钥的所有聊天和图像理解模型以及完整信息。与 /v1/models 相比,其他信息包括模式、定价、指纹和别名。
获取
/v1/language-models
No parameters.
200
响应
{
"models": [
{
"id": "grok-2-1212",
"fingerprint": "fp_1a5ab39b2d",
"created": 1733961600,
"object": "model",
"owned_by": "xai",
"version": "1.0.0",
"input_modalities": [
"text"
],
"output_modalities": [
"text"
],
"prompt_text_token_price": 20000,
"prompt_image_token_price": 0,
"completion_text_token_price": 100000,
"aliases": [
"grok-2",
"grok-2-latest"
]
},
{
"id": "grok-2-vision-1212",
"fingerprint": "fp_daba7546e5",
"created": 1733961600,
"object": "model",
"owned_by": "xai",
"version": "0.1.0",
"input_modalities": [
"text",
"image"
],
"output_modalities": [
"text"
],
"prompt_text_token_price": 20000,
"prompt_image_token_price": 20000,
"completion_text_token_price": 100000,
"aliases": []
}
]
}
获取语言模型
/v1/language-models/{model_id}
获取有关聊天或图像理解模型及其model_id的完整信息。
路径参数
model_id
字符串
要获取的模型的 ID。
获取
/v1/language-models/{model_id}
No parameters.
200
响应
{
"id": "grok-2-latest",
"created": 1726444800,
"object": "model",
"owned_by": "xai",
"version": "1.0.0",
"input_modalities": [
"text"
],
"output_modalities": [
"text"
],
"prompt_text_token_price": 20000,
"prompt_image_token_price": 0,
"completion_text_token_price": 100000,
"aliases": [
"grok-2",
"grok-2-latest"
]
}
标记文本
/v1/tokenize-text
使用指定的模型对文本进行标记
请求正文
model
字符串
必填
用于 tokenize 的模型。
text
字符串
必填
要标记化的文本内容。
发布
/v1/tokenize-text
{
"text": "Hello world!",
"model": "grok-2-latest"
}
200
响应
{
"token_ids": [
{
"token_id": 13902,
"string_token": "Hello",
"token_bytes": [
72,
101,
108,
108,
111
]
},
{
"token_id": 1749,
"string_token": " world",
"token_bytes": [
32,
119,
111,
114,
108,
100
]
},
{
"token_id": 161,
"string_token": "!",
"token_bytes": [
33
]
}
]
}
完成次数(旧版)
/v1/completions
(旧版)为给定提示创建文本完成响应。替换为 /v1/chat/completions
请求正文
model
字符串
必填
指定要用于请求的模型。
提示
字符串 |数组
必填
用于生成完成项的输入,可以是字符串、字符串列表、令牌列表或令牌列表。'<|endoftext|>' 用作文档分隔符,如果省略,则表示新的上下文开始。
发布
/v1/completions
{
"prompt": "1, 2, 3, 4, ",
"model": "grok-2-latest",
"max_tokens": 3
}
200
响应
{
"id": "3a34a6a3-82b2-46d9-874d-99dbca084813",
"object": "text_completion",
"created": 1728652460,
"model": "grok-2-latest",
"choices": [
{
"index": 0,
"text": "5, ",
"finish_reason": "length"
}
],
"usage": {
"prompt_tokens": 12,
"completion_tokens": 3,
"total_tokens": 15
},
"system_fingerprint": "fp_8933231290"
}
补全 (Anthropic compatible - legacy)
/v1/complete
(旧版)创建文本完成响应。此终端节点与 Anthropic API 兼容。
请求正文
max_tokens_to_sample
整数
必填
停止前要生成的最大 Token 数。
model
字符串
必填
用于完成的模型。
提示
字符串
必填
提示模型执行完成。
发布
/v1/complete
{
"model": "grok-2-latest",
"max_tokens_to_sample": 8,
"temperature": 0.1,
"prompt": "\n\nHuman: Hello, how are you?\n\nAssistant:"
}
200
响应
{
"type": "completion",
"id": "8d3e45c6-f882-4d40-bb4a-54c6af166e18",
"completion": "Hello there! I'm Grok",
"stop_reason": "max_tokens",
"model": "grok-2-latest"
}