Voke API Developer Guide
A high-performance, OpenAI-compatible AI model gateway. Switch seamlessly across frontier open reasoning, coding, and general intelligence models without changing your SDK or rewrite application code.
Overview
Voke API provides a standard REST API conforming 100% to the OpenAI Chat Completions
specification. Any existing application or framework using official OpenAI SDKs, LangChain, LlamaIndex,
LiteLLM, or Cursor can connect directly to Voke API by setting the baseURL and providing a Voke API
key.
Standard OpenAI Spec
100% compatible request and response format. Zero code rewriting required.
Native Chain-of-Thought
Full support for reasoning models emitting live thought tokens via reasoning_content.
High Throughput
Streaming server-sent events for sub-second time-to-first-token (TTFT).
Zero Data Retention
Prompts and outputs are never stored, logged, or used for model retraining.
Quickstart SDKs
Choose your preferred language below. Simply point the official client to https://api.vokes.in/v1
and pass your Voke API key.
curl -X POST https://api.vokes.in/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ANTHROPIC_API_KEY" \
-d '{
"model": "Fable 5.1",
"messages": [
{"role": "user", "content": "Explain quantum computing in three sentences."}
],
"temperature": 0.7,
"stream": false
}'
from openai import OpenAI
import os
# Point standard OpenAI SDK to Voke API gateway
client = OpenAI(
api_key=os.environ.get("ANTHROPIC_API_KEY"),
base_url="https://api.vokes.in/v1"
)
response = client.chat.completions.create(
model="Fable 5.1",
messages=[
{"role": "user", "content": "Explain quantum computing in three sentences."}
]
)
print(response.choices[0].message.content)
import OpenAI from 'openai';
// Drop-in replacement for OpenAI
const client = new OpenAI({
apiKey: process.env.ANTHROPIC_API_KEY,
baseURL: 'https://api.vokes.in/v1'
});
async function main() {
const response = await client.chat.completions.create({
model: 'Fable 5.1',
messages: [{ role: 'user', content: 'Explain quantum computing in three sentences.' }],
temperature: 0.7
});
console.log(response.choices[0].message.content);
}
main();
package main
import (
"context"
"fmt"
"os"
openai "github.com/sashabaranov/go-openai"
)
func main() {
cfg := openai.DefaultConfig(os.Getenv("ANTHROPIC_API_KEY"))
cfg.BaseURL = "https://api.vokes.in/v1"
client := openai.NewClientWithConfig(cfg)
resp, err := client.CreateChatCompletion(
context.Background(),
openai.ChatCompletionRequest{
Model: "Fable 5.1",
Messages: []openai.ChatCompletionMessage{
{Role: openai.ChatMessageRoleUser, Content: "Explain quantum computing in three sentences."},
},
},
)
if err != nil {
fmt.Printf("Error: %v\n")
return
}
fmt.Println(resp.Choices[0].Message.Content)
}
Authentication
Voke API authenticates requests using API keys passed in the HTTP Authorization header:
Authorization: Bearer sk-ant-api03-GZ2Frr9uTFm0rt_mL71X_ULesqUUdlyyFWPIDH1ox2M
| Key Type | Format Prefix | Rate Limit | Validity |
|---|---|---|---|
| Unlimited Pro Key | sk-ant-... |
Unlimited (Zero throttling) | Permanent until revoked |
| Free Test Key | sk-test-ant-... |
5 requests / minute | 3 hours evaluation window |
Base URL & Protocol
All API requests must be made over HTTPS. The production base URL is:
https://api.vokes.in/v1
Chat Completions API
Generate text and code completions given a list of conversation messages.
Request Body Parameters
| Field | Type | Description |
|---|---|---|
model REQUIRED |
string | ID of the model to use (e.g. Fable 5.1, grok-4.6-fast). |
messages REQUIRED |
array | List of message objects. Each object must have role ("system",
"user", or "assistant") and content (string). |
stream OPTIONAL |
boolean | If set to true, partial message deltas will be sent as Server-Sent Events (SSE).
Default is false. |
temperature OPTIONAL |
number | Sampling temperature between 0.0 and 2.0. Lower values produce more
deterministic results. Default is 0.7. |
max_tokens OPTIONAL |
integer | The maximum number of tokens to generate in the completion. |
Standard Response Format
{
"id": "chatcmpl-1a8eeff9-8d5c",
"object": "chat.completion",
"created": 1789312448,
"model": "Fable 5.1",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Quantum computing uses qubits that exist in superpositions of 0 and 1."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 16,
"completion_tokens": 24,
"total_tokens": 40
}
}
Server-Sent Event (SSE) Streaming
When stream: true is passed in the request body, Voke API streams chunks back in real-time as
Server-Sent Events (SSE). Each chunk contains a delta object with incremental text tokens.
data: {"id":"chatcmpl-1a8e","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Quantum"}}]}
data: {"id":"chatcmpl-1a8e","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":" computing"}}]}
data: [DONE]
Streaming in Python
stream = client.chat.completions.create(
model="grok-4.6-fast",
messages=[{"role": "user", "content": "Write a Python function to compute Fibonacci numbers."}],
stream=True
)
for chunk in stream:
token = chunk.choices[0].delta.content or ""
print(token, end="", flush=True)
Reasoning Models & Chain-of-Thought
Frontier reasoning models (like Fable 5.1, grok-4.6-fast, and
gpt-oss-120b) output structured step-by-step thinking before providing the final answer.
During streaming, thought tokens are emitted via delta.reasoning_content, while the final response
is streamed via delta.content:
// Phase 1: Thinking / Chain-of-Thought tokens
data: {"id":"chatcmpl-1","choices":[{"index":0,"delta":{"reasoning_content":"Let's calculate the factors..."}}]}
// Phase 2: Final response answer
data: {"id":"chatcmpl-1","choices":[{"index":0,"delta":{"content":"The answer is 42."}}]}
delta.reasoning_content in a collapsible thought badge (just like the Voke Playground) and stream
delta.content directly into the main message view.
Supported Models
Voke API supports 12 frontier models across reasoning, agentic coding, and low-latency inference. Use any
model ID directly in the model parameter:
| Model ID | Context | Specialization |
|---|---|---|
claude-opus-5.5 |
1M | Anthropic's most capable model for long-running agentic coding |
claude-fable-5.1 |
1M | Highly capable model optimized for demanding reasoning and research |
claude-sonnet-5 |
1M | Optimal mix of speed, intelligence, and cost-effectiveness |
gpt-6-astra |
1M | OpenAI's flagship most intelligent and aligned model |
gpt-6-sol |
1M | Cost-efficient performance from the GPT-6 family |
o3-pro |
200K | OpenAI's deep reasoning and problem-solving model |
grok-4.7 |
500K | xAI's flagship model for coding, agentic tasks, and knowledge work |
grok-4.6-fast |
500K | Fast-tier Grok with low latency for rapid workflows |
gemini-3.8-flash |
1M | Google flagship multimodal intelligence with ultra-fast inference and vision |
gemini-3.1-pro |
2M | Frontier reasoning and agentic intelligence designed for complex codebases |
deepseek-v4-pro |
1M | Frontier reasoning and agentic coding for demanding workloads |
deepseek-v4-flash |
1M | Fast, efficient intelligence for coding, agents and long-context work |
Explore latency stats, benchmarks, and model logos on the interactive Models Explorer.
Rate Limits & Response Headers
All API responses include standard rate limit metadata headers:
| Header | Description |
|---|---|
X-RateLimit-Limit |
Maximum allowed requests per window (e.g. 5 on free tier, 10000 on pro).
|
X-RateLimit-Remaining |
Number of remaining requests available in the current sliding window. |
X-RateLimit-Reset |
Unix timestamp in seconds when the current window resets. |
Retry-After |
Returned on HTTP 429 errors indicating how many seconds to wait before retrying. |
Cursor & AI IDE Integration
You can use Voke API as your custom OpenAI provider in Cursor, Continue.dev, and Cline:
1. Open Cursor Settings → Navigate to Models.
2. Under "OpenAI API Key" → Toggle "Override OpenAI Base URL".
3. Set Base URL to https://api.vokes.in/v1.
4. Paste your Voke API key into the API Key input.
5. Add custom model → Type
Fable 5.1 or grok-4.6-fast.
Error Codes & Handling
Voke API returns standard HTTP status codes and JSON error objects:
| Status | Code | Description & Resolution |
|---|---|---|
| 400 | invalid_request_error |
Malformed request body or unsupported parameter. Verify your JSON syntax. |
| 401 | invalid_api_key |
Missing, incorrect, or revoked API key. Verify key in Developer Console. |
| 429 | rate_limit_exceeded |
Exceeded sliding window request limit. Check Retry-After header or upgrade to Pro. |
| 503 | capacity_queued |
Upstream inference queue full. Retry request after a brief exponential backoff. |