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 / path | Input | Output |
|---|---|---|
| POST /v1/chat/completions | messages, max_tokens, stream | Text or SSE chunks |
| POST /v1/audio/transcriptions | Multipart file: PCM16 mono WAV, 0–30 seconds | Transcript JSON |
| POST /v1/audio/speech | JSON input, voice: default | 24 kHz WAV |
| POST /v1/converse | Multipart file, optional messages JSON and output_audio=false | Transcript, reply, optional base64 WAV |
| GET /v1/usage | API key | Balance, latest requests, charges and latency |
| GET /v1/models | API key | Public 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.wavUse 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.