Hurtigstart: Første API-kald
Generer ubegrænsede politiske tekster med et enkelt API-kald via vores OpenAI-kompatible endpoint. Denne guide guider dig gennem autentificering, afsendelse af anmodninger og håndtering af streaming-responser til højvolumen-udsendelser.
Base URL og autentificering
Din API-nøgle autentificerer hver anmodning. Du skal inkludere den i Authorization header som en Bearer-token. Brug base-URL'en https://api.textspolitical.com/v1 til alle slutpunkter. Denne URL fungerer med standard OpenAI SDK'er og ethvert kompatibelt klient. Din nøgle giver adgang til den ubegrænsede model uden abonnementsgebyrer.
Send din første chat-komplettering
Send en POST-forespørgsel til /v1/chat/completions med din prompt. Model-ID'et er uncensored. Den responderer med tekst uden at filtrere lovligt voksenindhold. Denne direkte svarformat er ideel til at generere bulk-politiske beskeder. Brug følgende eksempel til at verificere din forbindelse.
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"}]
}'
Brug af Python og Node SDK'er
Installer den officielle OpenAI-bibliotek for at forenkle integrationen. Angiv din base URL og API-nøgle under initialisering. Python SDK'en håndterer JSON-serialisering automatisk. Node SDK'en giver lignende funktionalitet til JavaScript-miljøer. Begge værktøjer understøtter de krævede parametre som temperatur og 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);
Streaming-svar med SSE
Aktivér streaming ved at indstille stream: true. Du modtager Server-Sent Events (SSE), mens tokens genereres. Dette reducerer den opfattede forsinkelse for lange politiske tekster. Tokenbrugsoplysninger vises i det sidste chunk. Denne metode er essentiel for realtids-chatgrænseflader eller live tekstgenerering.
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)
Function Calling og JSON-tilstand
Brug response_format indstillet til json_object til strukturerede data. Funktionskald giver modellen mulighed for at outputte definerede værktøjer. Dette er nyttigt til spørgeskjemadata eller mærkede politiske beskeder. Du kan også indstille tool_choice for at tvinge specifikke adfærder. Sørg for, at dit skema matcher det forventede outputformat.
Rate Limits og Begrænsninger
Du er begrænset til 300 anmodninger i minuttet pr. nøgle. Samtidighed er begrænset til 8 samtidige anmodninger. Hver anmodningskrop skal holdes under 8 MB. Kontekstvinduet understøtter 100.000 tokens i alt. Fejl og afslag forbruger ikke kredit. Brug disse grænser til at designe din retry-logik effektivt.
Almindelige spørgsmål
Hvorfor får jeg en 401-fejl?
En 401-fejl indikerer en ugyldig eller manglende API-nøgle. Tjek din Authorization-header for den korrekte Bearer-token. Sørg for, at din nøgle blev genereret fra dit dashboard og ikke er blevet inddraget.
Hvad sker der, hvis jeg løber tør for kredit?
Du vil modtage en 402-fejl, når din forudbetalte balance er opbrugt. Kredit udløber aldrig, så du kan topsuppe til enhver tid via krypto. Fejl under forespørgselsbehandling trækker ikke fra din balance.
Hvordan håndterer jeg ratelimits?
Du er begrænset til 300 anmodninger i minuttet og 8 samtidige forbindelser. Implementér eksponentiel backoff i din klient til at håndtere 429 Too Many Requests-svar. Undgå at sende bursts, der overskrider concurrency-cappen for at forhindre midlertidige blokerings.
Få adgang til din nøgle i ét trin
Registrer, kopier din nøgle, og opdater endpoint-URL'en. Det's det.