GetAiApiKey/Quickstart: 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.
| Spec | Value |
|---|---|
| Compatibility | OpenAI-compatible: any OpenAI SDK or client works — change the base URL and the key |
| Base URL | https://api.getaiapikey.com/v1 |
| Authentication | Authorization: Bearer YOUR_KEY |
| Model ID | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Max output | 16,000 tokens max; 2,048 if max_tokens is not set |
| Streaming | Supported (stream: true), usage included at the end |
| Structured output | JSON object mode via response_format json_object |
| Context window | 100,000 tokens, input and output combined |
| Tools / tool calls | Yes — tools, tool_choice; replies carry tool_calls, also when streaming; send results back as role: tool |
| Other parameters | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Request size | 8 MB request body |
| Parallel requests | 8 requests at the same time per key |
| Rate limit | 300/min per key |
| Response headers | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| How you pay | pay as you go from prepaid credit; nothing is charged for failed or refused requests |
| Top-up | crypto: 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 |
| Subscription | no monthly fee; paid credit does not expire |
| Trial credit | $0.50 of credit valid 7 days, no card needed |
| Content policy | uncensored for adults; the only hard rule: no sexual content involving minors |
| Key management | one key per account, regenerate any time (the old one stops working) |
| Sign-in | sign in with Google or with e-mail + password |
HTTP errors
The type field is stable, the message is for humans. Errors cost nothing.
| Code | Type | Meaning |
|---|---|---|
400 | bad_request | malformed request or too long for the context window |
401 | missing_key · invalid_key · key_revoked | no key, wrong key, or a key replaced by a newer one |
402 | no_credit | balance is empty — top up, requests resume at once |
403 | content_blocked | sexual content involving minors — refused, not billed |
404 | not_found | only /v1/chat/completions and /v1/models exist |
413 | request_too_large | body over 8 MB |
429 | rate_limited · concurrency | over 300/min or 8 parallel — back off and retry |
503 | upstream_busy | temporary 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.