llmocrapi.comDocumentación
Inicio rápido: Integra LLM sin censura en tu app de OCR
Integra nuestro LLM sin censura en tu pipeline de OCR para extraer, limpiar y resumir texto sin censura de documentos sin que los filtros de contenido interfieran con tus datos. Esta guía cubre los pasos esenciales para conectar, autenticarte y transmitir respuestas usando la API compatible con OpenAI.
Requisitos previos: clave de API y URL base
Antes de realizar cualquier petición, necesitas una clave de API y la URL base correcta. Regístrate en la página Obtener clave de API con solo un correo electrónico y una contraseña. Tu clave se muestra inmediatamente después del registro y no se requiere tarjeta de crédito para la prueba.
La URL base para esta API es https://api.llmocrapi.com/v1. Este endpoint es compatible con los SDK estándar de OpenAI. Debes configurar tu cliente para usar esta URL base e incluir tu clave de API en el encabezado Authorization. El identificador del modelo que usarás para todas las peticiones es uncensored, que se ejecuta en nuestros propios servidores GPU y está diseñado para manejar la extracción de texto sin rechazar contenido adulto lícito o controvertido.
Petición básica de extracción de texto
Empieza enviando una petición de completado de chat simple para probar la conexión. Este endpoint acepta texto de entrada y devuelve texto extraído o limpio. Usa el endpoint POST /v1/chat/completions con el modelo uncensored. Asegúrate de que el cuerpo de la petición incluya el contenido del mensaje y el ID del modelo.
Esta petición básica verifica que tu clave de API funciona y que el modelo sin censura responde como se espera. Es el primer paso para construir tu pipeline de postprocesamiento OCR.
curl https://api.llmocrapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Si recibes una respuesta con choices que contiene texto, tu integración es exitosa. Si obtienes un error 401, verifica tu clave de API. Si obtienes un error 402, es posible que necesites añadir crédito prepago.
Integración con SDK de Python
Para desarrolladores de Python, usar el SDK oficial de OpenAI es el enfoque recomendado. Instala el paquete openai y configura la URL base para que apunte a nuestra API. Esto te permite usar métodos familiares como chat.completions.create().
Establece el parámetro base_url en https://api.llmocrapi.com/v1 y pasa tu clave de API. Esto asegura que todas las peticiones se enruten correctamente a nuestro modelo sin censura. Luego puedes enviar tu texto extraído por OCR como el mensaje del usuario y definir un prompt del sistema para instruir al modelo sobre cómo limpiar o resumir los datos.
from openai import OpenAI
client = OpenAI(base_url="https://api.llmocrapi.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)Este método es ideal para el procesamiento por lotes de documentos donde no se requiere streaming. Proporciona una forma directa de integrar el LLM en tus scripts de OCR existentes en Python.
Integración con SDK de Node.js
Los desarrolladores de Node.js también pueden usar el SDK de OpenAI para interactuar con la API. Instala el paquete openai para Node y configura la URL base de manera similar a la configuración de Python. Esto te permite aprovechar el mismo endpoint chat.completions con sintaxis de JavaScript familiar.
Configura el cliente con tu clave de API y la URL base https://api.llmocrapi.com/v1. Esto asegura la compatibilidad con tus aplicaciones existentes de Node.js. Luego puedes enviar peticiones para extraer o resumir texto de tu pipeline de OCR.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.llmocrapi.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);Este enfoque es adecuado para el procesamiento del lado del servidor en entornos Node, permitiéndote manejar las salidas de OCR de manera eficiente sin salir de tu ecosistema Node.
Respuestas en streaming para documentos grandes
Al procesar documentos grandes, las respuestas en streaming pueden mejorar la experiencia del usuario entregando texto en fragmentos a medida que se genera. Usa el parámetro stream: true en tu petición para habilitar Server-Sent Events (SSE). Esto te permite procesar texto en tiempo real, lo cual es útil para salidas de OCR largas o al mostrar el progreso a los usuarios.
El streaming ayuda a gestionar el uso de memoria al no requerir que toda la respuesta se mantenga en memoria antes de procesarla. Es particularmente útil para documentos con texto significativo que de otro modo podrían causar problemas de latencia.
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)Asegúrate de que tu cliente maneje correctamente los eventos SSE para analizar los fragmentos de texto incrementales. Este método es ideal para aplicaciones que requieren retroalimentación en tiempo real durante la etapa de postprocesamiento OCR.
Límites de peticiones, errores y ventanas de contexto
Ten en cuenta los límites de la API para evitar interrupciones del servicio. Tienes un límite de 300 peticiones por minuto por clave de API. El cuerpo de cada petición no debe exceder 8 MB. Si excedes el límite de peticiones, recibirás un error 429. Asegúrate de que tu aplicación implemente retroceso exponencial para manejar estos errores de forma elegante.
La ventana de contexto es de 100,000 tokens para el prompt y el completado combinados. Si la salida de OCR supera este límite, es posible que debas dividir el documento o truncar las partes anteriores. Los errores comunes incluyen 401 para claves no válidas, 402 por crédito insuficiente y 429 por límites de peticiones. Monitorea tu uso y añade crédito prepago según sea necesario para mantener un servicio ininterrumpido.
Especificaciones técnicas
Una tabla con cada límite, función y precio.
| Elemento | Valor |
|---|---|
| Formato | compatible con OpenAI: cualquier SDK de OpenAI funciona cambiando la base URL y la clave |
| Base URL | https://api.llmocrapi.com/v1 |
| Autenticación | Authorization: Bearer YOUR_KEY |
| ID del modelo | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Salida máxima | hasta el resto de la ventana de 64.000 tokens; max_tokens opcional (sin límite aparte) |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Modo JSON | response_format: {"type": "json_object"} |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Ventana de contexto | 64.000 tokens (entrada + salida) |
| Tamaño de petición | hasta 8 MB |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Límite de peticiones | 300 por minuto por clave |
| Concurrencia | 8 peticiones a la vez por clave |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $10 a $500 |
| Prueba gratis | $0,50 durante 7 días, sin tarjeta · Clave de prueba: 2 solicitudes paralelas, 60 por minuto; límites completos (8 y 300) tras la primera recarga |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Precio | $0,25 por 1M tokens de entrada · $1,00 por 1M de salida |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| Bono | +5 % desde $50, +10 % desde $100 |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
| Acceso | Google o correo y contraseña |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
Códigos de error
Los errores llegan como JSON con un type fijo; las peticiones fallidas o rechazadas no se cobran.
| Código | Tipo | Significado |
|---|---|---|
400 | bad_request | JSON inválido, mensajes vacíos, parámetro incorrecto o contexto demasiado largo |
401 | missing_key · invalid_key · key_revoked | falta la clave, es incorrecta o fue reemplazada |
402 | no_credit | sin crédito: recarga y sigue al instante |
403 | content_blocked | contenido sexual con menores: rechazado, no se cobra |
404 | not_found | endpoint desconocido |
413 | request_too_large | cuerpo mayor de 8 MB |
429 | rate_limited · concurrency | más de 300/min o 8 en paralelo: espera y reintenta |
503 | upstream_busy | modelo ocupado: reintenta en unos segundos |
Preguntas y respuestas
¿Es el modelo sin censura igual que GPT o Claude?
No. El modelo <code>uncensored</code> es un modelo de pesos abiertos ejecutado en nuestros propios servidores GPU, ajustado para responder sin rechazos de contenido para uso adulto lícito. No es GPT, Claude, Gemini, Grok ni ningún otro modelo de otro proveedor.
¿Qué pasa si se me acaba el crédito prepago?
Si tu crédito prepago se agota, recibirás un error 402 en las peticiones siguientes. Puedes añadir más crédito mediante criptomonedas (USDT o USDC) a partir de $10. Tu crédito de prueba caduca después de 7 días, pero el crédito prepago no caduca.
¿Puedo usar esta API para generar imágenes o video?
No. Esta API es una API de chat-completions de texto. No admite generación de imágenes, audio ni video. Está diseñada para entrada y salida de texto, como el postprocesamiento de texto OCR, resumen o extracción.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Eso es toda la configuración.