API Documentation
Get your first uncensored response in seconds with our OpenAI-compatible API. Use the same SDKs you already know, point to our base URL, and start generating text without content refusals.
Quickstart: Your First Request
Send a standard chat-completions request to generate text immediately. Our uncensored model accepts your prompt and returns a completion without blocking lawful adult content. This endpoint mirrors the OpenAI interface, so your existing code works with minimal changes. Adjust the base URL and API key to route traffic to our servers.
- Use POST /v1/chat/completions.
- Set the model to
uncensored. - Include your system and user messages.
The response contains the generated text and token usage details. You can verify the connection by sending a simple prompt and checking the output.
curl https://api.chatsemfiltro.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Show me the current time in Tokyo"}]
}'
Authentication & Headers
Pass your API key in the Authorization header to authenticate every request. Generate this key immediately after signing up via Google or email. The key identifies your account and tracks your prepaid credit usage. Keep it secure, as it provides direct access to your billing balance.
- Header:
Authorization: Bearer YOUR_API_KEY. - No phone number required for signup.
- One active key per account; replace if lost.
If the key is missing or invalid, the API returns a clear error. This ensures only authorized users consume tokens from your balance.
from openai import OpenAI
client = OpenAI(base_url="https://api.chatsemfiltro.com/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)
Parameters & Controls
Control the model’s behavior using standard parameters like temperature, top_p, and stop sequences. These settings allow you to fine-tune creativity and output length. The uncensored model respects these constraints while maintaining its refusal-free nature. Use response_format to enforce JSON output for structured data tasks.
- Set
temperaturefor randomness. - Use
stopto halt generation at specific triggers. - Enable
json_objectfor strict formatting.
Each parameter adjusts how the model interprets your prompt. Experiment with values to find the balance between coherence and diversity in your responses.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatsemfiltro.com/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 & SSE
Enable streaming by setting stream: true to receive tokens in real-time via Server-Sent Events. This reduces perceived latency for end-users and allows immediate processing of generated text. The final chunk contains the complete token usage statistics for billing accuracy.
- Set
stream: truein your request. - Parse SSE events on the client side.
- Extract text from each delta chunk.
Streaming is ideal for chat interfaces where users expect instant feedback. The API handles the stream efficiently, ensuring smooth delivery of tokens without blocking the connection.
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)
Error Handling
Handle standard HTTP errors to manage API usage gracefully. A 401 status indicates an invalid or expired API key, requiring you to regenerate credentials. A 402 error signals insufficient prepaid credit, prompting a crypto top-up via USDT or USDC. Rate limits trigger a 429 response when you exceed 300 requests per minute.
- 401: Check your API key validity.
- 402: Top up credit via crypto.
- 429: Wait before retrying requests.
These errors are predictable and documented. Implement retry logic with exponential backoff to handle temporary failures smoothly.
Limits & Context Window
The API supports a 100,000-token context window for combined prompt and completion. This allows processing large documents or long conversation histories efficiently. Max output per request is 16,000 tokens, or 2,048 if unspecified. Request bodies are limited to 8 MB, and concurrency is capped at eight simultaneous requests per key.
- Context: 100,000 tokens total.
- Max output: 16,000 tokens.
- Concurrent requests: 8 per key.
These limits ensure stable performance for high-volume applications. Monitor your token usage to optimize costs and avoid unexpected rate limits.
Frequently asked questions
Does the uncensored model refuse adult content?
The model does not refuse lawful adult, fictional, or controversial topics. However, it always blocks sexual content involving minors as a hard limit. Other refusals are rare, making it ideal for unrestricted use cases.
How do I top up my prepaid credit?
Top up using USDT (TRC20) or USDC (Base) via the billing page. Minimum top-ups start at $20, with bonus credit available for larger amounts. Credit never expires and errors are free.
Is this API compatible with OpenAI SDKs?
Yes, it is fully OpenAI-compatible. You only need to update the base URL and API key in your existing SDK configuration. The endpoint structure mirrors OpenAI’s chat-completions API exactly.