Documentation
Integrate production inference in minutes. Choose a compatible API, create a key, and send your first request.
Quickstart
Every request to the inference API uses a token created in the console. Tokens are sent in the Authorization header using the Bearer scheme. Model IDs come from Dashboard → Models.
API origin for this deployment
Base URLhttps://inferenceapi.wethinkdigital.solutions/v1Resolved from NEXT_PUBLIC_API_BASE_URL and the /v1 path. Configure this in the environment before deploying.
Send a non-streaming chat completion request:
curl https://inferenceapi.wethinkdigital.solutions/v1/chat/completions \
-H "Authorization: Bearer sk_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "model-pro",
"messages": [
{ "role": "user", "content": "Explain idempotency in one sentence." }
]
}'Create your token first
sk_live_xxxxxxxx will not authenticate. Generate a real token from Dashboard → Tokens. The secret is shown once.Base URL
All inference endpoints live under a versioned base URL. Use the origin provided by your deployment, followed by /v1.
https://inferenceapi.wethinkdigital.solutions/v1
https://inferenceapi.wethinkdigital.solutions/v1/chat/completions
https://inferenceapi.wethinkdigital.solutions/v1/messages
https://inferenceapi.wethinkdigital.solutions/v1/models
https://inferenceapi.wethinkdigital.solutions/v1/usage
https://inferenceapi.wethinkdigital.solutions/v1/balanceThe console itself talks to a separate, internal management API. You should not use console URLs from your application. Only the inference base URL and API tokens are relevant to product traffic.
API compatibility
Inference Cloud exposes two compatible surfaces over the same catalog and billing balance. Use whichever matches your existing stack.
OpenAI-compatible
Chat completions, streaming, tool calls, and model listing under /v1/chat/completions and /v1/models.
Anthropic-compatible
Messages with content blocks, streaming, and model metadata under /v1/messages.
Guides
Errors
Non-2xx responses use a consistent JSON envelope. Always branch on the HTTP status first, then use error.code for programmatic handling.
https://inferenceapi.wethinkdigital.solutions/v1/chat/completions{
"error": {
"code": "insufficient_credit",
"message": "Your credit balance is too low for this request.",
"requestId": "req_01J..."
}
}See Usage & balance for the complete error and rate-limit reference.