Get API key

GetAiApiKeyQuickstart: Integrate Your AI API Key

Quickstart: Integrate Your AI API Key

Integrate our uncensored LLM API in minutes by swapping your base URL and API key. This quickstart covers standard requests, streaming, and tool calling using any OpenAI-compatible SDK.

Prerequisites: Your API Key and Base URL

To start, visit the Get API key page. Enter your email and password to receive your unique AI API key immediately. No credit card is required for the initial trial. You will also need the base URL for our OpenAI compatible API endpoint:

  • Base URL: https://api.getaiapikey.com/v1
  • Model ID: uncensored

Keep these credentials secure. You can regenerate your key at any time from your dashboard, which will immediately revoke the previous one. Our service is designed to drop into existing projects with minimal configuration changes.

First Request: Standard Chat Completions

Send a standard POST request to the chat completions endpoint. This example uses curl to demonstrate how simple the integration is. Replace YOUR_API_KEY with your actual key. The model identifier is fixed at uncensored.

This endpoint handles text-in, text-out interactions. It does not support embeddings, images, audio, or video generation, keeping the focus purely on language processing. Ensure your request body stays under 8 MB.

Using the Python SDK

For Python developers, use the official openai library. Point it to our base URL and provide your AI API key. This approach allows you to keep your existing code structure while switching to an uncensored model for lawful adult content or broader creative freedom.

The client handles serialization and connection pooling automatically. You can adjust the max_tokens parameter to control output length, keeping within the 100,000 token context window that includes both prompt and completion.

Using the Node.js SDK

Node.js users can achieve the same drop-in compatibility by configuring the OpenAI SDK with our custom base URL. This ensures that your existing application logic remains intact while gaining access to our specific model capabilities.

Remember that each account is limited to one active key, which can be regenerated at any time. This simplicity reduces the overhead often found in multi-model aggregators, giving you a direct connection to the uncensored model.

Streaming Responses (SSE)

For real-time user experiences, enable streaming by setting stream: true in your request. The API returns Server-Sent Events (SSE) containing partial token responses. This reduces perceived latency for end-users.

Streaming works identically across all supported SDKs. Ensure your client is set up to handle incremental data chunks. The total context window remains 100,000 tokens, so manage your prompt length carefully to avoid truncation during long conversations.

Limits, Errors, and Model Listing

Monitor your usage to avoid interruptions. You are limited to 300 requests per minute per key. If you exceed this, you will receive a 429 rate limit error. A 401 error indicates an invalid or expired key, while a 402 error means you need to top up your prepaid credit.

Use the GET /v1/models endpoint to verify connectivity. It returns the available model details. Our service does not offer SLA guarantees or enterprise certifications, focusing instead on straightforward, transparent pricing. Credits never expire, allowing you to pause and resume usage at your own pace.

cURL

curl https://api.getaiapikey.com/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.getaiapikey.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)

Node.js

import OpenAI from "openai";

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

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.

SpecValue
CompatibilityOpenAI-compatible: any OpenAI SDK or client works — change the base URL and the key
Base URLhttps://api.getaiapikey.com/v1
AuthenticationAuthorization: Bearer YOUR_KEY
Model IDuncensored
EndpointsPOST /v1/chat/completions · GET /v1/models
Max output16,000 tokens max; 2,048 if max_tokens is not set
StreamingSupported (stream: true), usage included at the end
Structured outputJSON object mode via response_format json_object
Context window100,000 tokens, input and output combined
Tools / tool callsYes — tools, tool_choice; replies carry tool_calls, also when streaming; send results back as role: tool
Other parameterstemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Request size8 MB request body
Parallel requests8 requests at the same time per key
Rate limit300/min per key
Response headersX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
How you paypay as you go from prepaid credit; nothing is charged for failed or refused requests
Top-upcrypto: USDT on TRON or USDC on Base, $10–$500, any whole sum
Bonus credit+5% from $50, +10% from $100
Price$0.25 per 1M input tokens · $1.00 per 1M output tokens
Subscriptionno monthly fee; paid credit does not expire
Trial credit$0.50 of credit valid 7 days, no card needed
Content policyuncensored for adults; the only hard rule: no sexual content involving minors
Key managementone key per account, regenerate any time (the old one stops working)
Sign-insign in with Google or with e-mail + password

HTTP errors

The type field is stable, the message is for humans. Errors cost nothing.

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_foundonly /v1/chat/completions and /v1/models exist
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

Does this API support image or audio generation?

No. Our service is strictly a text-based LLM API provider. It does not support embeddings, image generation, audio, or video. It focuses solely on chat completions for text processing.

How does the context window work?

The context window is 100,000 tokens, which includes both the input prompt and the generated completion. If your total token count exceeds this limit, the request may fail or truncate depending on the client implementation.

Can I use this as an OpenAI alternative?

Yes. By changing the base URL and API key in any OpenAI-compatible SDK, you can use this uncensored LLM API as a drop-in alternative. It supports standard chat completions, streaming, and tool calling.

Your key is one form away

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