Contenido de la documentación

API

Las rutas HTTP que existen de verdad, comprobadas contra el código el 22 de septiembre de 2026. Todo lo que devuelve datos filtra por el dueño de la fila.

Base y sesión

EntornoBase
Producciónhttps://autoreel.kgstudio.top/api
Localhttp://localhost:3000/api

Sin sesión, 401

A la API se le contesta con un 401 y un JSON, no con una redirección al formulario de acceso. Un fetch que espera JSON y recibe HTML falla al parsear, y el error que ve la persona no habla de sesión: habla de JSON inválido.

Videos

MétodoRutaQué hace
POST/videosCrea un video. Con guion entra a la cola; sin guion queda como idea
GET/videosLista los videos del dueño
GET/videos/:idDetalle de un video
PATCH/videos/:idEdita la planeación: título, guion, descripción, hashtags, formato, voz, proyecto o estado
DELETE/videos/:idBorra el video y sus assets. No mientras se genera
POST/videos/nextPromueve la idea más antigua a la cola
POST/videos/:id/renderVuelve a encolar: reintentar un fallo o re-renderizar
GET/videos/:id/fileEl MP4. Con ?download=1 se descarga
GET/videos/:id/thumbnailLa miniatura

Assets de un video

Imágenes, audio o video propios de un video. No hay biblioteca global: cada asset pertenece a su video y el render los recibe por nombre.

MétodoRutaQué hace
GET/videos/:id/assetsLista los assets del video
POST/videos/:id/assetsSube uno o varios (multipart, campo file)
GET/videos/:id/assets/:assetIdSirve un asset
DELETE/videos/:id/assets/:assetIdBorra un asset

Cola y utilidades

MétodoRutaQué hace
GET/queueEstado de la cola: conteos por estado, en proceso, pendientes e ideas
GET/trendsTendencias del día, para convertir una en idea
POST/ttsSíntesis de voz
POST/importImporta desde una URL
GET/projectsEl registro de proyectos de diseño
GET/projects/:slugUn proyecto y sus assets

Ejemplo: crear un video

curl
curl -X POST https://autoreel.kgstudio.top/api/videos \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Docker en 60 segundos",
    "script": "¿Sabías que puedes levantar un servidor con un solo comando? ...",
    "description": "Aprende Docker rápido",
    "hashtags": ["#docker", "#devops"],
    "format": "vertical"
  }'

Campos opcionales: el estado inicial, la fecha programada, la voz y un proyecto de diseño completo. Si no se manda proyecto, el worker arma un layout automático con título, narración y subtítulos.