Puntos clave
- El crédito de prueba de $0,50 es suficiente para varios cientos de turnos cortos de juego de rol, válido 7 días, sin necesidad de pago.
- Cualquier interfaz que acepte un endpoint compatible con OpenAI funciona: establece la URL base, la clave y el modelo
uncensored. - El costo depende de la longitud del historial del chat, no de la longitud de la respuesta. Recorta o resume los turnos antiguos.
- Ficción y juego de rol solo para adultos legales. Nada que involucre a menores de edad, nunca.
Qué significa gratuito aquí
No hay chat gratuito ilimitado en este servicio, y es mejor decirlo de entrada. Lo que obtienes es un saldo de prueba: después de registrarte con Google, o con un correo electrónico y contraseña, puedes reclamar $0,50 de crédito de prueba con un clic en la página de clave de API. Es uno por persona, es válido por 7 días y no requiere pago. La clave de prueba funciona con 2 peticiones simultáneas y 60 peticiones por minuto, lo cual es suficiente para una persona chateando.
Eso suena poco, pero los tokens son baratos. El costo de entrada es $0,15 por 1M de tokens y el de salida es $0,50 por 1M. Un turno típico de juego de rol con un prompt de 8.000 tokens y una respuesta de 300 tokens cuesta $0,00135, así que $0,50 cubre aproximadamente 370 turnos. Para muchas personas eso es una tarde completa o varias historias cortas, suficiente para decidir si la configuración te conviene antes de que intervenga dinero.
Cuando se agota la prueba, recargas desde $20 en cualquier cantidad entera hasta $500. El crédito no caduca, las peticiones fallidas o rechazadas no se cobran y no hay suscripción que cancelar. Este sitio solo acepta cripto: USDT en TRC20 o USDC en Base.
Elige una interfaz
La API solo habla texto sobre HTTP. Aún necesitas algo para guardar tus personajes, tu historial de chat y tu plantilla de prompt. Tres opciones comunes:
- SillyTavern. Una aplicación web local diseñada para chats de personajes, con libros de lore, personalidades y ajustes preestablecidos. Te permite añadir un endpoint compatible con OpenAI, que es exactamente lo que es esta API.
- Otro cliente de chat que expone campos para una URL compatible con OpenAI personalizada. Busca ajustes llamados endpoint personalizado, proxy o compatible con OpenAI.
- Tu propio script. Cincuenta líneas de Python te dan control total sobre la memoria, los prompts y el costo. También es la forma más fácil de ver qué estás enviando realmente.
Si estás construyendo una aplicación y no solo chateando, las mismas llamadas funcionan desde cualquier SDK de OpenAI. El inicio rápido en la documentación enumera los endpoints, encabezados y límites en un solo lugar.
Conecta SillyTavern en cinco pasos
- Crea una cuenta, abre la página de clave de API, reclama el crédito de prueba y copia tu clave.
- En SillyTavern, abre el icono del enchufe (Conexiones de API) y establece el tipo de API en Chat Completion.
- Elige la fuente llamada Custom (OpenAI-compatible).
- Pega
https://api.uncensoredvideo.cc/v1en el campo de endpoint personalizado, tu clave en el campo de clave, y escribeuncensoredcomo el ID del modelo. - Presiona Conectar. Un estado verde significa que la petición a
GET /v1/modelso un mensaje de prueba tuvo éxito.
Las etiquetas del menú cambian entre versiones de SillyTavern, así que guíate por la idea y no por la palabra exacta. Antes de culpar a la aplicación, prueba la clave desde una terminal:
curl https://api.uncensoredvideo.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Reply with the word ready."}]}'Si curl funciona y la aplicación no, el problema está en los campos de la aplicación: falta /v1, un espacio extra en la clave o el nombre de modelo incorrecto.
O escribe un bucle de chat pequeño
Un script es una buena forma de aprender cuánto cuesta el juego de rol, porque puedes imprimir el uso de tokens en cada turno. Este mantiene un prompt de personaje, recorta el historial a los últimos 20 mensajes y envía la respuesta en streaming.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.uncensoredvideo.cc/v1",
api_key=os.environ["API_KEY"],
)
system = (
"You are Mara, a dry-witted smuggler pilot in a space-opera story. "
"Stay in character, write in third person, keep replies under 150 words."
)
history = []
while True:
user = input("> ")
history.append({"role": "user", "content": user})
messages = [{"role": "system", "content": system}] + history[-20:]
stream = client.chat.completions.create(
model="uncensored",
messages=messages,
temperature=0.9,
top_p=0.95,
max_tokens=300,
stream=True,
stream_options={"include_usage": True},
)
reply = ""
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
piece = chunk.choices[0].delta.content
reply += piece
print(piece, end="", flush=True)
if chunk.usage:
print("\n[tokens in/out: %d/%d]" % (chunk.usage.prompt_tokens, chunk.usage.completion_tokens))
history.append({"role": "assistant", "content": reply})Observa la línea de uso. Después de unas decenas de turnos verás que el conteo de entrada sube mientras la salida se mantiene plana. Ese es el número que debes gestionar.
Escribe un prompt de personaje que resista
La mayoría de los problemas de juego de rol empiezan en el primer prompt, no en el modelo. Un prompt de personaje bueno es corto y específico. Nombra al personaje, dale una voz en una o dos frases, describe el entorno y di cuánto deben durar las respuestas. Luego para. Cada regla extra es un token que pagas en cada turno, y una larga lista de cosas que sí y que no suelen cumplirse menos que un ejemplo claro.
Compara dos formas de describir al mismo piloto. La primera dice que es valiente, divertida, leal y lista. Eso no le dice al modelo nada en lo que pueda actuar. La segunda dice que responde las preguntas con un chiste primero y la verdad segundo, nunca explica su pasado a menos que se le pregunte dos veces, y maldice levemente cuando se rompe una pieza de la nave. La segunda le da al modelo hábitos que repetir, y los hábitos son lo que los lectores experimentan como personalidad.
Añade un intercambio de ejemplo corto de tres o cuatro líneas. Los modelos copian el ritmo muy bien, así que un ejemplo fija la longitud, el tiempo verbal y el punto de vista sin una regla separada. Si escribes en segunda persona, muéstralo. Si quieres narración en cursiva, muéstralo también. Pon el ejemplo en el prompt del sistema o como los primeros mensajes del historial.
Finalmente, decide quién controla los otros personajes. Si quieres que el modelo interprete a todo un elenco, dilo. Si quieres que interprete solo un rol, di que nunca debe escribir las palabras o acciones de tu personaje. Una secuencia de parada en el nombre de tu personaje respalda esto a nivel de API.
Cuánto cuesta un turno de juego de rol
Cada petición reenvía el prompt del sistema, la descripción del personaje y el historial, por lo que los tokens de entrada crecen a medida que la conversación se alarga. Aquí está el cálculo para una respuesta de 300 tokens, que cuesta 300 x $0,50 / 1.000.000 = $0,00015 por sí sola:
| Tamaño del prompt | Costo de entrada | Costo por turno | Por cada 100 turnos | Turnos con $0,50 |
|---|---|---|---|---|
| 4.000 tokens | $0,0006 | $0,00075 | $0,075 | unas 666 |
| 8.000 tokens | $0,0012 | $0,00135 | $0,135 | aproximadamente 370 |
| 20.000 tokens | $0,0030 | $0,00315 | $0,315 | aproximadamente 158 |
| 50.000 tokens | $0,0075 | $0,00765 | $0,765 | aproximadamente 65 |
La lectura es simple. Un prompt ajustado de 8.000 tokens es unas 5,7 veces más barato que uno de 50.000 tokens para la misma cantidad de turnos. En el nivel de 8.000 tokens, una recarga de $20 paga por unas 14.800 turnos. Las recargas más grandes añaden un bono: +5% desde $50, +10% desde $100 y +15% desde $200, por lo que $100 da $110 de crédito. Consulta la página de precios para la tabla completa.
Mantén las historias largas baratas y coherentes
La ventana de contexto es de 100.000 tokens, prompt más respuesta, por lo que puedes cargar mucho. Rara vez deberías hacerlo. Los prompts largos cuestan más y le dan al modelo más texto para perder el hilo. Algunos hábitos ayudan:
- Resume, luego elimina. Cada 20 turnos, pide al modelo un resumen de 150 palabras de la historia hasta ahora, guárdalo en el prompt del sistema y elimina los mensajes antiguos.
- Mantén la ficha de personaje corta. Una página de reglas que el modelo ignora es una página que pagas en cada turno.
- Limita la respuesta.
max_tokenses opcional, pero un límite detiene respuestas descontroladas y mantiene el ritmo ajustado. - Ajusta el muestreo. Una temperatura de 0,8 a 1,0 se adapta a la ficción. Si el modelo repite frases, sube un poco la penalización de frecuencia o presencia. Se transmiten.
- Usa secuencias
stoppara que el modelo no escriba tus líneas, por ejemplo, una parada en el nombre de tu personaje seguida por dos puntos.
Las semillas fijas también se pasan, lo que ayuda cuando quieres reproducir una escena y comparar dos versiones del prompt.
Problemas comunes y soluciones rápidas
Estos son los problemas que la gente encuentra más a menudo en chats largos, con la configuración que suele ayudar.
- El modelo habla por ti. Añade una línea al prompt del sistema, más una secuencia de parada con el nombre de tu personaje.
- Las respuestas crecen en longitud en cada turno. El modelo copia la longitud de las respuestas anteriores. Reduce
max_tokens, edita una respuesta larga a mano para acortarla, y el patrón se reinicia. - Frases repetidas. Sube ligeramente la temperatura, añade una penalización pequeña de presencia o frecuencia y varía tus propios mensajes. El modelo refleja lo que ve.
- Detalles olvidados. Pon los hechos que deben sobrevivir, como nombres, heridas y promesas, en una nota fijada corta cerca de la parte superior del prompt, y actualízala cuando la historia cambie.
- Tono plano. Da un ejemplo de voz más fuerte. El tono proviene de los ejemplos mucho más que de los adjetivos.
Cuando ocurre algo extraño, imprime la lista completa de mensajes que envía tu script. Nueve de cada diez veces, la causa es visible en el propio prompt: una instrucción restante, un resumen duplicado o un historial que no se recortó.
Límites y errores que puedes encontrar
Una clave completa permite 8 peticiones simultáneas y 300 peticiones por minuto; la clave de prueba permite 2 y 60. Si superas el límite, la API devuelve HTTP 429. El código de error rate_limited significa demasiadas peticiones por minuto, y concurrency significa demasiadas a la vez. Un 429 con un encabezado Retry-After: 5 indica sobrecarga temporal, así que espera cinco segundos y reintenta.
Un detalle llama la atención: una petición en streaming mantiene su cupo de concurrencia hasta que termina el streaming. Si haces clic en regenerar tres veces rápido con una clave de prueba, el tercer intento puede fallar con concurrency. Espera a que termine el streaming o deja que el cliente reintente después de una pausa breve. Cada respuesta también lleva X-Balance-USD, por lo que tu script puede imprimir el saldo restante después de cada turno.
Una regla que no cambia: el modelo está ajustado para responder sin rechazos de contenido para uso adulto lícito, y no escribirá contenido sexual que involucre a menores de edad. Mantén tus historias dentro de ese límite. Los prompts no se usan para entrenamiento.
