skilliesAPIYour account
DEVELOPER DOCUMENTATION

One key.
Build your own flow.

Send your Skillies key in the Authorization header. All prices are in INR and share the same prepaid balance.

Authentication

Authorization: Bearer YOUR_SKILLIES_API_KEY
Idempotency-Key: your-unique-request-id

Keep API keys on your server. Reusing an idempotency key will not charge again; a duplicate returns 409 with the original request ID. Audio and transcripts are not retained for replay.

Endpoints

Method / pathInputOutput
POST /v1/chat/completionsmessages, max_tokens, streamText or SSE chunks
POST /v1/audio/transcriptionsMultipart file: PCM16 mono WAV, 0–30 secondsTranscript JSON
POST /v1/audio/speechJSON input, voice: default24 kHz WAV
POST /v1/converseMultipart file, optional messages JSON and output_audio=falseTranscript, reply, optional base64 WAV
GET /v1/usageAPI keyBalance, latest requests, charges and latency
GET /v1/modelsAPI keyPublic Skillies model aliases

Start with chat

curl https://api.skillies.ai/v1/chat/completions \
  -H "Authorization: Bearer $SKILLIES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"skillies-chat-1","messages":[{"role":"user","content":"Hello"}],"max_tokens":128}'

Give text a voice

curl https://api.skillies.ai/v1/audio/speech \
  -H "Authorization: Bearer $SKILLIES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"skillies-voice-1","input":"Welcome to Skillies.","voice":"default"}' --output speech.wav

Use skillies-stt-1 for transcription, skillies-chat-1 for intelligence, and skillies-voice-1 for speech. You can combine endpoints in any order.

Billing and errors

Each request reserves a maximum charge, then settles measured usage. Cached input receives the cached rate only when reported. Failed requests are refunded. Response headers include X-Request-Id, X-Charged-Paise, X-Balance-Paise, and X-Latency-Ms. Streaming chat returns billing in its final event. total_ms measures server processing through billing settlement; provider_total_ms isolates model work. auth_ms, reservation_ms and settlement_ms show gateway overhead. response_ready_ms also includes telemetry persistence. Client network and download time must be measured by your application.

401: invalid key · 402: insufficient credits · 409: duplicate/conflicting request · 413: input too large · 502/503/504: service unavailable or timed out.

Real-time sessions

Connect to wss://api.skillies.ai/v1/realtime. Authenticate using the Authorization header, or send a session.authenticate event with your key as the first message. Send mono PCM16 binary chunks at 16 kHz, then a turn.commit event with a unique id. The server returns text.delta, transcript, audio.delta (base64 mono PCM16 chunks at 24 kHz), and turn.done with usage and billing. Send turn.cancel on interruption. Sessions close after four minutes; reconnect and supply messages in session.configure to continue. Speech starts streaming after the text reply is complete. Each submitted turn is limited to 30 seconds.