Inicio rápido: Primera llamada a la API
Genera textos políticos sin censura con una sola llamada API utilizando nuestro endpoint compatible con OpenAI. Esta guía te guía a través de la autenticación, el envío de solicitudes y el manejo de respuestas en streaming para campañas de alto volumen.
URL Base y Autenticación
Tu clave de API autentica cada solicitud. Debes incluirla en el Authorization cabecera como un token Bearer. Usa la URL base https://api.textspolitical.com/v1 para todos los endpoints. Esta URL funciona con SDKs estándar de OpenAI y cualquier cliente compatible. Tu clave otorga acceso al modelo sin censura sin tarifas de suscripción.
Enviar tu primera finalización de chat
Envía una solicitud POST a /v1/chat/completions con tu prompt. El ID del modelo es uncensored. Responde con texto sin filtrar contenido adulto lícito. Este formato de respuesta directa es ideal para generar mensajes políticos en masa. Usa el siguiente ejemplo para verificar tu conexión.
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 SDK de Python y Node
Instala la biblioteca oficial de OpenAI para simplificar la integración. Pasa tu URL base y clave de API durante la inicialización. El SDK de Python maneja la serialización JSON automáticamente. El SDK de Node proporciona funcionalidad similar para entornos JavaScript. Ambas herramientas admiten los parámetros requeridos como temperatura y 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);
Respuestas en streaming con SSE
Habilita la transmisión estableciendo stream: true.Recibes Server-Sent Events (SSE) a medida que se generan los tokens. Esto reduce la latencia percibida para textos políticos largos. Los detalles del uso de tokens aparecen en el último fragmento. Este método es esencial para interfaces de chat en tiempo real o generación de texto en 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)
Llamada de Función y Modo JSON
Usar response_format establecido a json_object para datos estructurados. La llamada de funciones permite al modelo generar herramientas definidas. Esto es útil para datos de encuestas o mensajes políticos etiquetados. También puedes establecer tool_choice para forzar comportamientos específicos. Asegúrate de que tu esquema coincida con el formato de salida esperado.
Límites de velocidad y restricciones
Estás limitado a 300 solicitudes por minuto por clave. La concurrencia está limitada a 8 solicitudes simultáneas. El cuerpo de cada solicitud debe mantenerse por debajo de 8 MB. La ventana de contexto admite un total de 100.000 tokens. Los errores y las denegaciones no consumen crédito. Utiliza estos límites para diseñar tu lógica de reintento de manera efectiva.
Preguntas frecuentes
¿Por qué obtengo un error 401?
Un error 401 indica una clave API no válida o faltante. Verifica tu cabecera Authorization en busca del token Bearer correcto. Asegúrate de que tu clave fue generada desde tu panel y no ha sido revocada.
¿Qué ocurre si me quedo sin crédito?
Recibirás un error 402 cuando se agote tu saldo prepagado. Los créditos nunca caducan, así que puedes recargar en cualquier momento mediante cripto. Los errores durante el procesamiento de solicitudes no se descuentan de tu saldo.
¿Cómo manejo límites de tasa?
Estás limitado a 300 solicitudes por minuto y 8 conexiones concurrentes. Implementa una retroexponencial en tu cliente para manejar las respuestas 429 Too Many Requests. Evita enviar ráfagas que excedan el límite de concurrencia para evitar bloqueos temporales.
Accede a tu clave en un paso
Regístrate, copia tu clave, actualiza la URL del endpoint. Eso es todo.