API reference

Gumagamit ang unbleep ng OpenAI Chat Completions API. Kung nakatawag ka na sa OpenAI dati, alam mo na ang API na ito — ituro ang client mo sa https://unbleep.ai/v1 at palitan ang key.

Quickstart

I-install ang OpenAI SDK, i-set ang base URL at ang key mo, at gumawa ng call.

python
from openai import OpenAI

client = OpenAI(
    base_url="https://unbleep.ai/v1",
    api_key="ub_live_9f2c…",
)

resp = client.chat.completions.create(
    model="unbleep",
    messages=[{"role": "user", "content": "Say hello."}],
)
print(resp.choices[0].message.content)

Authentication

Bawat request ay nangangailangan ng Bearer token sa Authorization header. May prefix ang mga key para agad na mapansin ng mga secret scanner ang isang leak:

header
Authorization: Bearer ub_live_9f2c…

Itago ang mga key sa server-side. Huwag kailanman maglagay ng live key sa browser o mobile na code.

Mga Model

Ipasa ang isa sa mga ID na ito bilang model. Ang bare alias ay laging tumuturo sa pinakabagong build; tinatanggap din ang mga dated snapshot ID at kasalukuyang nagre-resolve sa parehong build. Alinmang anyo ang ipadala mo, ang bare ID ang iuulat ng response — ang request para sa unbleep-250811 ay babalik bilang "model": "unbleep".

ModelTumuturo ang alias saContextPinakamainam para sa
unbleepunbleep-250811256KPangkalahatang gamit — ang default
unbleep-highunbleep-high-2508111MPinakamalalaking trabaho — mahahabang dokumento & buong codebase
unbleep-miniunbleep-mini-25081132KMura, mabilis, high-volume na mga call

Chat completions

POST /v1/chat/completions — ang pangunahing endpoint. Tugma sa OpenAI schema ang mga request at response body.

curl · request
curl https://unbleep.ai/v1/chat/completions \
  -H "Authorization: Bearer ub_live_9f2c…" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "unbleep",
    "messages": [
      {"role": "system", "content": "You are terse."},
      {"role": "user", "content": "Explain abliteration in one line."}
    ],
    "temperature": 0.7,
    "max_tokens": 256
  }'
json · response
{
  "id": "chatcmpl_a1b2c3",
  "object": "chat.completion",
  "model": "unbleep",
  "choices": [{
    "index": 0,
    "message": { "role": "assistant", "content": "…" },
    "finish_reason": "stop"
  }],
  "usage": { "prompt_tokens": 24, "completion_tokens": 18, "total_tokens": 42 }
}

Streaming

I-set ang "stream": true para makatanggap ng Server-Sent Events. Bawat event ay isang chat.completion.chunk na may delta; nagtatapos ang stream sa literal na data: [DONE].

event stream
data: {"choices":[{"delta":{"content":"Ab"}}]}
data: {"choices":[{"delta":{"content":"literation"}}]}
data: {"choices":[{"delta":{},"finish_reason":"stop"}]}
data: [DONE]

Reasoning

Nag-iisip muna ang mga reasoning model bago sumagot. Bumabalik ang trace bilang reasoning_content sa tabi ng karaniwang content — sa message para sa normal na call, at sa delta habang nagsi-stream. Naroon lang ang field kapag aktuwal na gumawa ng trace ang model, kaya ituring itong opsyonal at basahin ang content para sa sagot mismo.

json · bahagi ng response
{
  "index": 0,
  "message": {
    "role": "assistant",
    "reasoning_content": "The question asks for one line, so…",
    "content": "…"
  },
  "finish_reason": "stop"
}

Sinisingil ang mga reasoning token. Ang trace ay generated na output at sinisingil sa normal na output rate ng model, binabasa man o hindi ng code mo ang field. Ang mahabang pag-iisip sa isang maikling tanong ay totoong linya sa bill mo.

Ipadala ang "thinking": false para i-off ang reasoning, para mapunta sa sagot ang completion budget sa halip na sa trace:

json · bahagi ng request
{
  "model": "unbleep",
  "messages": […],
  "thinking": false
}

Ang policy dial

Ang nagpapaiba sa unbleep. Ang opsyonal na parameter na policy ang nagtatakda kung gaano karaming governance ang tatakbo sa isang request. Ang default nito ay off.

json · bahagi ng request
{
  "model": "unbleep",
  "messages": […],
  "policy": "research"
}

Mga Error

Gumagamit ang mga error ng OpenAI envelope, kaya gumagana nang walang binago ang kasalukuyang error handling.

json · 401
{
  "error": {
    "type": "invalid_request_error",
    "code": "invalid_api_key",
    "message": "Incorrect API key provided."
  }
}
StatusKahulugan
401Nawawala o invalid ang key
402Ubos na ang credit — mag-top up para magpatuloy
422Na-block ng policy: strict
429Rate limit — mag-back off at subukang muli
5xxUpstream error — ligtas na subukang muli nang may backoff

Mga rate limit

Dalawang magkahiwalay na limit ang umaaplay, pareho kada account: isang request rate at isang concurrency cap.

Rate ng request

60 request kada minuto kada account, sinusukat sa sliding na 60-segundong window. Nasa account ang limit, hindi sa key — ang paggawa ng dagdag na key ay hindi nagbibigay ng dagdag na throughput, at bawat key na pag-aari mo ay kumukuha sa parehong 60. Ang test key ay may mas mababang per-key na ceiling na 15 request kada minuto; binibilang pa rin ito laban sa parehong account window.

Bawat response ay may kasamang standard na mga header para maipakalat mo ang mga request nang hindi nanghuhula. Iniuulat nila kung aling window ang pinakamalapit nang pumigil sa iyo:

mga header ng response
x-ratelimit-limit-requests: 60
x-ratelimit-remaining-requests: 58
x-ratelimit-reset-requests: 43

Ang x-ratelimit-reset-requests ay isang bare integer — buong segundo hanggang magbakante ng slot ang window, walang unit suffix. I-parse ito bilang numero, hindi bilang duration string.

Concurrency

Hanggang 8 request lang ang puwedeng sabay na in flight kada account. Ang ikasiyam na sabay na request ay agad na tinatanggihan nang may 429 at code na too_many_concurrent_requests; may kasamang retry-after: 1 ang response. Walang sinisingil para sa tinanggihang request. Hawak ng streaming call ang slot nito hanggang matapos ang stream, kaya ang mahahabang stream ang kadalasang nagdadala sa iyo sa cap.

json · 429
{
  "error": {
    "type": "rate_limit_error",
    "code": "too_many_concurrent_requests",
    "message": "Too many concurrent requests for this account (limit 8)."
  }
}

Fixed ang parehong ceiling para sa mga standard na account — hindi sila lumalaki kasabay ng prepaid balance mo. Kailangan ng mas maluwag? Tinataas ito ng Enterprise.