Skip to content

Developer access / lower refusal

An uncensored LLM API with a visible contract

Build with BrokenGPT’s lower-refusal chat-completions API: bearer keys, JSON or SSE streaming, token metering, disclosed limits, and clear boundaries.

UPDATED 15 Jul 20268 MIN READTECHNICAL GUIDE
01

The endpoint is familiar. The supported subset is explicit.

BrokenGPT exposes POST /v1/chat/completions at https://brokengpt.com. Requests use a bearer API key, a public model alias, and an ordered array of role-based messages. Responses return JSON by default or server-sent events when stream is true.

“Uncensored” describes the service’s lower-refusal goal for lawful requests. “Compatible” describes a request and response shape. Neither word should be stretched into a claim that the endpoint implements every feature of another provider. The exact public contract is the API documentation.

AUTH / 01

Revocable bearer keys

Keys are authenticated server-side and can be managed independently from the browser session.

FORMAT / 02

JSON or SSE

Use a normal completion response or stream incremental chunks over server-sent events.

TRACE / 03

Request identifiers

Response and rate-limit headers make a production request easier to trace and diagnose.

USAGE / 04

Input + output metering

API calls spend credits and are labelled as API usage instead of chat usage in the dashboard.

02

One cURL request to the first streamed token.

Create an API key in the dashboard, keep it on the server, and send the public model alias shown in the live docs. The example below requests SSE streaming and caps the completion without claiming that the cap is the model’s full output ceiling.

POST /v1/chat/completions

curl https://brokengpt.com/v1/chat/completions \
  -H "Authorization: Bearer $BROKENGPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "broken-one",
    "messages": [
      {"role": "user", "content": "Explain the tradeoff directly."}
    ],
    "stream": true,
    "temperature": 0.7,
    "max_completion_tokens": 1200
  }'
03

Know what the current chat-completions route accepts.

Current public request surface
FieldCurrent behaviorNotes
modelRequired public model aliasA mismatched alias returns a model-not-found error.
messagesRequired array of system, user, and assistant messagesContent is a string; one to 100 messages per request.
streamOptional booleanTrue returns text/event-stream chunks and a final DONE event.
temperature / top_pOptional sampling controlsTemperature accepts 0–2; top_p accepts 0–1.
max_tokensOptional output requestmax_completion_tokens is also accepted and takes precedence.
stop / userOptionalStop accepts one string or up to four strings; user is a short identifier.

Tool calling, multimodal message parts, embeddings, image generation, assistants, batches, and provider-specific extensions are not part of this advertised route. If your application depends on one of them, treat it as a gap—not an implied feature.

04

API usage costs credits—and remains separately visible.

A direct API request first checks the account’s credit balance and request-rate allowance. Successful completions record input tokens, output tokens, model alias, latency, API-key identifier, and request status. Streamed requests are recorded when the stream completes; failed inference records a failed status without fabricated output usage.

The account uses one prepaid balance across browser chat and API calls, while the usage view separates the two sources by color and totals. Current token prices belong on the pricing page, where they can change without making an old guide misleading.

05

Lower refusal does not remove the product perimeter.

The gateway classifies requests before selecting a configured model path. Lawful discussion and sensitive topics can be handled by a lower-refusal route, but requests that cross the published hard boundary can be stopped at the gateway even if an upstream model would answer.

That makes behavior more predictable for builders: the public acceptable-use policydefines the service perimeter, and the model disclosure defines the current model-facing configuration. Build application-specific validation and human review on top; generated output can still be false, biased, insecure, or incomplete.

STRAIGHT ANSWERS

Frequently asked questions

01What makes this an uncensored LLM API?

The intended behavior is lower unnecessary refusal for lawful prompts. It is not a promise of zero moderation, zero refusals, or guaranteed correctness; the product-level acceptable-use boundary still applies.

02Is every OpenAI API feature supported?

No. BrokenGPT documents a compatible chat-completions request shape, not the entire OpenAI platform. The current public endpoint supports string messages, common sampling fields, stop sequences, token limits, JSON responses, and SSE streaming.

03Does API-key usage spend credits?

Yes. Successful direct API calls are metered for input and output tokens and spend from the same prepaid credit balance as chat. The dashboard separates API usage from chat usage for inspection.

04How is the output limit chosen?

The requested output must fit both the configured upstream output ceiling and the remaining model context after the estimated input. Check the live documentation and model disclosure instead of hard-coding a marketing number.

BUILD AGAINST THE CONTRACT

Start with one request.

Create a key, send the chat-completions shape, then verify usage and response metadata in the dashboard.

Open API docs