Inspiration
Video production has always been a craft reserved for those with technical skill, expensive tools, or years of experience. A small business owner with a great product, a teacher with a compelling lesson, a creator with a story to tell — they all hit the same wall: turning an idea into a polished video requires knowing how to direct, not just what to say.
When Amazon Nova Reel launched, it solved the generation problem. But there was still a gap: users needed to write detailed, cinematically-aware prompts for every shot. That's still a skill most people don't have.
That gap became the inspiration for ContentCraft AI — what if an AI could think like a director, not just execute like a renderer?
What It Does
ContentCraft AI is a serverless video production platform with an agentic AI Director at its core.
- The user describes their video idea in plain language — no prompt engineering, no technical knowledge required.
- The Nova Director Agent (powered by
amazon.nova-pro-v1:0) reasons about the creative goal: narrative arc, visual style, shot composition, pacing, and purpose of each scene. - It returns a complete multi-shot production plan — title, creative reasoning, overall style, and detailed cinematic prompts for each shot.
- The user reviews and edits the plan, then submits it for generation via
amazon.nova-reel-v1:1. - The completed video is delivered with an HTML email notification via Amazon SES.
The key insight: the agent doesn't just generate text — it reasons about storytelling structure. Every plan follows a director's instinct: establish → develop → resolve.
How I Built It
The stack is fully serverless on AWS:
- Amazon Bedrock (Nova Pro) — Director Agent reasoning via the Converse API
- Amazon Bedrock (Nova Reel) — Async video generation
- AWS Lambda — Five functions: submit, process, status, list jobs, director agent
- Amazon API Gateway — REST API with Cognito authorization
- Amazon DynamoDB — Job tracking with DynamoDB Streams triggering processing
- Amazon S3 — Video and image storage with pre-signed URLs
- Amazon Cognito — Authentication (admin-created users, no self-signup)
- Amazon SES — Branded HTML email notifications on job completion
- Amazon SNS — User-specific filter policies for notifications
- AWS Amplify — Frontend hosting
- AWS CDK (Python) — Full infrastructure as code
The frontend is React + TypeScript + Vite + Tailwind CSS.
The Director Agent uses a carefully crafted system prompt that instructs Nova Pro to think cinematically — enforcing rules like 6-second shot durations, 2–20 shots per plan, and vivid 50–150 word prompts per shot. The agent's output is validated and parsed before being handed to the user for review.
Challenges
Getting the agent output to be reliably structured was the hardest part. Large language models don't always return clean JSON. I built a robust parser that strips markdown code fences, validates required fields, and enforces shot constraints — so the UI never breaks regardless of what Nova returns.
Async video generation UX was tricky. Nova Reel jobs can take several minutes. Designing a status panel that auto-polls, shows meaningful progress states (SUBMITTED → PROCESSING → COMPLETED), and surfaces the video inline without raw job IDs or S3 URLs required significant UI work.
Cognito self-signup policy — our org policy disables self-signup, which meant rethinking the onboarding flow entirely and documenting admin-only user creation clearly.
Prompt quality at scale — Nova Reel is sensitive to prompt quality. The Director Agent needed to produce prompts that were specific enough to generate coherent visuals but not so constrained that they broke the model. Finding that balance through iteration was time-consuming but critical.
What I Learned
- The Bedrock Converse API is remarkably capable for structured reasoning tasks when given a well-designed system prompt — it's not just chat, it's a reasoning engine.
- Agentic AI doesn't have to mean complex tool-calling chains. Sometimes a single well-reasoned inference step, with the right constraints, is more reliable and more impressive than a multi-step agent loop.
- DynamoDB Streams as a processing trigger is an elegant pattern for async workloads — decouples submission from processing cleanly.
- Building for a hackathon deadline forces good prioritization: ship the core agentic loop first, polish the UI second, document third.
What's Next
- Mood board support — upload reference images; Nova Pro analyzes visual style and reflects it in the shot plan (multimodal)
- Iterative refinement — multi-turn conversation with the Director Agent to refine the plan before generating
- Shot storyboard preview — generate still image previews per shot before committing to video generation
- Nova Image integration — generate video thumbnails and posters automatically
Built With
- amazon-dynamodb
- amazon-ses
- amplify
- bedrock
- cdk
- cognito
- nova-pro
- nova-reel
- python
- react
- s3
- typescript
Log in or sign up for Devpost to join the conversation.