Convenience endpoint for demos:
- POST /api/generate with topic + optional templateId
- Runs research → script → voice → editor in sequence
- Returns video URL and metadata in single response
- Supports dryRun mode for testing without API keys
- Validates duration (15s-3min)
Example:
POST /api/generate
{ "topic": "Why cats rule", "templateId": "duo-explainer", "dryRun": true }
7 new tests, 323 total passing.
Script stage now supports:
- Format types: monologue, dialog, story, listicle, debate
- Character dialog with speaker assignments
- Template-based pacing (words per minute)
- Custom hook styles and CTA text
- Format-specific LLM prompts
Example: dialog format with 2 characters generates alternating
speaker lines with personality-appropriate content.
Editor stage now:
- Accepts templateId or template config from pipeline metadata
- Converts template to Remotion props
- Selects appropriate Remotion composition based on template style
- Includes template info in render metadata
This completes the flow:
template selection → pipeline creation → stage execution → video render
- templateToRemotionProps(): converts VideoTemplate → Remotion props
- getBackgroundUrl(): extracts background URL from visuals config
- calculateDurationInFrames(): calculates video length from script
This bridges the template system with the Remotion rendering layer,
allowing pipelines to go from template selection → rendered video.
Root.tsx now includes:
- TemplateVideo: generic template-based composition
- RedditMinecraft: viral reddit story + gameplay preset
- BedtimeStory: cozy children's story preset
- DialogExplainer: character dialog preset
Each composition has sensible defaults demonstrating the style.
Agents can render these directly or pass custom props.
Advanced video rendering component supporting:
- Multiple visual styles (gameplay, broll, gradient, static)
- Caption styles (bold, subtle, karaoke, speech-bubble)
- Word-by-word caption animation
- Character dialog mode with speech bubbles
- Color grading (warmth, saturation, vignette)
- Watermark support
- End card with CTA
This component reads template config and renders accordingly,
enabling the same pipeline to produce wildly different videos
based on template selection.
- GET /api/templates - list templates with filtering
- GET /api/templates/[id] - get full template by ID
- GET /api/templates/presets - list available presets
Query params:
- category: filter by template category
- platform: filter by platform support
- search: search by name/description/tags
9 new tests added, 316 total passing.
- Added @remotion/bundler to dependencies
- Fixed __dirname for ESM compatibility in render-video.ts
- Video rendering now works: tested with demo data, produces valid MP4
Cherry-picked from PR #42 by Kai/Reloded:
- Real OpenAI gpt-4o-mini integration for research stage
- Real OpenAI integration for script stage
- dryRun support for voice and visual stages
- STAGES.md documentation
- Updated README with Kai as contributor
Note: CI workflow excluded due to GitHub App permission constraints.
Will need to be added by hackathon org or via manual PR.
- Real-time pipeline progress tracking
- Stage-by-stage status with agent assignments
- Completion percentage and ETA
- Contributor list with contributions
- Time estimates per stage
[Backend] Kai
Co-authored-by: Kai <kai@openclaw.ai>
- Claim multiple stages in single request
- Max 10 stages per batch
- Partial success handling (some fail, others succeed)
- Validates stage availability and pipeline status
- Returns detailed results per stage
[Backend] Kai
Co-authored-by: Kai <kai@openclaw.ai>
- Creates sample pipelines for testing and demos
- 5 pre-defined AI/agent topics
- Configurable count (1-5 pipelines)
- Optional clearExisting flag to reset
- GET endpoint shows available topics
[Backend] Kai
Co-authored-by: Kai <kai@openclaw.ai>
- Returns OpenAPI 3.0.3 spec for all API endpoints
- Documents pipelines, stages, agents, and stats APIs
- Includes component schemas for Pipeline and Stage
- CORS enabled for cross-origin access
- Useful for agent-to-agent integration
[Backend] Kai
Co-authored-by: Kai <kai@openclaw.ai>
- Returns detailed stats for a specific agent
- Shows completed stages with breakdown by type
- Calculates pending rewards (unclaimed contributions)
- Includes recent work history and attribution records
- Adds comprehensive test coverage (6 tests)
[Backend] Kai
Co-authored-by: Kai <kai@openclaw.ai>