th ▾
Open account

How to Integrate an Uncensored LLM API

Integrating an uncensored LLM API requires configuring a standard OpenAI-compatible client with a specific base URL and model ID. This guide walks you through the exact steps to connect your application to the PaidApi service for unrestricted text generation.

Summary

  • Set the base URL to HTTPS://api.paidapi.cc/v1 and use the model ID "uncensored" for direct access.
  • Enable streaming to receive real-time token output with usage metadata in the final chunk.
  • Enforce JSON mode via response_format for structured data extraction or function calling.
  • Monitor rate limits of 300 requests per minute and handle errors where refusals are free.

Prerequisites: Installing the SDK

Start by installing the official SDK for your preferred language. Most developers use Python or Node.js for quick integration. Run pip install openai or npm install openai to add the library. Ensure your environment has Python 3.8+ or Node.js 18+ installed. Verify the installation by importing the module in a test script. This step prepares your codebase to handle API requests efficiently.

Step 1: Initialize the Client

Create an instance of the OpenAI client using your API key. Pass the key directly from your environment variables to avoid hardcoding secrets. The client object handles authentication and request formatting automatically. You do not need to specify the model yet; that happens in the request payload. This initialization is the foundation for all subsequent calls. Store your credentials securely to prevent unauthorized usage.

Step 2: Configure the Base URL

Point the client to the correct base URL. Set base_url to https://api.paidapi.cc/v1. This directs traffic to our uncensored infrastructure instead of the default provider. Without this change, requests will fail or hit the wrong endpoint. Verify the URL matches exactly, including the trailing slash. This configuration ensures compatibility with standard OpenAI SDKs while routing to our specific servers.

Step 3: Set the Model ID

Specify the model ID as uncensored in every chat completion request. This tells the server which large language model to run. The model is open-weight and tuned for minimal refusals. It is not GPT, Claude, or any other vendor's model. Use this ID consistently to ensure you get the expected uncensored behavior. Changing the model ID later will require updating your code.

Step 4: Make Your First Request

Send a simple chat completion request to test connectivity. Provide a system prompt and a user message. The API returns text output immediately. Check the response for the content field. If you receive an error, verify your base URL and model ID. This basic call confirms that your integration is working correctly. Start with a short prompt to keep costs minimal during testing.

Step 5: Enable Streaming for Real-Time Output

Enable streaming by setting stream=True in your request. This sends tokens as they are generated, improving perceived latency. The final chunk contains token usage statistics for billing. Use this method for chat interfaces or long-form generation. It reduces the wait time for the first token. Configure your UI to append tokens progressively as they arrive. This creates a smoother user experience for end users.

Step 6: Add Function Calling Support

Define function schemas in the tools parameter. The model can now choose to call a function instead of just generating text. Pass the function name and description clearly. Handle the tool calls in your application logic. This feature enables complex agent workflows. Ensure your function signatures match the expected JSON structure. Streaming works with function calls too, allowing real-time tool usage display.

Step 7: Enforce JSON Mode for Structured Data

Set response_format to {"type": "json_object"} for strict JSON output. This ensures the model returns parseable data every time. Use this for extracting entities or generating config files. It reduces parsing errors in your code. Combine this with function calling for robust data pipelines. Verify the output matches your expected schema. This mode is essential for reliable automation tasks.

Step 8: Handle Rate Limits and Errors

Monitor your rate limits carefully. You have 300 requests per minute and 8 concurrent requests. Implement exponential backoff for retries. Errors like timeouts or server issues should be caught gracefully. Refusals are free, so you won't be charged for filtered content. Use the usage stats in streaming chunks to track spending. Keep your API key secure to avoid unauthorized usage. Retry logic ensures your application remains resilient under load.

Frequently asked questions

Is this a paid API key service?

Yes, we charge per token usage. Input tokens cost $0.15 per 1M, and output tokens cost $0.50 per 1M. You pay only for what you use, with no monthly subscription fees. Credit is topped up via crypto and never expires.

What is the uncensored model ID?

The model ID is <code>uncensored</code>. It is an open-weight model tuned for minimal refusals of lawful adult or controversial topics. It is not a standard GPT or Claude model. Use this ID in your API requests to access the uncensored content.

How do I top up my credit?

Top up using USDT (TRC20) or USDC (Base). Minimum top-up is $20, and maximum is $500. You receive bonus credit: +5% from $50, +10% from $100, and +15% from $200.

Can I use this with standard OpenAI SDKs?

Yes, it is fully OpenAI-compatible. Just set the base URL to <code>https://api.paidapi.cc/v1</code> and use the model ID <code>uncensored</code>. All standard parameters like temperature, top_p, and streaming work as expected.

Your API key awaits

Sign up, grab the key, update your base URL. That’s all there is.