ES ▾
NSFW Video Generator

API sin censura para pipelines de video para adultos

API LLM de guiones para NSFW: flujo de trabajo solo de texto

Una API LLM de guiones para NSFW escribe la parte textual de un proyecto: esquemas, listas de escenas, diálogos y prompts para otras herramientas. No produce video, y esta página muestra dónde encaja.

Actualizado

Ilustración de páginas de guion fluyendo desde una terminal a marcos de película vacíos, mostrando un flujo de trabajo de video LLM solo de texto

Puntos clave

  1. La API es solo de texto. Produce guiones, listas de planos y prompts, nunca imágenes, audio o video.
  2. Usa el modo JSON para obtener una lista de escenas que tu pipeline pueda analizar, con un prompt de sistema que establezca el tono y las reglas.
  3. La ventana de contexto de 100.000 tokens te permite mantener toda una biblia de historia en cada petición.
  4. Los personajes deben ser adultos, y el contenido sexual que involucra a menores de edad nunca está permitido.

Lo que hace un LLM en un pipeline de video

Si estás construyendo un flujo de trabajo de API LLM para guiones de video nsfw, lo primero es definir la división de trabajo. Un modelo de lenguaje escribe. Un modelo de video separado, un editor o un equipo de rodaje generan el material. Este servicio ofrece solo la primera parte: un modelo de texto de pesos abiertos, ajustado para responder sin rechazos de contenido para uso adulto legal, detrás de un endpoint compatible con OpenAI. No renderizará un fotograma, sintetizará una voz ni creará una imagen, y no ofrece embeddings ni ajuste fino.

Eso aún cubre gran parte del trabajo alrededor de un proyecto hecho para audiencias adultas, como ficción, roleplay y narración estilo compañero. El modelo puede redactar un tratamiento, dividirlo en escenas, escribir diálogos y narración, producir una lista escena por escena, y redactar prompts para la herramienta de video que uses a continuación. La página sobre pipelines NSFW describe cómo esta etapa textual se conecta con el resto de una pila.

Una regla es fija y se aplica a cada petición: no contenido sexual que involucre a menores de edad. Construye tu prompt de sistema para que cada personaje sea un adulto, y trata eso como un requisito del proyecto, no como un añadido.

Un pipeline en cuatro etapas

Un flujo de trabajo de guion funciona mejor cuando cada llamada hace un trabajo y entrega salida estructurada a la siguiente. Una disposición práctica se ve así:

  1. Biblia de la historia. Un documento con personajes (todos adultos), entorno, tono y detalles recurrentes. Lo escribes una vez y lo envías con cada llamada.
  2. Esquema. Una llamada convierte una premisa en 8 a 15 resúmenes de beats.
  3. Guiones de escenas. Una llamada por momento produce diálogo, líneas de acción y narración, usando la biblia y la escena anterior para la continuidad.
  4. Lista de planos y prompts. Una llamada final por escena devuelve JSON: planos, duraciones, notas de cámara y una cadena de prompt para tu herramienta de video.

Dividirlo de esta manera mantiene las salidas cortas, lo que hace que cada resultado sea más fácil de revisar y más barato de regenerar si no te gusta. También significa que una llamada fallida cuesta una escena, no todo el guion.

Un prompt de sistema que establece las reglas

El prompt de sistema es donde residen el tono, el formato y los límites. Un modelo sin comportamiento de rechazo aún sigue las instrucciones, por lo que la calidad de tu prompt decide la calidad del guion. Sé específico sobre el género, el punto de vista y qué dejar fuera. Aquí tienes un punto de partida para ficción dirigida a espectadores adultos, escrito para mantenerse en el lado profesional de la página:

SYSTEM = '''You are a screenwriter for adult-audience fiction videos.
All characters are adults aged 25 or older, and you state each age in the character sheet.
Write in present tense, third person, with short visual action lines.
Keep dialogue natural and under 25 words per line.
Build tension and character through setting, glances and subtext.
Never include minors in any role or reference.
Follow the story bible exactly; do not change names, ages or relationships.
When asked for JSON, return only the JSON object.'''

