Beranda / API LLM / Panduan setup
Panduan Setup

Konfigurasi klien sesuai alatnya

Pilih alat di kolom kiri untuk melihat panduan lengkap. Konten di bawah menggunakan API key Anda saat ini dan Base URL asli sistem.

Kembali ke daftar harga Console

Persiapan sebelum konfigurasi

  • Isi saldo dan pastikan API key sudah dibuat di Console API AI.
  • Gunakan Base URL yang benar untuk setiap klien: sebagian perlu `/v1`, sebagian tidak.
  • Pilih model yang sedang aktif di daftar harga.
  • Jika klien mendukung custom endpoint, selalu gunakan endpoint HTTPS situs saat ini.

Aturan Base URL

  • Klien kompatibel OpenAI: gunakan Base URL dengan `/v1`.
  • Claude Code env `ANTHROPIC_BASE_URL`: gunakan root domain, tanpa `/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 sebaiknya menggunakan jalur kompatibel OpenAI dengan API key dan base URL khusus.

Informasi yang perlu diisi

Provider
OpenAI-compatible
API Key
sk-YOUR_API_KEY
Base URL
https://api.xah.io/v1
Model
gpt-5.4
Route
chat/completions
Persyaratan paket
Membutuhkan paket Cursor yang mendukung custom API endpoint.

Langkah yang disarankan

  1. 1Buka Cursor Settings lalu masuk ke area AI / Models / API Keys.
  2. 2Aktifkan opsi custom OpenAI key atau custom provider untuk build Cursor Anda.
  3. 3Tempel API key dan Base URL di bawah.
  4. 4Pilih model yang disarankan atau model aktif lainnya di daftar harga.

Blok konfigurasi contoh

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

Model yang disarankan

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

Catatan

  • Cursor menggunakan alur kompatibel OpenAI, jadi Base URL harus mengandung `/v1`.
  • Jika suatu model gagal di Cursor, coba ganti ke model kompatibel OpenAI lain yang aktif.
  • Setelah disimpan, uji dengan prompt singkat untuk memastikan route `chat/completions` berfungsi.
Hubungi Dukungan
Kami selalu siap membantu Anda