Kimicode: First request in five minutes
Get your first uncensored response in five minutes. This guide covers the base URL, authentication, and key endpoints for the kimicode API.
https://api.kimicode.top/v1
Base URL and Authentication
Start by pointing your client to our base URL: https://api.kimicode.top/v1. You need an API key for every request. Generate one by clicking Get API key on the site. Use Google sign-in or an email and password. No phone number is required. The key is shown immediately after creation. Keep it secure; there is one active key per account. If you generate a new key, the old one stops working. Pass the key in the Authorization header as a bearer token.
First Request
Send your first prompt to the chat completions endpoint. Use the model ID uncensored. The API accepts standard OpenAI-compatible formats. Input goes in, text comes out. Errors and refusals are free, so you only pay for successful token usage. Test connectivity with a simple prompt.
curl https://api.kimicode.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
If the key is invalid, you get a 401 error. If you lack credit, you get a 402. Check your account balance if requests fail unexpectedly.
Python SDK Integration
Use the official OpenAI Python SDK. Set the base URL to our endpoint. Pass your API key. The client handles the request format automatically. This works for any language that supports OpenAI-compatible clients. Install the library via pip. Configure the client with your base URL and key. Send a message using the chat completions endpoint. The response contains the generated text. You can parse the content directly from the response object.
from openai import OpenAI
client = OpenAI(base_url="https://api.kimicode.top/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Ensure your code handles exceptions gracefully. Network issues or rate limits may require retries.
Node SDK Usage
The Node.js SDK works identically. Import the client. Configure the base URL and API key. Call the chat completions method. Pass the model ID and messages array. The response structure matches the OpenAI format. Extract the assistant message content. This approach works for server-side generation or edge functions. No additional configuration is needed beyond the base URL change.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.kimicode.top/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Handle errors by checking the status code. Rate limits return 429. Insufficient funds return 402.
Streaming Responses
Enable streaming by setting stream: true. The API returns Server-Sent Events (SSE). Each chunk contains partial content. Token usage details appear in the last chunk. This reduces perceived latency for long outputs. Handle stream termination properly. Close the connection when the stream ends or an error occurs. Streaming works with all standard clients that support SSE.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Ensure your client buffers chunks correctly. Concatenate the content to form the final response.
Limits, Errors, and Context
Context window is 100,000 tokens total. Max output is 32,000 tokens per request. Set 2,048 if max_tokens is unset. Rate limit is 300 requests per minute per key. Concurrency limit is 8 simultaneous requests. Request body max is 8 MB. Errors include 401 for invalid keys, 402 for no credit, and 429 for rate limits. Credit never expires. Errors are free. No subscription traps.
Specs at a glance
A quick checklist for developers: format, limits, features, billing.
| Feature | Support |
|---|---|
| Protocol | OpenAI Chat Completions schema; official openai SDKs work unchanged |
| Base URL | https://api.kimicode.top/v1 |
| Model ID | uncensored |
| Authentication | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| JSON mode | response_format: {"type": "json_object"} |
| SSE streaming | Yes — server-sent events; the last chunk carries token usage |
| Sampling parameters | temperature, top_p, stop, seed and the two penalties are passed through |
| Context window | 100,000 tokens, input and output combined |
| Function calling | Supported: tools + tool_choice, tool_calls in the reply (streamed too), tool results as role: tool messages |
| Completion length | prompt + completion fit within 100,000 tokens; max_tokens optional, no separate output cap |
| Max body | 8 MB request body |
| Parallel requests | 8 requests at the same time per key |
| Requests per minute | 300 requests per minute per key |
| Response headers | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Free trial | $0.50 for 7 days, no card · Trial key: 2 parallel requests, 60 req/min; full limits (8 and 300) after first top-up |
| Top-up | USDT (TRC20) or USDC (Base), any whole amount from $20 to $500 |
| Credit expiry | paid credit never expires, no subscription |
| Billing | pay as you go from prepaid credit; nothing is charged for failed or refused requests |
| Bonus credit | +5% on $50+, +10% on $100+, +15% on $200+ |
| Price | input $0.15 / 1M tokens, output $0.50 / 1M tokens |
| Content | adult content allowed; sexual content involving minors is refused |
| Sign-in | sign in with Google or with e-mail + password |
| Key management | one active key per account; a new key replaces the old one |
Errors and what to do
Errors come back as JSON with a stable type; failed and refused requests are not billed.
| Code | Type | Meaning |
|---|---|---|
400 | bad_request | malformed request or too long for the context window |
401 | missing_key · invalid_key · key_revoked | check the Authorization header or use your current key |
402 | no_credit | balance is empty — top up, requests resume at once |
403 | content_blocked | refused by the content policy |
404 | not_found | only /v1/chat/completions and /v1/models exist |
413 | request_too_large | body over 8 MB |
429 | rate_limited · concurrency | slow down: rate or parallel limit reached |
503 | upstream_busy | temporary overload, retry shortly |
Questions and answers
Does the API support image or audio generation?
No. This is a text-only API. It serves one uncensored large language model. No embeddings, image, audio, or video generation are supported. Fine-tuning is also not available.
How do I top up my credit?
Top up by crypto (USDT on TRC20, USDC on Base). Minimum top-up is $20, maximum is $500. Bonuses apply for larger amounts. No cards are needed to sign up or for the trial.
Is the trial credit refundable?
No. Trial credit is $0.50 valid for 7 days. It is non-refundable. Claim this credit with one click on your API key page. Regular credit also never expires. Mistakes like double charges are fixed via the Support page.
Your key is one form away
Create an account, copy the key, change the base URL. That is the whole setup.