Ajústalo por proyecto. Un misterio noir y una comedia romántica necesitan instrucciones diferentes, y un ejemplo de estilo de una línea dentro del prompt a menudo guía mejor al modelo que un párrafo de adjetivos.

Generación de una lista de escenas en modo JSON

Para la etapa de lista de planos quieres una salida que el código pueda leer. El modo JSON garantiza un objeto analizable. Pasa response_format={"type": "json_object"}, nombra las claves en el prompt y mantén la temperatura baja. Este ejemplo usa el paquete Python openai con la URL base de este sitio y el ID del modelo uncensored.

import json, os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.nsfwvideogenerator.cc/v1",
    api_key=os.environ["NOTRACK_API_KEY"],
)

SYSTEM = open("system_prompt.txt").read()
BIBLE = open("story_bible.txt").read()

def shot_list(scene_text):
    resp = client.chat.completions.create(
        model="uncensored",
        messages=[
            {"role": "system", "content": SYSTEM},
            {"role": "user", "content": (
                "Story bible:\n" + BIBLE +
                "\n\nScene script:\n" + scene_text +
                "\n\nReturn a JSON object with key 'shots': a list of objects with "
                "'number', 'seconds', 'camera', 'action' and 'video_prompt'."
            )},
        ],
        response_format={"type": "json_object"},
        temperature=0.3,
        seed=7,
    )
    data = json.loads(resp.choices[0].message.content)
    return data["shots"]

for shot in shot_list(open("scene_03.txt").read()):
    print(shot["number"], shot["seconds"], shot["video_prompt"])

Valida el resultado antes de pasarlo. Verifica que shots exista, que seconds sea un número, y que las cadenas de prompt no estén vacías. Si el análisis falla, reintenta una vez. Las peticiones fallidas o rechazadas no se cobran, por lo que un reintento no cuesta nada extra por una llamada con error.

Configuraciones importantes para texto creativo

Diferentes etapas quieren diferentes configuraciones, y la API pasa las habituales: temperature, top_p, stop, seed y las penalizaciones de frecuencia y presencia.

  • Esquemas y diálogos: temperatura 0,8 a 1,0 para variedad. Genera dos o tres variantes y elige una.
  • Listas de planos: temperatura 0,2 a 0,3, más un seed fijo para que una ejecución repetida de la misma entrada sea comparable.
  • Repetición: las escenas largas a veces repiten la misma frase. Una pequeña penalización de frecuencia, como 0,3, ayuda.
  • Control de longitud: max_tokens es opcional, pero un tope de 800 para una escena mantiene la salida ajustada. Una secuencia stop como "END SCENE" te permite terminar en un marcador que le pides al modelo que escriba.
  • Streaming: activa stream: true si un escritor observa la salida en vivo. Recuerda que un streaming mantiene su ranura de concurrencia hasta que termina.

La guía de inicio rápido lista todos los parámetros admitidos, y los endpoints son POST /v1/chat/completions y GET /v1/models.

Uso de la ventana de contexto de 100k para la continuidad

La continuidad es el fallo habitual en los guiones generados: un nombre cambia, la edad se desvía, un objeto desaparece. La ventana de contexto es de 100.000 tokens, prompt más completion, y eso es suficiente para meter toda la biblia del proyecto, el esquema y varias escenas terminadas en cada petición. No necesitas un sistema de recuperación para un proyecto a esta escala. Pega los datos y deja que el modelo los lea cada vez.

El contexto no es gratis, pero es barato. Supongamos que tu biblia y esquema suman 20.000 tokens y escribes 50 escenas, cada llamada devuelve aproximadamente 600 tokens:

  • Entrada: 50 x 20.000 = 1.000.000 tokens x $0,15 por 1M = $0,15
  • Salida: 50 x 600 = 30.000 tokens x $0,50 por 1M = $0,015
  • Total: $0.165 para las 50 escenas

Añade una pasada de lista de planos sobre las mismas 50 escenas con 3.000 tokens de entrada y 500 tokens de salida cada una: entrada 150.000 tokens cuesta $0,0225 y salida 25.000 tokens cuesta $0,0125, un adicional de $0,035. El guion completo y las listas de planos cuestan aproximadamente $0,20, que es menos que el crédito de prueba de $0,50 que puedes obtener desde la página de clave de API.

