Snabbstart: Första API-anrop
Generera icensorerade politiska texter med ett enda API-anrop via vår OpenAI-kompatibla slutpunkt. Den här guiden visar hur du autentiserar, skickar begäranden och hanterar strömsvaren för högvoltsutskick.
Bas URL och autentisering
Ditt API-nyckel autentiserar varje begäran. Du måste inkludera den i Authorization header som ett Bearer-token. Använd bas-URL:en https://api.textspolitical.com/v1 för alla slutpunkter. Denna URL fungerar med standard OpenAI SDK:er och alla kompatibla klienter. Din nyckel ger tillgång till den obegränsade modellen utan abonnemangskostnader.
Skicka din första chat-completion
Skicka en POST-förfrågan till /v1/chat/completions med din prompt. Modell-ID:et är uncensored. Den returnerar text utan att filtrera lagligt vuxet innehåll. Detta direkta svarsformat är idealiskt för att generera masspolitiska meddelanden. Använd följande exempel för att verifiera din anslutning.
curl https://api.textspolitical.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List three benefits of digital surveys for campaign outreach"}]
}'
Att använda Python och Node SDK:er
Installera det officiella OpenAI-biblioteket för att förenkla integrationen. Ange din bas-URL och API-nyckel under initieringen. Python-SDK:t hanterar JSON-serierisering automatiskt. Node-SDK:t erbjuder liknande funktionalitet för JavaScript-miljöer. Båda verktygen stödjer de nödvändiga parametrarna som temperatur och top_p.
from openai import OpenAI
client = OpenAI(base_url="https://api.textspolitical.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.textspolitical.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);
Strömningsresponser med SSE
Aktivera strömning genom att ställa in stream: true. Du tar emot Server-Sent Events (SSE) när token genereras. Detta minskar upplevd latens för långa politiska texter. Tokenanvändningsdetaljer visas i den sista chunken. Denna metod är avgörande för chattgränssnitt i realtid eller live-textgenerering.
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)
Funktionsanrop och JSON-läge
Använd response_format inställd på json_object för strukturerad data. Functon calling gör att modellen kan returnera definierade verktyg. Detta är användbart för enkätdata eller märkta politiska meddelanden. Du kan också ställa in tool_choice för att tvinga specifika beteenden. Se till att ditt schema matchar det förväntade utdataformatet.
Begränsningar för begäranderänta och begränsningar
Du är begränsad till 300 förfrågningar per minut per nyckel. Konkurrensen är begränsad till 8 samtidiga förfrågningar. Varje förfrågningsbody måste hålla sig under 8 MB. Kontextfönstret stöder 100,000 tokens totalt. Fel och avslag förbrukar inte kredit. Använd dessa gränser för att designa din retry-logik effektivt.
Vanliga frågor
Varför får jag ett 401-fel?
Ett 401-fel indikerar en ogiltig eller saknad API-nyckel. Kontrollera ditt Authorization-huvud för rätt Bearer-token. Se till att din nyckel genererades från din kontrollpanel och inte har återkallats.
Vad händer om jag tar slut på kredit?
Du får ett 402-fel när din förbetalda balans är slut. Krediter löper inte ut, så du kan fylla på när som helst via krypto. Fel under förfrågningsbearbetning drar inte från din balans.
Hur hanterar jag hastighetsbegränsningar?
Du är begränsad till 300 begäranden per minut och 8 samtidiga anslutningar. Implementera exponentiell backoff i din klient för att hantera 429 Too Many Requests-svar. Undvik att skicka burstar som överskrider samtidighetsgränsen för att förhindra tillfälliga blockeringar.
Få tillgång till din nyckel i ett steg
Registrera dig, kopiera din nyckel, uppdatera endpoint-URL:en. Klart.