Genere una plantilla de lista de planos para storyboard
Un storyboard útil comienza con decisiones, no con casillas vacías. Este generador convierte la descripción de una escena y el número de planos elegido por usted en una plantilla práctica para planificar, dibujar, rodar o revisar.
Ejecutar — gratis
Cada fila incluye un plano numerado, un tipo de plano sugerido, una duración estimada y una descripción vinculada directamente con la escena. El resultado es determinista, por lo que una misma indicación produce siempre el mismo plan cuando el equipo necesita revisarlo o compararlo.
Comience con una descripción que contenga acciones visibles
Describa lo que verá el público, dónde ocurre la acción, quién o qué resulta importante y cómo cambia la escena. Una indicación útil puede señalar una entrada, un descubrimiento, una reacción y una salida, en lugar de limitarse a un tema como «una mañana tensa». El generador normaliza los espacios y divide el texto en momentos narrativos mediante los límites de las frases. Si solo hay una frase, también puede detectar partes menores a partir de la puntuación y las palabras de transición. Esos momentos sirven de base para las descripciones de la lista, de modo que la herramienta organiza y encuadra el material aportado sin inventar personajes, objetos ni sucesos. Elija la cantidad de planos según el detalle que requiera su planificación. Una inserción breve puede necesitar tres planos; una escena con varias acciones, ocho o doce. La cantidad es exacta y debe ser, como mínimo, uno.
Interprete cada fila como una indicación de producción
Cada fila generada contiene cuatro campos operativos. El número conserva el orden. El tipo sugiere el encuadre: comienza con una vista general de situación y avanza por planos medios, primeros planos, planos sobre el hombro, detalles, reacciones y nuevas vistas amplias conforme crece la lista. La duración se expresa en segundos enteros y depende del encuadre y de la longitud del momento asignado. Es un punto de partida para el ritmo, no una promesa sobre el montaje final. La descripción combina una finalidad visual con un fragmento de la escena para que el equipo comprenda por qué existe el plano y qué debe cubrir. Si solicita más filas que momentos distintos, el algoritmo vuelve a recorrerlos e identifica las pasadas posteriores como énfasis visual alternativo. Así, la repetición ofrece cobertura adicional sin añadir información argumental que no figure en la descripción original.
Use la plantilla en todo el flujo de preproducción
El resultado estructurado funciona como un traspaso neutral entre guion, storyboard, fotografía, montaje, animación y revisión del cliente. Copie las filas en un documento de producción, convierta cada descripción en una viñeta o asígnelas como tareas a artistas y equipos de cámara. Como la generación es determinista y no emplea modelos ni solicitudes de red, usted puede integrarla en una admisión automatizada y obtener siempre la misma estructura para la misma entrada. Esa estabilidad facilita comparar revisiones: cambie deliberadamente la descripción o la cantidad y observe cómo evoluciona el plan. La duración total estimada suma todos los planos y ayuda a detectar pronto un planteamiento demasiado largo o corto. Considérela un punto de conversación, pues la interpretación, el diálogo, las transiciones y el ritmo de edición alteran la duración real. La API cuesta $0.002 por solicitud y el navegador ejecuta localmente la misma lógica pura.
Qué puede hacer con ella
Planificar una escena narrativa breve
Convierta acciones visibles en una cobertura ordenada antes de dibujar viñetas o preparar el plan de cámara.
Preparar un encargo de animación
Entregue a los artistas una serie coherente de cuadros numerados con encuadre, tiempo e intención.
Normalizar la recepción de vídeos
Transforme indicaciones de clientes en registros previsibles que producción pueda revisar, editar y transferir.
Preguntas frecuentes
¿Cuánto cuesta una solicitud?
Una solicitud de API cuesta $0.002. El ejecutor del navegador utiliza localmente la misma lógica determinista.
¿El generador crea imágenes de storyboard?
No. Crea una plantilla textual para orientar dibujos, planificación de cámara o composición de animación.
¿La cantidad solicitada es exacta?
Sí. La salida contiene exactamente los planos pedidos; se rechazan cantidades inferiores a uno o superiores al límite publicado.
¿Cómo se calculan las duraciones?
Cada estimación combina una base estable para el tipo de plano con un pequeño ajuste para momentos más extensos.
¿Inventará acciones ausentes de la escena?
No. Las descripciones se basan en su texto y la cobertura adicional señala explícitamente un énfasis alternativo.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/video/storyboard-shot-list \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"scene_description":"At dawn, a cyclist enters an empty town square. She notices a red scarf tied to the fountain, stops, and looks toward the bell tower as the first bell rings.","shot_count":5}'const res = await fetch("https://api.kit.forhosting.com/video/storyboard-shot-list", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"scene_description": "At dawn, a cyclist enters an empty town square. She notices a red scarf tied to the fountain, stops, and looks toward the bell tower as the first bell rings.",
"shot_count": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/storyboard-shot-list",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"scene_description": "At dawn, a cyclist enters an empty town square. She notices a red scarf tied to the fountain, stops, and looks toward the bell tower as the first bell rings.",
"shot_count": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/storyboard-shot-list", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"scene_description":"At dawn, a cyclist enters an empty town square. She notices a red scarf tied to the fountain, stops, and looks toward the bell tower as the first bell rings.","shot_count":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"scene_description":"At dawn, a cyclist enters an empty town square. She notices a red scarf tied to the fountain, stops, and looks toward the bell tower as the first bell rings.","shot_count":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/storyboard-shot-list", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"scene_description": "At dawn, a cyclist enters an empty town square. She notices a red scarf tied to the fountain, stops, and looks toward the bell tower as the first bell rings.",
"shot_count": 5
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.storyboard_shot_list",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_chars | 10000 |
max_shots | 100 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |