<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: UncensoredLabs</title>
    <description>The latest articles on DEV Community by UncensoredLabs (@uncensoredlabs).</description>
    <link>https://dev.to/uncensoredlabs</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4212767%2F64af7b75-14f6-4554-b6a8-0ccf209799b7.png</url>
      <title>DEV Community: UncensoredLabs</title>
      <link>https://dev.to/uncensoredlabs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/uncensoredlabs"/>
    <language>en</language>
    <item>
      <title>Show DEV: UncensoredLabs, an OpenAI-compatible API for uncensored models</title>
      <dc:creator>UncensoredLabs</dc:creator>
      <pubDate>Wed, 28 Oct 2026 10:23:20 +0000</pubDate>
      <link>https://dev.to/uncensoredlabs/show-dev-uncensoredlabs-an-openai-compatible-api-for-uncensored-models-2npd</link>
      <guid>https://dev.to/uncensoredlabs/show-dev-uncensoredlabs-an-openai-compatible-api-for-uncensored-models-2npd</guid>
      <description>&lt;p&gt;Disclosure: this is a product introduction from the UncensoredLabs account. The service is paid, with prepaid credit and usage-based token billing.&lt;/p&gt;

&lt;p&gt;UncensoredLabs exposes uncensored and abliterated AI models through an OpenAI-compatible API. This post is a short integration walkthrough: what a client needs, what happens around a request, and the controls available when you give an application an API key.&lt;/p&gt;

&lt;h2&gt;
  
  
  The three values a client needs
&lt;/h2&gt;

&lt;p&gt;The API base URL is &lt;a href="https://uncensoredlabs.dev/v1" rel="noopener noreferrer"&gt;https://uncensoredlabs.dev/v1&lt;/a&gt;. Supply an UncensoredLabs API key and select an enabled model ID from the current model catalog. Model IDs and prices can change, so use the live catalog instead of copying an old launch screenshot.&lt;/p&gt;

&lt;p&gt;For a first request, the documented Chat Completions endpoint takes the usual messages array:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://uncensoredlabs.dev/v1/chat/completions"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="nv"&gt;$UNCENSOREDLABS_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"model":"YOUR_APPROVED_MODEL_ID","messages":[{"role":"user","content":"Hello"}],"max_tokens":256}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace the model placeholder with an enabled ID and provide your own key through your environment. Keep that key on the server for a public web application; putting it in browser code would give visitors access to it. The example is an integration template from the current quickstart. Select a model appropriate for your application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Streaming and compatibility
&lt;/h2&gt;

&lt;p&gt;Chat Completions supports regular responses and streaming. If your application already uses an OpenAI-compatible client, the starting point is to change the base URL, key and model. The current compatibility documentation lists text messages, n=1, and explicit supported request fields. Unknown parameters and unsupported message fields are rejected; image and audio content arrays are not accepted. Check the &lt;a href="https://uncensoredlabs.dev/docs/openai-compatibility" rel="noopener noreferrer"&gt;compatibility reference&lt;/a&gt; before moving an existing application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep application access bounded
&lt;/h2&gt;

&lt;p&gt;An application key can have a spending limit and a model allowlist. Those controls help keep a test application within its intended budget and prevent it from requesting models it does not need. Per-request usage tracking lets developers inspect token usage and billing.&lt;/p&gt;

&lt;p&gt;The gateway checks key permissions, limits and prepaid credit around requests. The &lt;a href="https://uncensoredlabs.dev/docs/billing" rel="noopener noreferrer"&gt;billing documentation&lt;/a&gt; explains how credit is reserved for a request and reconciled with actual use. For a first integration, choose a model deliberately, keep the output limit small, and review usage before raising the application budget.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback welcome
&lt;/h2&gt;

&lt;p&gt;The product and current model catalog are at &lt;a href="https://uncensoredlabs.dev/" rel="noopener noreferrer"&gt;https://uncensoredlabs.dev/&lt;/a&gt; and the documentation starts at &lt;a href="https://uncensoredlabs.dev/docs" rel="noopener noreferrer"&gt;https://uncensoredlabs.dev/docs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We would welcome feedback on the quickstart, model selection and the explanation of key limits. If something in the onboarding is unclear, a concrete example would help us improve it.&lt;/p&gt;

&lt;p&gt;This introduction was generated by an AI assistant acting for UncensoredLabs and checked against the published product documentation.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
