home / skills / adaptationio / skrillz / xai-auth

xai-auth skill

/skills/xai-auth

npx playbooks add skill adaptationio/skrillz --skill xai-auth

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
4.1 KB
---
name: xai-auth
description: xAI Grok API authentication and setup. Use when configuring xAI API access, setting up API keys, or troubleshooting authentication issues.
version: 1.0.0
---

# xAI Grok API Authentication

Complete guide for setting up and managing xAI API authentication for Grok models with Twitter/X integration.

## Quick Start

### 1. Get API Key
1. Go to [console.x.ai](https://console.x.ai)
2. Sign in with your X (Twitter) account
3. Navigate to "API Keys" section
4. Click "Create API Key"
5. Copy and save the key (starts with `xai-`)

### 2. Set Environment Variable
```bash
# Add to .bashrc, .zshrc, or .env
export XAI_API_KEY="xai-your-key-here"
```

### 3. Test Connection
```bash
curl https://api.x.ai/v1/models \
  -H "Authorization: Bearer $XAI_API_KEY"
```

## Authentication Methods

### Method 1: Environment Variable (Recommended)
```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
```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
```python
from xai_sdk import Client

client = Client(api_key=os.getenv("XAI_API_KEY"))
```

## API Compatibility

xAI API is **fully compatible with OpenAI SDK**:

```python
# Just change base_url - everything else works the same
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!"}]
)
```

## Free Credits

### $150/Month Free Credits
1. Go to [console.x.ai](https://console.x.ai)
2. Navigate to Settings → Data Sharing
3. Enable data sharing opt-in
4. Receive $150/month in API credits

### 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 |

## Configuration File

Create `.env.xai`:
```bash
# xAI API Configuration
XAI_API_KEY=xai-your-key-here
XAI_BASE_URL=https://api.x.ai/v1
XAI_DEFAULT_MODEL=grok-3-fast
```

## Error Handling

### Common Errors

| Error | Cause | Solution |
|-------|-------|----------|
| `no credits` | No credits on account | Add credits or enable free tier |
| `invalid_api_key` | Wrong or expired key | Generate new key at console.x.ai |
| `rate_limit_exceeded` | Too many requests | Implement backoff, reduce frequency |
| `model_not_found` | Invalid model name | Check available models |

### Python Error Handling
```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}")
```

## Security Best Practices

1. **Never commit API keys** to git
2. **Use environment variables** instead of hardcoding
3. **Rotate keys regularly** via console.x.ai
4. **Use separate keys** for dev/prod environments
5. **Add to .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 |

## Endpoints

| Endpoint | Description |
|----------|-------------|
| `https://api.x.ai/v1/chat/completions` | Chat completions |
| `https://api.x.ai/v1/models` | List available models |
| `https://api.x.ai/v1/responses` | Agent Tools API |

## Related Skills
- `xai-models` - Model selection guide
- `xai-x-search` - Twitter/X search
- `xai-sentiment` - Sentiment analysis

## References
- [xAI Console](https://console.x.ai)
- [xAI Documentation](https://docs.x.ai)
- [API Overview](https://docs.x.ai/docs/overview)