Get API key

Quickstart for Kimicode users

Get your API key and make your first uncensored request in under two minutes using standard OpenAI-compatible SDKs.

Prerequisites

Before writing code, create an account at kimicode.cc using Google or email. You will receive a single API key immediately. There is no phone verification and no credit card required. Your account starts with $0.50 in trial credit valid for seven days. If you need more capacity, top up via crypto (USDT on TRC20 or USDC on Base) starting at $10. Credit never expires, and errors or refusals do not consume tokens.

Ensure your development environment has Node.js (v18+) or Python 3.8+. This API strictly follows the openai client specification, meaning you can swap in our endpoint without changing your library logic. We serve one uncensored model under the ID uncensored.

Install SDK

Install the official OpenAI SDK for your preferred language. This ensures compatibility with our streaming, function calling, and JSON mode features.

For Python, use pip to install the standard library:

  • pip install openai

For Node.js, install the npm package:

  • npm install openai

These libraries handle the HTTP formatting automatically. You do not need a vendor-specific client. The kimicode API accepts standard parameters like temperature, top_p, and max_tokens.

Initialize Client

Configure your client object with the kimicode base URL and your API key. The base URL is https://api.kimicode.cc/v1. Set the api_key to the value you received upon signup. This configuration replaces the default api.openai.com endpoint.

  • Base URL: https://api.kimicode.cc/v1
  • Model: uncensored
  • Auth: Bearer token via api_key

Do not mix this key with other vendors. It works exclusively with the kimicode endpoint. The client will verify the key on the first request. If the key is invalid, you will receive a 401 error immediately.

Make a Request

Send a standard chat completion request. The model ID must be uncensored. You can adjust max_tokens up to 16,000. If omitted, the default is 2,048. The context window is 64,000 tokens total for prompt and completion combined.

  • Input: Text messages in the messages array.
  • Output: Text response in choices[0].message.content.

This endpoint supports JSON mode via response_format: {"type": "json_object"}. It does not support embeddings, images, or audio. Focus on high-quality text generation without content refusals for lawful adult topics.

Streaming Responses

Enable streaming by setting stream: true. The API returns Server-Sent Events (SSE). Each chunk contains partial text. Token usage statistics are included in the final chunk of the stream. This allows real-time display of output without waiting for the full response.

  • Stream flag: Set to true in the request body.
  • Event type: chat.completion.chunk
  • Data: Contains delta.content for text parts.

Streaming does not change pricing. You pay for total tokens processed. Errors during streaming are handled gracefully. If the connection drops, you can restart the request. The uncensored model maintains coherence even over long streams within the 64k limit.

Limits, Errors, and Context

Monitor your usage limits: 300 requests per minute per key, 8 concurrent requests, and an 8 MB request body. If you exceed the rate limit, you receive a 429 error. If your prepaid credit is exhausted, you receive a 402 error; top up via crypto to resume. A 401 error indicates an invalid or missing API key. Note that failed requests and refusals do not consume tokens. The hard content limit blocks sexual content involving minors. All other lawful adult content is permitted.

Function Calling

Define tools in the tools parameter. The model returns tool calls in the response. Use tool_choice to enforce specific behavior. This feature works identically to the OpenAI standard. Parse the tool calls in your code and execute them. Send the results back in subsequent messages. The kimicode API handles tool definitions efficiently. Ensure your JSON schema is valid. Function calling does not require additional credits beyond token usage. It is ideal for building agents or structured data extraction workflows.

cURL

curl https://api.kimicode.cc/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."}]
  }'

Python

from openai import OpenAI

client = OpenAI(base_url="https://api.kimicode.cc/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)

Node.js

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.kimicode.cc/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);

Streaming

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)

What the API supports

The numbers below are the real limits of this API, not marketing. Compare them with what your app needs.

ParameterDetails
ProtocolOpenAI Chat Completions schema; official openai SDKs work unchanged
Base URLhttps://api.kimicode.cc/v1
EndpointsPOST /v1/chat/completions · GET /v1/models
Modeluncensored
AuthenticationAuthorization: Bearer YOUR_KEY
Context window64,000 tokens (prompt + completion together)
Tools / tool callsYes — tools, tool_choice; replies carry tool_calls, also when streaming; send results back as role: tool
SSE streamingSupported (stream: true), usage included at the end
Sampling parameterstemperature, top_p, stop, seed and the two penalties are passed through
Structured outputresponse_format: {"type": "json_object"}
Max output16,000 tokens max; 2,048 if max_tokens is not set
Request sizeup to 8 MB per request
Concurrencyup to 8 in parallel per key
Response headersX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Rate limit300/min per key
Trial credit$0.50 for 7 days, no card
Billingprepaid credit, charged by real token usage; errors and refusals are free
Top-upUSDT (TRC20) or USDC (Base), any whole amount from $10 to $500
Subscriptionpaid credit never expires, no subscription
Bonus credit+5% from $50, +10% from $100
Token pricesinput $0.25 / 1M tokens, output $1.00 / 1M tokens
Contentuncensored for adults; the only hard rule: no sexual content involving minors
AccountGoogle or e-mail and password
Keysone key per account, regenerate any time (the old one stops working)

When a request fails

Errors come back as JSON with a stable type; failed and refused requests are not billed.

CodeTypeMeaning
400bad_requestmalformed request or too long for the context window
401missing_key · invalid_key · key_revokedno key, wrong key, or a key replaced by a newer one
402no_creditbalance is empty — top up, requests resume at once
403content_blockedsexual content involving minors — refused, not billed
404not_foundunknown endpoint
413request_too_largebody over 8 MB
429rate_limited · concurrencyover 300/min or 8 parallel — back off and retry
503upstream_busytemporary overload, retry shortly

Questions and answers

What happens if I make a request that is refused?

Refused requests do not consume your prepaid credit. You can retry immediately without losing tokens. The only hard refusal is for sexual content involving minors, which is always blocked.

Can I use the same API key for multiple projects?

Yes, one account equals one active API key. You can use this single key across multiple applications or services. If you need a separate key, generating a new one replaces the previous active key.

How do I top up my credit?

Top up using USDT (TRC20) or USDC (Base). Minimum top-up is $10. Amounts of $50 or more receive bonus credit. Payments are processed via the crypto gateway on the pricing page. No credit cards or PayPal are accepted.

Your key is one form away

Create an account, copy the key, change the base URL. That is the whole setup.

Get API key