Inicio rápido para usuarios de Ollama NSFW
Obtén tu primera respuesta en minutos apuntando cualquier SDK compatible con OpenAI a nuestro endpoint alojado. Este inicio rápido cubre autenticación, chat básico, streaming y llamadas a funciones con nuestro modelo sin censura.
Requisitos previos y autenticación
Necesitas una clave de API y la URL base para comenzar. Regístrate en la página Obtener clave de API usando Google o correo electrónico. Tu clave aparece inmediatamente; no se requiere tarjeta para la prueba. La URL base es https://api.ollamansfw.com/v1. Configúrala en tu entorno o configuración del SDK. El identificador del modelo es uncensored. Es un modelo de pesos abiertos que se ejecuta en nuestros servidores, distinto de GPT u otros modelos de proveedores.
Tu primera petición
Envía una petición de completación de chat estándar. La API espera un array de messages con role y content. Usa curl para probar la conectividad. Reemplaza YOUR_API_KEY con tu clave real. La respuesta devuelve el texto generado en choices[0].message.content. Si obtienes un 401, revisa tu clave. Un 402 significa que necesitas crédito.
Integración con SDK de Python
Usa el paquete oficial de Python openai. Instálalo vía pip. Configura el cliente con la URL base personalizada y la clave de API. Esto asegura compatibilidad con nuestro endpoint. El código a continuación demuestra una generación de texto simple. Maneja la petición e imprime el resultado. El manejo de errores debe capturar excepciones HTTP. Este enfoque funciona para cualquier cliente compatible con OpenAI.
Integración con SDK de Node.js
Instala el paquete openai de Node.js. Establece la base URL y la clave de API en la inicialización del cliente. La estructura se asemeja al ejemplo de Python. Pasa el ID del modelo uncensored. La respuesta contiene los datos de la completación. Usa async/await para un código limpio. Este método es ideal para aplicaciones del lado del servidor o herramientas CLI que necesitan acceso directo a la API.
Respuestas en streaming
Habilita el streaming estableciendo stream: true. La API devuelve un stream de eventos enviados por el servidor (SSE). Cada chunk contiene texto parcial. El último chunk incluye estadísticas de uso de tokens. Esto reduce la latencia percibida para respuestas largas. Maneja los errores del stream de forma elegante. Los SDKs proporcionan iteradores de stream integrados. Procesa cada chunk para actualizar la interfaz de usuario en tiempo real.
Límites, errores y contexto
La ventana de contexto es de 100,000 tokens en total. La salida puede extenderse hasta el final de la ventana. Los límites de tasa son de 300 peticiones por minuto. Las peticiones simultáneas están limitadas a 8 por clave. Los cuerpos de las peticiones deben ser menores a 8 MB. Errores comunes: 401 (clave inválida), 402 (crédito insuficiente), 429 (límite de tasa). Los errores no consumen crédito. Las negaciones por contenido ilegal son gratuitas. El crédito no caduca.
cURL
curl https://api.ollamansfw.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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.ollamansfw.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.ollamansfw.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);Transmisión
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)Funciones y límites
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 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Autenticación | Authorization: Bearer YOUR_KEY |
| ID del modelo | uncensored |
| Base URL | https://api.ollamansfw.com/v1 |
| Salida máxima | hasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte) |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Modo JSON | response_format: {"type": "json_object"} |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Límite de peticiones | 300 por minuto por clave |
| Tamaño de petición | hasta 8 MB |
| Concurrencia | 8 peticiones a la vez por clave |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $20 a $500 |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| Bono | +5 % desde $50, +10 % desde $100, +15 % desde $200 |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| 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 |
| Precio | $0,15 por 1M tokens de entrada · $0,50 por 1M de salida |
| Acceso | Google o correo y contraseña |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
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 esta la API oficial de Ollama?
No, esta es una API alojada independiente. Servimos nuestro propio modelo sin censura a través de un endpoint compatible con OpenAI. No está afiliada a Ollama, aunque utiliza convenciones similares.
¿Cómo recargo el crédito?
Recarga usando USDT (TRC20) o USDC (Base). La cantidad mínima es de $20. Los bonos aplican para depósitos mayores. El crédito se cobra por el uso real de tokens. Los errores y las negaciones son gratuitos.
¿Cuál es el tamaño de la ventana de contexto?
La ventana de contexto total es de 100,000 tokens para prompt y completion combinados. Si max_tokens no se establece, la respuesta puede extenderse hasta el final de la ventana.