Início rápido: Primeira Chamada de API
Gere textos políticos sem censura com uma única chamada de API usando nosso endpoint compatível com OpenAI. Este guia mostra como autenticar, enviar solicitações e lidar com respostas em streaming para alto volume de divulgação.
URL Base e Autenticação
Sua chave de API autentica cada solicitação. Você deve incluí-la no Authorization cabeçalho como um token Bearer. Use a URL base https://api.textspolitical.com/v1 para todos os endpoints. Esta URL funciona com SDKs padrão do OpenAI e qualquer cliente compatível. Sua chave concede acesso ao modelo sem censura sem taxas de assinatura.
Enviando Sua Primeira Conclusão de Chat
Envie uma requisição POST para /v1/chat/completions com seu prompt. O ID do modelo é uncensored. Ele responde com texto sem filtrar conteúdo adulto legal. Este formato de resposta direta é ideal para gerar mensagens políticas em massa. Use o exemplo a seguir para verificar sua conexão.
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"}]
}'
Usando SDKs Python e Node
Instale a biblioteca oficial da OpenAI para simplificar a integração. Passe sua URL base e chave de API durante a inicialização. O SDK Python lida com a serialização JSON automaticamente. O SDK Node fornece funcionalidade semelhante para ambientes JavaScript. Ambas as ferramentas suportam os parâmetros necessários, como temperatura e 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);
Respostas em Streaming com SSE
Ative o streaming definindo stream: true. Você recebe Server-Sent Events (SSE) conforme os tokens são gerados. Isso reduz a latência percebida para textos políticos longos. Os detalhes de uso de tokens aparecem no último chunk. Este método é essencial para interfaces de chat em tempo real ou geração de texto ao vivo.
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)
Chamada de Função e Modo JSON
Usar response_format definido para json_object para dados estruturados. Chamada de funções permite que o modelo saia ferramentas definidas. Isso é útil para dados de pesquisa ou mensagens políticas marcadas. Você também pode definir tool_choice para forçar comportamentos específicos. Certifique-se de que seu esquema corresponda ao formato de saída esperado.
Limites de Taxa e Restrições
Você está limitado a 300 solicitações por minuto por chave. A simultaneidade é limitada a 8 solicitações simultâneas. O corpo de cada solicitação deve permanecer abaixo de 8 MB. A janela de contexto suporta 100.000 tokens no total. Erros e recusas não consomem crédito. Use esses limites para projetar sua lógica de retry de forma eficaz.
Perguntas frequentes
Por que estou recebendo um erro 401?
Um erro 401 indica uma chave de API inválida ou ausente. Verifique seu cabeçalho Authorization pelo token Bearer correto. Certifique-se de que sua chave foi gerada no seu painel e não foi revogada.
O que acontece se eu ficar sem crédito?
Você receberá um erro 402 quando seu saldo pré-pago for esgotado. Os créditos nunca expiram, então você pode adicionar fundos a qualquer momento via cripto. Erros durante o processamento da requisição não deduzem do seu saldo.
Como lidar com limites de taxa?
Você está limitado a 300 solicitações por minuto e 8 conexões simultâneas. Implemente backoff exponencial no seu cliente para lidar com respostas 429 Too Many Requests. Evite enviar picos que excedam o limite de concorrência para evitar bloqueios temporários.
Acesse sua chave em um passo
Registre-se, copie sua chave, atualize a URL do endpoint. Pronto.