xai-auth
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesexAI Grok API Authentication
xAI Grok API 认证指南
Complete guide for setting up and managing xAI API authentication for Grok models with Twitter/X integration.
这是一份完整的指南,介绍如何为集成了Twitter/X的Grok模型设置和管理xAI API认证。
Quick Start
快速开始
1. Get API Key
1. 获取API密钥
- Go to console.x.ai
- Sign in with your X (Twitter) account
- Navigate to "API Keys" section
- Click "Create API Key"
- Copy and save the key (starts with )
xai-
- 访问 console.x.ai
- 使用你的X(Twitter)账号登录
- 导航至“API Keys”板块
- 点击“Create API Key”
- 复制并保存密钥(以开头)
xai-
2. Set Environment Variable
2. 设置环境变量
bash
undefinedbash
undefinedAdd to .bashrc, .zshrc, or .env
添加到.bashrc、.zshrc或.env文件中
export XAI_API_KEY="xai-your-key-here"
undefinedexport XAI_API_KEY="xai-your-key-here"
undefined3. Test Connection
3. 测试连接
bash
curl https://api.x.ai/v1/models \
-H "Authorization: Bearer $XAI_API_KEY"bash
curl https://api.x.ai/v1/models \
-H "Authorization: Bearer $XAI_API_KEY"Authentication Methods
认证方式
Method 1: Environment Variable (Recommended)
方式1:环境变量(推荐)
python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("XAI_API_KEY"),
base_url="https://api.x.ai/v1"
)python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("XAI_API_KEY"),
base_url="https://api.x.ai/v1"
)Method 2: Direct Key
方式2:直接配置密钥
python
from openai import OpenAI
client = OpenAI(
api_key="xai-your-key-here",
base_url="https://api.x.ai/v1"
)python
from openai import OpenAI
client = OpenAI(
api_key="xai-your-key-here",
base_url="https://api.x.ai/v1"
)Method 3: Using xai-sdk
方式3:使用xai-sdk
python
from xai_sdk import Client
client = Client(api_key=os.getenv("XAI_API_KEY"))python
from xai_sdk import Client
client = Client(api_key=os.getenv("XAI_API_KEY"))API Compatibility
API兼容性
xAI API is fully compatible with OpenAI SDK:
python
undefinedxAI API 完全兼容OpenAI SDK:
python
undefinedJust change base_url - everything else works the same
只需修改base_url - 其余用法完全一致
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("XAI_API_KEY"),
base_url="https://api.x.ai/v1" # Only difference
)
response = client.chat.completions.create(
model="grok-3-fast", # Use Grok models
messages=[{"role": "user", "content": "Hello!"}]
)
undefinedfrom openai import OpenAI
client = OpenAI(
api_key=os.getenv("XAI_API_KEY"),
base_url="https://api.x.ai/v1" # 唯一区别
)
response = client.chat.completions.create(
model="grok-3-fast", # 使用Grok模型
messages=[{"role": "user", "content": "Hello!"}]
)
undefinedFree Credits
免费额度
$150/Month Free Credits
每月150美元免费额度
- Go to console.x.ai
- Navigate to Settings → Data Sharing
- Enable data sharing opt-in
- Receive $150/month in API credits
- 访问 console.x.ai
- 导航至“设置”→“数据共享”
- 启用数据共享选项
- 即可获得每月150美元的API额度
Credit Usage
额度计费标准
| Action | Cost |
|---|---|
| Grok 4.1 Fast (input) | $0.20/1M tokens |
| Grok 4.1 Fast (output) | $0.50/1M tokens |
| X Search / Web Search | $5/1,000 calls |
| Code Execution | $5/1,000 calls |
| 操作 | 费用 |
|---|---|
| Grok 4.1 Fast(输入) | 0.20美元/百万tokens |
| Grok 4.1 Fast(输出) | 0.50美元/百万tokens |
| X搜索/网页搜索 | 5美元/1000次调用 |
| 代码执行 | 5美元/1000次调用 |
Configuration File
配置文件
Create :
.env.xaibash
undefined创建文件:
.env.xaibash
undefinedxAI API Configuration
xAI API 配置
XAI_API_KEY=xai-your-key-here
XAI_BASE_URL=https://api.x.ai/v1
XAI_DEFAULT_MODEL=grok-3-fast
undefinedXAI_API_KEY=xai-your-key-here
XAI_BASE_URL=https://api.x.ai/v1
XAI_DEFAULT_MODEL=grok-3-fast
undefinedError Handling
错误处理
Common Errors
常见错误
| Error | Cause | Solution |
|---|---|---|
| No credits on account | Add credits or enable free tier |
| Wrong or expired key | Generate new key at console.x.ai |
| Too many requests | Implement backoff, reduce frequency |
| Invalid model name | Check available models |
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 账户无可用额度 | 充值或启用免费层级 |
| 密钥错误或已过期 | 在console.x.ai生成新密钥 |
| 请求过于频繁 | 实现退避机制,降低请求频率 |
| 模型名称无效 | 检查可用模型列表 |
Python Error Handling
Python错误处理示例
python
from openai import OpenAI, APIError, RateLimitError
client = OpenAI(
api_key=os.getenv("XAI_API_KEY"),
base_url="https://api.x.ai/v1"
)
try:
response = client.chat.completions.create(
model="grok-3-fast",
messages=[{"role": "user", "content": "Hello"}]
)
except RateLimitError:
print("Rate limit hit, waiting...")
time.sleep(60)
except APIError as e:
print(f"API error: {e}")python
from openai import OpenAI, APIError, RateLimitError
client = OpenAI(
api_key=os.getenv("XAI_API_KEY"),
base_url="https://api.x.ai/v1"
)
try:
response = client.chat.completions.create(
model="grok-3-fast",
messages=[{"role": "user", "content": "Hello"}]
)
except RateLimitError:
print("触发速率限制,等待中...")
time.sleep(60)
except APIError as e:
print(f"API错误: {e}")Security Best Practices
安全最佳实践
- Never commit API keys to git
- Use environment variables instead of hardcoding
- Rotate keys regularly via console.x.ai
- Use separate keys for dev/prod environments
- Add to .gitignore:
.env .env.* **/secrets.*
- 切勿将API密钥提交至git仓库
- 使用环境变量而非硬编码密钥
- 定期通过console.x.ai轮换密钥
- 为开发/生产环境使用不同密钥
- 将以下内容添加到.gitignore:
.env .env.* **/secrets.*
Rate Limits
速率限制
| Model | Requests/Min | Tokens/Min |
|---|---|---|
| Grok 4.1 Fast | 60 | 100,000 |
| Grok 4 | 30 | 50,000 |
| Grok 3 Mini | 100 | 200,000 |
| 模型 | 每分钟请求数 | 每分钟tokens数 |
|---|---|---|
| Grok 4.1 Fast | 60 | 100,000 |
| Grok 4 | 30 | 50,000 |
| Grok 3 Mini | 100 | 200,000 |
Endpoints
接口端点
| Endpoint | Description |
|---|---|
| Chat completions |
| List available models |
| Agent Tools API |
| 端点 | 描述 |
|---|---|
| 对话补全 |
| 列出可用模型 |
| Agent工具API |
Related Skills
相关技能
- - Model selection guide
xai-models - - Twitter/X search
xai-x-search - - Sentiment analysis
xai-sentiment
- - 模型选择指南
xai-models - - Twitter/X搜索
xai-x-search - - 情感分析
xai-sentiment