2026-05-30 · DATA ROOM
StoryReel AI
StoryReel AI: Guiones a Videos Profesionales en Minutos
ELEVATOR PITCH
StoryReel AI empodera a equipos de marketing y creadores de contenido, transformando guiones en videos profesionales en minutos para redes sociales. Con una sólida viabilidad financiera (Profit Score 89%) y un margen del 57%, resolvemos el costoso cuello de botella de la producción de video tradicional.
VALUE PROPOSITION
Nuestra diferenciación clave es la velocidad y la simplicidad: somos la solución más rápida 'del guion al video' del mercado, diseñada para que pymes y freelancers generen contenido de redes sociales sin esfuerzo.
EXPLAINER.md
StoryReel AI — Backend Service
Concepto
StoryReel AI es una plataforma SaaS B2B que convierte guiones de texto en vídeos de marketing listos para redes sociales. Inspirado en Zebracat, resuelve el cuello de botella que enfrentan equipos de marketing, pymes y freelancers al producir vídeos de calidad de forma rápida y económica.
Arquitectura
┌─────────────┐ REST/JSON ┌──────────────────────────────────────────────┐
│ Frontend │ ────────────▶ │ Spring Boot 4 API │
│ (React / │ │ │
│ Mobile) │ ◀──────────── │ AuthController ProjectController Library │
└─────────────┘ JWT Bearer │ │ │ │ │
│ AuthService VideoProjectService Enum │
│ │ │ Catalog │
│ JwtUtil VideoGenerationService │
│ (Virtual Threads @Async) │
│ ┌───────────────────────────┐ │
│ │ StockVideoService │ │
│ │ TextToSpeechService │ │
│ │ StorageService │ │
│ └────────┬──────────────────┘ │
└──────────────────┼────────────────────────── ┘
│
┌──────────────────┼───────────────────────────┐
│ External APIs │ │
│ ┌───────────────▼──────┐ │
│ │ Pexels Video API │ (stock clips) │
│ ├──────────────────────┤ │
│ │ ElevenLabs TTS API │ (narration audio) │
│ ├──────────────────────┤ │
│ │ AWS S3 / GCS │ (video storage) │
│ └──────────────────────┘ │
└─────────────────────────────────────────────┘
Capas
| Capa | Paquete | Responsabilidad |
|---|---|---|
| Controller | controller | REST endpoints, validación de entrada, resolución del principal JWT |
| Service | service | Lógica de negocio, orchestración de pipeline, verificación de límites de plan |
| Async | %%INLINE2%% | Pipeline de rendering en virtual threads (%%INLINE3%%) |
| Feign | feign | Clientes declarativos para Pexels y ElevenLabs |
| Security | security | JwtUtil · JwtAuthFilter · UserDetailsServiceImpl |
| Model | %%INLINE6%% | Entidades JPA: %%INLINE7%%, VideoProject |
| Repository | repository | Spring Data JPA interfaces |
Endpoints
Autenticación (público — no requiere JWT)
| Método | Path | Descripción |
|---|---|---|
| %%INLINE10%% | %%INLINE11%% | Registro de nuevo usuario (plan FREE) |
| %%INLINE12%% | %%INLINE13%% | Login con e-mail + password → JWT |
{
"email": "ana@startup.com",
"password": "SuperSecret1!",
"displayName": "Ana García"
}
Response:
{
"token": "eyJhbGciOiJIUzI1NiJ9...",
"email": "ana@startup.com",
"displayName": "Ana García",
"plan": "FREE"
}
Proyectos (requiere Authorization: Bearer <token>)
| Método | Path | Descripción |
|---|---|---|
| %%INLINE15%% | %%INLINE16%% | Crea proyecto y lanza pipeline asíncrono |
| %%INLINE17%% | %%INLINE18%% | Lista proyectos del usuario autenticado |
| %%INLINE19%% | %%INLINE20%% | Estado de un proyecto (polling para saber si está COMPLETED) |
| %%INLINE21%% | %%INLINE22%% | Actualiza logo y color de marca |
{
"title": "Lanzamiento Producto Q1",
"script": "Presentamos nuestro nuevo software que revoluciona la gestión de proyectos. Con IA integrada, tu equipo será 3x más productivo.",
"voice": "NOVA",
"musicTrack": "UPBEAT_CORPORATE",
"logoUrl": "https://mybrand.com/logo.png",
"brandColor": "#1A73E8"
}
Response – Project (PENDING / PROCESSING / COMPLETED):
{
"id": 42,
"title": "Lanzamiento Producto Q1",
"status": "COMPLETED",
"downloadUrl": "https://cdn.storyreel.ai/videos/project-42/output.mp4",
"exportResolution": "720p",
"watermarked": true,
"voice": "NOVA",
"musicTrack": "UPBEAT_CORPORATE",
"logoUrl": "https://mybrand.com/logo.png",
"brandColor": "#1A73E8",
"createdAt": "2026-05-30T10:00:00",
"updatedAt": "2026-05-30T10:00:02"
}
Librería (público — no requiere JWT)
| Método | Path | Descripción |
|---|---|---|
| %%INLINE23%% | %%INLINE24%% | Lista pistas de música disponibles |
| %%INLINE25%% | %%INLINE26%% | Lista voces de IA disponibles |
Pipeline de Generación Asíncrona
POST /projects
│
├─ 1. Valida límite mensual del plan (FREE: 3, CREATOR: 20, BUSINESS: 100)
├─ 2. Persiste VideoProject con status=PENDING
├─ 3. Retorna 202 Accepted inmediatamente al cliente
│
└─ [Virtual Thread — videoTaskExecutor]
├─ 4. Extrae palabras clave del guion por frase
├─ 5. Busca clips en Pexels API (una consulta por keyword)
├─ 6. Genera audio TTS vía ElevenLabs API
├─ 7. Simula render FFmpeg (combina clips + audio + música + logo)
├─ 8. Sube MP4 a AWS S3 / GCS
└─ 9. Actualiza status=COMPLETED + downloadUrl
El cliente hace polling a %%INLINE27%% hasta que %%INLINE28%%.
Planes y Monetización
| Plan | Videos/mes | Marca de agua | Resolución | Precio |
|---|---|---|---|---|
| FREE | 3 | ✅ Sí | 720p | Gratis |
| CREATOR | 20 | ❌ No | 1080p | ~$29/mes |
| BUSINESS | 100 | ❌ No | 4K | ~$99/mes |
Features MVP Implementadas
| Feature | Implementación |
|---|---|
| Texto-a-Video | %%INLINE29%% → %%INLINE30%% → Pexels API |
| TTS con IA | TextToSpeechService → ElevenLabs API, 6 voces disponibles |
| Kit de Marca | %%INLINE32%%, campos %%INLINE33%% + %%INLINE34%% en %%INLINE35%% |
| Música de Fondo | Enum %%INLINE36%% con 5 pistas, %%INLINE37%% |
| Exportación HD | Resolución derivada del plan (%%INLINE38%% / %%INLINE39%% / 4K), marca de agua en FREE |
| Autenticación JWT | Spring Security 7 + JJWT 0.12.6, stateless |
| Jobs en Background | @Async("videoTaskExecutor") con virtual threads de Java 25 |
Stack Técnico
- Java 25 — Records, Virtual Threads,
var, text blocks, pattern matching - Spring Boot 4.0.4 + Spring Framework 7.x
- Spring Security 7 — JWT stateless,
SecurityFilterChain - Spring Data JPA + Jakarta Persistence 3 — PostgreSQL en producción
- Spring Cloud OpenFeign 4.2.1 — clientes declarativos para APIs externas
- JJWT 0.12.6 — firma HS256
- Jackson 3 (
tools.jackson.*) — serialización JSON - MapStruct 1.6.3 — soporte para mapping (preparado para expansión)
Cómo Ejecutar
Pre-requisitos
- Java 25
- PostgreSQL 16+ (o H2 para desarrollo)
- Maven 3.9+
Variables de entorno / application.yml
spring:
datasource:
url: jdbc:postgresql://localhost:5432/storyreel
username: storyreel
password: changeme
jpa:
hibernate:
ddl-auto: create-drop # update en producción
app:
jwt:
secret: TuSecreto256BitsParaHMAC_SHA256
expiration-ms: 86400000 # 24 horas
pexels:
base-url: https://api.pexels.com
api-key: TU_PEXELS_API_KEY
elevenlabs:
base-url: https://api.elevenlabs.io
api-key: TU_ELEVENLABS_API_KEY
storage:
base-url: https://cdn.storyreel.ai
Compilar y ejecutar
# Compilar
mvn clean compile
# Ejecutar
mvn spring-boot:run
# O con Docker
docker build -t storyreel-api .
docker run -p 8080:8080 \
-e SPRING_DATASOURCE_URL=jdbc:postgresql://host:5432/storyreel \
storyreel-api
Flujo de prueba rápido
# 1. Registrar usuario
curl -X POST http://localhost:8080/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"email":"dev@test.com","password":"Password1!","displayName":"Dev User"}'
# 2. Login → obtener token
TOKEN=$(curl -s -X POST http://localhost:8080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"dev@test.com","password":"Password1!"}' | jq -r .token)
# 3. Ver voces disponibles (público)
curl http://localhost:8080/api/v1/library/voices
# 4. Crear proyecto (lanza pipeline asíncrono)
PROJECT=$(curl -s -X POST http://localhost:8080/api/v1/projects \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Mi primer video",
"script": "Bienvenidos a StoryReel AI. La plataforma que convierte tus ideas en videos virales.",
"voice": "NOVA",
"musicTrack": "UPBEAT_CORPORATE",
"brandColor": "#FF5733"
}')
PROJECT_ID=$(echo $PROJECT | jq -r .id)
# 5. Polling hasta COMPLETED
curl http://localhost:8080/api/v1/projects/$PROJECT_ID \
-H "Authorization: Bearer $TOKEN"
Referencias
- Inspiración: Zebracat.ai
- Product Hunt (Jun 2024): Leaderboard
- Pexels Video API
- ElevenLabs TTS API
- Spring Boot 4 Docs
- JJWT 0.12.x
FinOps Analysis para StoryReel AI
Resumen de Costos y Rentabilidad
StoryReel AI, con su propuesta de valor de generación de video automatizada, presenta una estructura de costos que, aunque intensiva en APIs externas, permite un margen de beneficio saludable incluso en sus etapas iniciales con una base de clientes modesta. La clave del éxito FinOps residirá en la gestión proactiva de los costos de las APIs y la infraestructura cloud.
- Ingreso Mensual Estimado: $870 (basado en 20 clientes iniciales distribuidos entre planes 'Creator' y 'Business').
- Costo Mensual Total Estimado: $374
- Margen de Beneficio Estimado: 57%
Desglose Detallado y Consideraciones
Los costos operativos se centran principalmente en las integraciones con APIs de terceros, especialmente para la obtención de contenido de video (stock footage) y el renderizado final del video. La infraestructura base para el servicio Spring Boot es relativamente económica, pero el manejo de tareas de procesamiento intensivo como el renderizado de video puede escalar rápidamente si no se optimiza.
El LLM para el análisis del guion es un costo menor, pero es crítico para la calidad de la selección de clips. La estimación de 5M tokens es generosa para un MVP, incluyendo desarrollo y pruebas.
Estrategias de Optimización FinOps
- Optimización de APIs Externas:
- Optimización de Infraestructura Cloud:
db.t3.micro es a menudo suficiente.
* CDN: Monitorear el tráfico del CDN. Si el volumen de descargas es bajo, se podría considerar una configuración más básica o incluso servir directamente desde S3 para los primeros meses, aunque esto impactaría la experiencia del usuario.
- Monitoreo y Reportes:
Conclusión
StoryReel AI tiene un modelo de negocio con un potencial de margen saludable si se gestionan eficazmente los costos de las APIs externas, que son el principal motor de gasto. La implementación de prácticas FinOps desde el principio será crucial para escalar de manera rentable y asegurar la sostenibilidad a largo plazo.
MVP FEATURES
- 01Motor de conversión Texto-a-Video: El usuario introduce un guion y el sistema genera una secuencia de videoclips de stock relevantes con subtítulos automáticos.
- 02Narración con IA (Text-to-Speech): Permite seleccionar entre varias voces de IA para narrar el guion sobre el video.
- 03Kit de Marca Básico: El usuario puede subir su logo y definir un color principal para que se aplique como superposición en los videos generados.
- 04Biblioteca de Música de Fondo: Ofrece una selección limitada de pistas de música libres de derechos para añadir a los videos.
- 05Exportación de Video en HD: Capacidad para descargar el video final en formato MP4 a 720p/1080p.
“Transforma tus guiones en videos profesionales y cautivadores en minutos, sin esfuerzo ni grandes presupuestos.”
Revisad la implementación de la API y probad el flujo de creación para validar nuestra promesa de velocidad y simplicidad.
LexiGuard AI
87LexiGuard AI revoluciona la creación de contenido para industrias reguladas, permitiendo a equipos de marketing y cumplimiento generar textos conformes al instante y con riesgo cero. Con un sólido Health Score del 87% y una UX del 91%, nuestra solución elimina errores costosos, acelera la agilidad del negocio y asegura auditorías impecables.
CompliWrite AI
86CompliWrite AI automatiza la creación de contenido y garantiza el cumplimiento normativo en tiempo real para equipos de marketing y cumplimiento en industrias reguladas como FinTech y Pharma. Con un Health Score del 87% y un margen de beneficio del 91%, la solución reduce drásticamente los ciclos de revisión legal y el riesgo de multas, mientras que su API ofrece una UX robusta (86%) y alta escalabilidad (95%).
ProspectIQ
75ProspectIQ automatiza la generación de mensajes ultra-personalizados para LinkedIn, liberando a los equipos de ventas B2B de la prospección manual. Con un Health Score del 87% y un margen de beneficio del 78%, esta solución escalable (95%) está lista para transformar la forma en que se consiguen leads.