Migrate from OpenRouter¶
IndoxHub uses the same OpenAI-compatible API format as OpenRouter. Switching takes minimal code changes.
What Changes¶
| OpenRouter | IndoxHub | |
|---|---|---|
| Base URL | https://openrouter.ai/api/v1 |
https://api.indoxhub.com/api/v1 |
| Auth Header | Authorization: Bearer OR_KEY |
Authorization: Bearer INDOX_KEY |
| Model Format | provider/model |
provider/model (same) |
| Response Format | OpenAI-compatible | OpenAI-compatible + usage/cost |
Step 1: Get an IndoxHub API Key¶
Sign up at indoxhub.com and create an API key from the dashboard.
Step 2: Update Your Code¶
OpenAI SDK¶
Change two lines:
from openai import OpenAI
client = OpenAI(
api_key="YOUR_INDOXHUB_KEY", # was: OpenRouter key
base_url="https://api.indoxhub.com/v1" # was: https://openrouter.ai/api/v1
)
# Everything else stays the same
response = client.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[{"role": "user", "content": "Hello!"}]
)
Direct API¶
curl https://api.indoxhub.com/api/v1/chat/completions \
-H "Authorization: Bearer YOUR_INDOXHUB_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "openai/gpt-4o-mini", "messages": [{"role": "user", "content": "Hello!"}]}'
Step 3: Verify¶
Test with a simple request. The response format is OpenAI-compatible with additional usage fields including cost tracking.
What You Get Extra¶
- Built-in cost tracking — every response includes token counts and cost
- BYOK support — use your own provider API keys
- Video generation — Luma, Google Veo support
- Speech endpoints — TTS and STT included
Model Name Compatibility¶
Most model names are identical between OpenRouter and IndoxHub. Use the same provider/model format.
Browse available models: Models