Ten en cuenta que la ventana debe contener tanto el prompt como la respuesta. Una biblia de 20.000 tokens deja mucho margen, pero un prompt de 95.000 tokens deja poco espacio para la completion.

Revisión y corrección de la salida

Trata cada escena generada como un primer borrador. Tres comprobaciones captan la mayoría de los problemas antes de que lleguen a una herramienta de video. Primero, ejecuta una pasada de consistencia: envía el guion terminado con la biblia de historia y pídele al modelo que liste cualquier lugar donde un nombre, edad, ubicación o línea de tiempo difiera. Una segunda llamada con una temperatura baja es barata y a menudo encuentra desviaciones que pasaste por alto. Segundo, lee el diálogo en voz alta. Las líneas que parecen bien en pantalla pueden ser torpes al hablar, y un actor de voz o una herramienta de síntesis de voz las expondrán de inmediato. Tercero, verifica que las duraciones de los planos sumen la longitud que planeaste. Los modelos son laxos con las matemáticas, así que suma los campos seconds en código en lugar de confiar en un total que escribió el modelo.

Cuando una escena falla, resiste reescribir todo el prompt de sistema. Añade una instrucción correctiva al mensaje de usuario, como "líneas de acción más cortas" o "más diálogo, menos descripción", y regenera solo esa escena. Mantener la biblia y el prompt de sistema fijos mientras varies una instrucción a la vez hace claro qué cambio ayudó. El parámetro seed es útil aquí, porque una semilla fija con una pequeña edición de prompt aísla el efecto de la edición.

Límites, honestidad y próximos pasos

Algunas restricciones básicas antes de construir. El modelo es solo de texto, así que cada video, imagen y pista de audio debe provenir de otras herramientas. Es un modelo de pesos abiertos gestionado por un proveedor independiente, y no es la API oficial de ningún gran proveedor. La calidad varía según el prompt, así que planifica una revisión por parte de una persona para cada guion; trata la salida como un borrador.

En cuanto al rendimiento, una clave completa permite 8 peticiones simultáneas y 300 por minuto, mientras que una clave de prueba permite 2 y 60. Si escribes escenas en paralelo, ajusta tu grupo de trabajadores para que coincida. Un 429 con rate_limited o concurrency significa que debes reducir la velocidad; uno con el encabezado Retry-After: 5 significa que el servicio está brevemente sobrecargado, así que espera cinco segundos y vuelve a intentarlo. Los prompts no se usan para entrenamiento.

El crédito pagado comienza con una recarga de $20, cualquier cantidad entera hasta $500, con +5% desde $50, +10% desde $100 y +15% desde $200. El pago es solo en cripto, USDT en TRC20 o USDC en Base, y el crédito nunca expira. Los términos actuales están en la página de precios. Para un proyecto como el anterior, $20 cubre docenas de guiones completos.

Preguntas y respuestas

¿Puede la API generar el vídeo directamente?

No. Es una API LLM solo de texto. Escribe guiones, listas de escenas y prompts, y usas una herramienta separada para producir cualquier video.

¿Hay algún tipo de contenido prohibido?

Sí. El contenido sexual que involucre a menores de edad nunca está permitido. El modelo está destinado a uso adulto lícito, y todos los personajes de tus proyectos deben ser adultos.

¿Cómo obtengo una lista de planos que se pueda analizar?

Establece response_format en un json_object, nombra las claves en tu prompt, baja la temperatura a alrededor de 0.3 y valida el resultado con json.loads antes de usarlo.

¿Cuánto cuesta un guion completo?

Usando una biblia de la trama de 20.000 tokens y 50 escenas de unos 600 tokens cada una, el paso de escritura cuesta unos $0.165 a $0.15 por 1M de tokens de entrada y $0.50 por 1M de tokens de salida.

Tu clave está a un paso de distancia

Crea una cuenta, copia la clave, cambia la URL base. Esa es toda la configuración.