Accueil / LLM API / Guide de configuration
Guides de configuration

Configurez chaque client de la bonne façon

Choisissez un client à gauche pour voir le guide complet. Les exemples ci-dessous utilisent votre clé API actuelle et l'URL de base réelle du système.

Retour aux tarifs Console

Avant de configurer

  • Ajoutez du solde et assurez-vous que votre clé API existe dans la Console d'API IA.
  • Utilisez la bonne URL de base pour chaque client : certains nécessitent `/v1`, d'autres non.
  • Choisissez un modèle actuellement actif dans les tarifs, évitez les modèles dont la route est désactivée.
  • Si le client prend en charge les endpoints personnalisés, utilisez toujours l'endpoint HTTPS du site actuel.

Règles d'URL de base

  • Clients compatibles OpenAI : utilisez l'URL de base avec `/v1`.
  • Variable d'environnement `ANTHROPIC_BASE_URL` de Claude Code : utilisez le domaine racine sans `/v1`.
API reference

Endpoints and commands

Open an endpoint to see its complete curl command. The list stays compact instead of rendering every command at once.

Text / hội thoại

chat/completionsPOST

OpenAI-compatible chat; messages, tools and optional stream=true.

https://api.xah.io/v1/chat/completions

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "messages": [{"role": "user", "content": "Hello"}],
  "stream": false
}'
completionsPOST

Legacy prompt completion; use only when this capability is enabled.

https://api.xah.io/v1/completions

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "prompt": "Hello",
  "max_tokens": 256
}'
responsesPOST

Responses-style request; input/output follows the enabled upstream contract.

https://api.xah.io/v1/responses

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/responses \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "input": "Hello"
}'
messagesPOST

Anthropic Messages format. Send anthropic-version: 2023-06-01 and max_tokens.

https://api.xah.io/v1/messages

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/messages \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'anthropic-version: 2023-06-01' \
  -d '{
  "model": "MODEL",
  "max_tokens": 1024,
  "messages": [{"role": "user", "content": "Hello"}]
}'

Images

images/generationsPOST

Text-to-image. Use only fields documented by the selected image model: prompt, n, size, quality, response_format, etc.

https://api.xah.io/v1/images/generations

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/images/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "prompt": "A red fox in snow",
  "n": 1,
  "size": "1024x1024"
}'
images/generations · image-to-imagePOST

Tạo ảnh từ ảnh cũng gọi cùng endpoint images/generations. Gửi ảnh theo field mà model/upstream đã công bố trong payload template; ví dụ dưới dùng image_url là contract của model mẫu.

https://api.xah.io/v1/images/generations

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/images/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "prompt": "Turn the reference into a watercolor illustration",
  "image_url": "https://example.com/reference.png",
  "n": 1,
  "size": "1024x1024"
}'
images/editsPOST multipart

Image-to-image edit/generation. image is multipart; prompt and mask depend on the selected model contract.

https://api.xah.io/v1/images/edits

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/images/edits \
  -H 'Authorization: Bearer API_KEY' \
  -F 'model=MODEL' \
  -F 'prompt=Make it brighter' \
  -F '[email protected]'
images/variationsPOST multipart

Create variations from an input image. image is multipart; do not send JSON/base64 unless the selected upstream documents it.

https://api.xah.io/v1/images/variations

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/images/variations \
  -H 'Authorization: Bearer API_KEY' \
  -F 'model=MODEL' \
  -F '[email protected]'

Audio

audio/speechPOST

Text-to-speech. The successful response is binary audio; save the response body, do not call response.json().

https://api.xah.io/v1/audio/speech

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/audio/speech \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "input": "Hello from CKEY",
  "voice": "alloy",
  "response_format": "mp3"
}'
audio/transcriptionsPOST multipart

Speech-to-text. Send a multipart file plus model and any documented language/prompt fields.

https://api.xah.io/v1/audio/transcriptions

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/audio/transcriptions \
  -H 'Authorization: Bearer API_KEY' \
  -F 'model=MODEL' -F '[email protected]'
audio/translationsPOST multipart

Translate speech from an audio file. Send multipart/form-data.

https://api.xah.io/v1/audio/translations

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/audio/translations \
  -H 'Authorization: Bearer API_KEY' \
  -F 'model=MODEL' -F '[email protected]'

Video (task / async)

v1/videosPOST + GET

OpenAI-compatible Video API V1. POST creates a job at /v1/videos/generations; poll GET /v1/videos/{JOB_ID}. Use seconds for the V1 contract.

