video-generation-ai is an AI-powered short-form video generation platform. A user supplies a topic or text prompt together with a video style, language, voice type and video format, and the platform researches the topic, writes a hook and a 30–40 second storytelling script, splits it into 6–10 scenes, fetches matching stock visuals, generates narration with text-to-speech, and renders a finished MP4 with cinematic motion, dynamic word-level captions and background music — optimised for Instagram Reels, YouTube Shorts and TikTok.
The platform specialises in viral social-media videos across Sports, Cricket, Football, Tennis, NBA, Current Events, Finance, Motivation and Technology, and targets the visual quality of MagnatesMedia, Goalcast, ESPN social clips and modern AI short-form creators.
The audience is creators and social teams who need speed, control and a screen that moves like the output they are producing.
The product is a first-party web application. All authoring, project management, render tracking and settings live in the application's own UI; the AI model, stock-media and text-to-speech providers are called by the application's backend and are never the user's working surface.
Because projects, scripts, generated assets, render history and user settings are durable, user-owned records, the application owns identity: a new user enrolls through Sign Up, a returning user verifies through Login, and both entry surfaces are reachable anonymously. Every other destination requires a signed-in session. There is no differentiated permission model — every signed-in user sees and manages their own projects, renders and settings.
Rendering is asynchronous. Submitting a generation request enqueues a render job; the user watches progress on Create Video, and the finished MP4 becomes available on Project Details for playback and download. Background automation (research, script generation, asset fetching, TTS, Remotion render, FFmpeg export) is system work, but every human-facing step — entering inputs, watching progress, recovering from an error, reviewing the result, downloading — has a first-party owner.
Current scope is the full generation lifecycle described above. Nothing in the accepted requirements is deferred to a future horizon.
Not applicable — no reference directive declares content_source.
FR-1 — Enter generation inputs (explicit) As a Video Creator I should enter a topic or text prompt, a video style, a language, a voice type and a video format (9:16, 16:9 or 1:1) on Create Video, so that the platform knows what to make.
FR-2 — AI analyses the input (explicit) As a Video Creator I should have the AI analyse my input and produce a video title, story script, scene breakdown, voiceover script, captions and visual prompts, so that the video has authored content.
FR-3 — Split into 6–10 scenes (explicit) As a Video Creator I should have the content split into 6–10 scenes, so that the video has the required scene structure.
FR-4 — Per-scene asset and caption work (explicit) As a Video Creator I should have each scene's image prompt generated, relevant stock images or videos fetched, motion effects created and captions generated, so that every scene is visually and textually complete.
FR-5 — Scene record shape (explicit)
As a Video Creator I should have each scene contain id, duration, narration, caption, visualPrompt, transition and image/videoAsset, so that the scene data is complete and renderable.
FR-6 — TTS narration (explicit) As a Video Creator I should have narration generated with text-to-speech in my chosen voice type and language, so that the video is voiced.
audioUrl.FR-7 — Remotion cinematic render (explicit) As a Video Creator I should have Remotion render cinematic animations — zoom, pan, Ken Burns, text animations, scene transitions and background music — so that the output looks like modern social video.
FR-8 — MP4 export (explicit) As a Video Creator I should have the final video exported as an MP4 file, so that I can publish it.
videoUrl.FR-9 — Duration and structure (explicit) As a Video Creator I should get a 30–40 second video structured as Hook (0–5 sec), Main Content (5–30 sec) and Summary/CTA (30–40 sec), so that the pacing matches short-form expectations.
FR-10 — Word-level captions (explicit) As a Video Creator I should get word-level captions that highlight the active word, break lines automatically and stay synchronised with the subtitle, so that viewers can follow along.
FR-11 — Generation API (explicit)
As a Video Creator I should have POST /api/generate-video accept { "prompt": "..." } and return { title, script, scenes, audioUrl, videoUrl, duration }, so that generation is available through a defined contract.
FR-12 — Durable storage (explicit) As a Content Producer I should have projects, scripts, generated assets, render history and user settings stored durably, so that work survives across sessions.
FR-13 — Queue, progress, errors, caching, parallel downloads (explicit) As a Video Creator I should have rendering run through a queue with progress tracking, error handling, asset caching and parallel asset downloads, so that renders are reliable and fast.
FR-14 — Topic specialisation (explicit) As a Video Creator I should be able to make videos on Sports, Cricket, Football, Tennis, NBA, Current Events, Finance, Motivation and Technology, so that the platform fits my niche.
FR-15 — Research, hook and storytelling script (explicit) As a Video Creator I should have the AI research the topic, write an engaging hook and create a 30–40 second storytelling script, so that the video opens strong and holds attention.
FR-16 — Visual selection, dynamic subtitles, background music (explicit) As a Video Creator I should have the AI select matching visuals, add dynamic subtitles and add background music, so that the video is complete without manual editing.
FR-17 — Vertical 1080x1920 and social optimisation (explicit) As a Video Creator I should get a vertical 1080x1920 video optimised for Instagram Reels, YouTube Shorts and TikTok, so that it publishes cleanly on those platforms.
FR-18 — Social animation style (explicit) As a Video Creator I should get a modern social-media, Instagram Reel and TikTok style with dynamic subtitles, smooth transitions and an attention-grabbing opening, so that the video feels native to short-form feeds.
FR-19 — Self-service enrollment and returning verification (required_inference) As a Video Creator I should be able to enroll on Sign Up or verify on Login before reaching protected work, so that my projects, renders and settings stay mine.
FR-20 — Submit inputs to start a render (required_inference) As a Video Creator I should submit my prompt, style, language, voice type and format on Create Video to start a render, so that the job enters the queue.
FR-21 — Queue completion before download (required_inference) As a Video Creator I should see the render queue complete before the MP4 download becomes available, so that I never download an incomplete file.
id, duration, narration, caption, visualPrompt, transition and image/videoAsset.AbsoluteFill, Sequence, spring(), interpolate(), Audio, Img, Video, useCurrentFrame() and useVideoConfig() across VideoComposition.tsx, SceneRenderer.tsx, CaptionRenderer.tsx, TransitionManager.tsx, ImageAnimator.tsx, AudioManager.tsx and RenderService.ts.videoUrl with audioUrl and duration.Following the Yugo Nakamura kinetic-frames direction.
#0E0E10; surface #1A1A1E; text #F4F2EC; primary #FF4D2E; accent #D8FF3E; muted #8A8A93. Charcoal ground holds roughly 80% of each screen; signal orange marks the render action and active states; acid lime marks progress and live frames; text stays #F4F2EC on both grounds.-0.03em, sentence case; body DM Sans; scale ratio 1.25; display clamp(40px, 7vw, 96px); H1 48px; H2 32px; body 16px; label 12px uppercase.clamp(...); imagery and decoration may crop, bleed, rotate or overlap but never cover readable text or controls.The public entry is a full-bleed charcoal stage holding one oversized line — "TYPE. RENDER. POST." — set in Space Grotesk at 96px. Each word reacts to the cursor and shifts on its own axis, splitting and sliding apart as the pointer moves near it. A 9:16 phone frame floats at the right edge, tilting with the pointer, showing a live motion clip. The orange render button pins under the headline and routes to Sign Up. A lime progress rule can sweep across the top of the stage as a preview of the render experience. The concept recomposes only accepted content — the headline, the format preview, the render call-to-action and the topic strip — and introduces no new behaviour.
Interaction Model: Animated Motion Tempo: cinematic Hero Dimensionality: layered_2d
Landing Hero Motion Brief
prefers-reduced-motion; readable text and controls stay whole at 375px, 768px and 1280px (explicit, from the creative direction).VideoComposition.tsx, SceneRenderer.tsx, CaptionRenderer.tsx, TransitionManager.tsx, ImageAnimator.tsx, AudioManager.tsx and RenderService.ts, using AbsoluteFill, Sequence, spring(), interpolate(), Audio, Img, Video, useCurrentFrame() and useVideoConfig() (explicit).POST /api/generate-video contract accepts { "prompt": "..." }; the additional inputs are carried alongside it as the accepted workflow requires.id, duration, narration, caption, visualPrompt, transition and image/videoAsset.
AI video for Reels, Shorts and TikTok
30–40 second story videos written, voiced and rendered from one prompt.
From one prompt to a finished vertical reel — type, render, post.

AI video for Reels, Shorts and TikTok
30–40 second story videos written, voiced and rendered from one prompt.
From one prompt to a finished vertical reel — type, render, post.
No comments yet. Be the first!