Documentation
Connect the Dikaya API, SDKs and IDEs: request formats, streaming, demo limits, token accounting and error handling.
Quick start
Create an account, then open API and balance to copy your personal key. The account and chat interface currently use Russian. For an eligible demo, select seller-pro-2, text-only Chat Completions and at most 8192 output tokens. Tool-using agents require a topped-up account.
curl https://dikaya.cc/v1/chat/completions \
-H "Authorization: Bearer YOUR_DIKAYA_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"seller-pro-2","max_tokens":8192,"messages":[{"role":"user","content":"Hello"}]}'Python SDK
from openai import OpenAI
client = OpenAI(base_url="https://dikaya.cc/v1", api_key="YOUR_DIKAYA_KEY", max_retries=0)
response = client.chat.completions.create(
model="seller-pro-2",
max_tokens=8192,
messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)IDE connections
For OpenAI-compatible clients, use https://dikaya.cc/v1, your Dikaya key and the exact public model ID. Protocol compatibility does not imply every IDE feature is supported. Start with a plain text request before enabling agents or long file histories.
- OpenCode: configure an OpenAI-compatible custom provider and select seller-pro-2. Full configuration example in the Russian reference.
- Cursor: set your API key and override the OpenAI Base URL for custom chat models. This does not switch Cursor Tab; test Agent support in your installed version. Cursor API-key documentation.
- Continue: use its OpenAI-compatible provider with the same base URL, key and model. YAML example in the Russian reference.
- Cline and Roo Code: select OpenAI-compatible/custom API, then supply the URL, key and model. Tools and agent loops require paid access.
- Antigravity: use OpenCode in the project terminal; this is not a claimed replacement for the built-in Antigravity model. Detailed terminal workflow.
Claude Code
export ANTHROPIC_BASE_URL="https://dikaya.cc"
export ANTHROPIC_AUTH_TOKEN="YOUR_DIKAYA_KEY"
claude --model "seller-pro-2[1m]"Do not append /v1 to ANTHROPIC_BASE_URL; the client adds its own path. These variables apply to the current terminal. Check for conflicting environment and project settings.
API endpoints
| Method | Path | Purpose |
|---|---|---|
| GET | /v1/models | Models and retail token rates |
| GET | /v1/balance | Available balance and key limits |
| POST | /v1/chat/completions | Chat Completions format |
| POST | /v1/responses | Responses format |
| POST | /v1/messages | Messages format |
Authenticate with Authorization: Bearer YOUR_DIKAYA_KEY; Messages also accepts x-api-key. Set stream=true for SSE on POST endpoints. The gateway requests final usage where applicable; streaming does not change token rates.
Limits and billing
Demo: Pro 2 text Chat Completions, 8192 output tokens, 6000 bytes of context, 10 requests/minute and one concurrent request. Paid output defaults to 16384 tokens, with a gateway maximum of 65536; a model can have a lower limit. Request bodies are capped at 16 MiB. A 413 size rejection occurs before reserving funds.
Images and reasoning
Flash accepts images directly. Paid Pro models use a separately billed Flash image-description stage; both stages reserve funds before inference. Embedded image descriptions are cached per key for 24 hours; HTTP URLs are not cached. Up to eight unique bridged images are allowed. Set dikaya_image_handling="reject" to opt out. X-Dikaya-Vision-* headers disclose bridge cost and cache hits.
An HTTP 200 response can contain tool_calls instead of text. The client must execute a requested client-side tool and continue the conversation. A length finish reason may mean reasoning consumed the output budget. Inspect finish_reason and usage rather than assuming a blank response is free. On Pro 2, reasoning_effort=none does not guarantee zero reasoning tokens.
Errors and recovery
- 400: check JSON, public model ID, requested limits and demo restrictions.
- 401: missing, invalid or revoked key.
- 402: insufficient available funds for the reservation; shorten context/output or top up.
- 413: reduce history, attachments or tool output below 16 MiB.
- 429: slow down and retry after the key limit permits.
- 502: processing failed or was interrupted. Check billing before retrying unknown outcomes.
An explicit rejection refunds unused work. If execution or usage is unknown, the reservation is retained for reconciliation. Closing the client connection does not cancel accounting. See the pricing and FAQ pages for image-stage charges, top-up conditions and data retention.
Practical guides
Guides on code, writing, GLM-5.3 and API integration (Russian)
Chat settings and current models
Eligible new accounts get up to 3 requests on Pro 2; earlier grants retain saved conditions. Demo output stays at 8192 tokens. New GLM, Qwen and DeepSeek models require paid access, not a separate free grant per model.
| Variant | Reasoning | Guide |
|---|---|---|
Dikaya Flashseller-flash | No custom chat selector | — |
Dikaya Proseller-pro | No custom chat selector | — |
Dikaya Pro 2seller-pro-2 | No custom chat selector | — |
GLM 5.3 Abliteratedseller-glm-5-3Modified variant | low / high / max | Russian guide |
GLM 5.3 Flash Abliteratedseller-glm-5-3-flashModified variant | low / high / max | Russian guide |
Qwen3.8 Flash Next Abliteratedseller-qwen-3-8-flash-nextModified variant | low / high / max | Russian guide |
DeepSeek V4.1 Flash Abliteratedseller-deepseek-v4-1-flashModified variant | low / high / max | Russian guide |
DeepSeek V4.1 Flash 1017 (Safeguards)seller-deepseek-v4-1-flash-1017Original Safeguards, not abliterated | low / high / max | Russian guide |
History is saved in your account. Search filters conversation titles, not message contents; hiding history does not delete it. A new conversation starts with an empty system prompt and default reasoning. Reopening a saved conversation restores its own model and settings.
Paid chat accepts a system prompt up to 8000 characters, saved with this conversation after an accepted request, not globally. Low, High and Max appear only for models that support them. Default omits reasoning_effort. Demo cannot change these options. Reasoning consumes output budget and is not billed a second time.
The indicator counts real JSON bytes and messages, not exact model tokens. Paid browser chat sends up to 40 messages / 60000 JSON bytes including system instructions; demo uses 24 messages / 5800 bytes within its API input bound. Older context is trimmed, not deleted from saved history. Model context, 16 MiB API body bound and output limit are separate constraints.
The API-request panel previews the current draft, history, model and options using dk_YOUR_KEY, never revealing your key. Opening or copying does not send anything. Code copy copies text, not an executable action. Markdown is rendered locally; remote images and executable HTML are not embedded.
Legacy Flash demo compatibility retains a separate output cap of 512 tokens. An explicit smaller Pro 2 API cap is still respected and may run out on reasoning.
Paid API example
import os
from openai import OpenAI
client = OpenAI(
base_url="https://dikaya.cc/v1",
api_key=os.environ["DIKAYA_API_KEY"],
max_retries=0,
)
response = client.chat.completions.create(
model="seller-glm-5-3",
max_tokens=1024,
reasoning_effort="low",
messages=[
{"role": "system", "content": "Keep the answer concise."},
{"role": "user", "content": "Suggest three acceptance tests for an API endpoint."},
],
)
print(response.choices[0].message.content)
print(response.usage)
Paid output defaults to 16384 only when the client omits a limit and the key has no personal default. Key overrides win over gateway defaults; explicit client caps win over both. The gateway accepts up to 65536 subject to model limits; demo stays at 8192. Funds are reserved before inference using the selected bound. A large bound can cause 402 even for a short question.
New models use native Chat Completions and Responses. Responses uses reasoning.effort instead of reasoning_effort. Messages adapts text and ordinary function tools; unsupported thinking/cache/media extensions reject before inference rather than being silently dropped. Images in Chat/Responses use a separately billed Flash description stage, not native vision. Query /v1/models with your key for current permissions and personal rates.
IDE tools and internet access
Browser chat does not provide native web search, project-file access or command execution. OpenCode, Cursor and other clients provide tools only when supported, configured and permitted. More context does not guarantee a better answer. Cursor Base URL overrides do not switch Cursor Tab; test Agent support in your version. For Antigravity the documented route uses OpenCode in its terminal, not an unverified arbitrary native provider. A source is fetched only when an actual tool returns it.
Source: official Dikaya model catalogue, published rates and account/demo conditions. Pricing · Documentation
Facts reviewed: . Publisher: Dikaya.