https://api.xah.io/v1/videos/generations

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/videos/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "prompt": "A gentle camera move across a mountain",
  "seconds": 8
}

# Poll: GET https://api.xah.io/v1/videos/JOB_ID'
v2/video_generationPOST + GET + DELETE

CKEY public Task API V2. POST creates a task; poll GET /v2/query/video_generation/{JOB_ID}; cancel DELETE /v2/video_generation/{JOB_ID}. Use duration for the V2 contract; do not change the route to V1.

https://api.xah.io/v2/video_generation

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v2/video_generation \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "content": [{"type": "text", "text": "A gentle camera move across a mountain"}],
  "duration": 6,
  "ratio": "16:9"
}

# Poll: GET https://api.xah.io/v2/query/video_generation/JOB_ID
# Cancel: DELETE https://api.xah.io/v2/video_generation/JOB_ID'

Embeddings / ranking / safety / search

embeddingsPOST

Convert one string or an array of strings to vectors.

https://api.xah.io/v1/embeddings

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/embeddings \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "input": ["first text", "second text"]
}'
rerankPOST

Rank documents for a query. query and documents are required; top_n must not exceed document count.

https://api.xah.io/v1/rerank

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/rerank \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "query": "latest AI news",
  "documents": ["doc A", "doc B"],
  "top_n": 2
}'
moderationsPOST

Classify input using the enabled moderation model.

https://api.xah.io/v1/moderations

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/moderations \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "input": "Text to classify"
}'
searchPOST

Provider/model-specific search contract. Send optional fields only when the selected model documents them.

https://api.xah.io/v1/search

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1/search \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "query": "latest AI news",
  "max_results": 5
}'

Native provider routes

geminiPOST

Google Gemini native format. Streaming uses :streamGenerateContent?alt=sse, not an invented stream body field.

https://api.xah.io/v1beta/models/MODEL:generateContent

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/v1beta/models/MODEL:generateContent \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "contents": [{"role": "user", "parts": [{"text": "Hello"}]}]
}'
ollamaPOST

Ollama native chat format.

https://api.xah.io/api/chat

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/api/chat \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "messages": [{"role": "user", "content": "Hello"}],
  "stream": false
}'
api/generatePOST

Ollama native prompt generation.

https://api.xah.io/api/generate

Complete command
API_KEY="YOUR_CKEY_API_KEY"

curl https://api.xah.io/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "MODEL",
  "prompt": "Hello",
  "stream": false
}'
Contract rule

Both text-to-image and image-to-image use POST /images/generations when that is the model contract. Do not rename the image field: use the payload template/contract of the selected model. Do not substitute images/edits or images/variations for a model that exposes only images/generations.

OpenAI-compatible chat/completions /v1

Cursor

Cursor doit utiliser le mode compatible OpenAI avec une clé API personnalisée et une URL de base personnalisée.

Informations requises

Provider
OpenAI-compatible
API Key
sk-YOUR_API_KEY
Base URL
https://api.xah.io/v1
Modèle
gpt-5.4
Route
chat/completions
Exigence du forfait
Nécessite un forfait Cursor prenant en charge les endpoints API personnalisés.

Étapes recommandées

  1. 1Ouvrez les paramètres de Cursor puis allez dans AI / Models / API Keys.
  2. 2Activez la clé OpenAI personnalisée ou le provider personnalisé si votre version de Cursor utilise un autre libellé.
  3. 3Collez la clé API et l'URL de base indiquées ci-dessous.
  4. 4Choisissez le modèle suggéré ou un autre modèle actuellement actif.

Bloc prêt à copier

Provider: OpenAI-compatible
API Key: sk-YOUR_API_KEY
Base URL: https://api.xah.io/v1
Model: gpt-5.4
Route: chat/completions

Modèles recommandés

  • gpt-5.4
  • claude-opus-4.6
  • claude-opus-4.7
  • claude-opus-4.8
  • claude-sonnet-4.6
  • deepseek-4.1-flash-ckey

Notes

  • Cursor utilise le flux compatible OpenAI, donc l'URL de base doit inclure `/v1`.
  • Si un modèle ne fonctionne pas dans Cursor, essayez un autre modèle compatible OpenAI de la liste active.
  • Après l'enregistrement, envoyez un court prompt pour confirmer que la route `chat/completions` fonctionne.
Contacter le support
Nous sommes toujours prêts à vous aider