How shayanhaider2005/ai-documentry-genrator works
DocuBot turns a lecture PDF into a narrated, scene-based documentary, through either the chat-style website or a headless pipeline. The main stages are PDF extraction and cleanup, script generation, visual selection, voice synthesis and timing, then Remotion preview or MP4 rendering. The website also supports document-grounded Q&A and optional voice cloning. README-described capabilities are included where source excerpts are incomplete; those limits are reflected by omitting uncertain wiring.
Main entry points: web.js HTTP API and jobs · pipeline.js Generation orchestration · App.tsx Studio application · DocumentaryVideo.tsx Remotion composition
Components 22
Web Studio
- Studio application
Documentry-ai-genrator/web/src/App.tsx - Studio components
Documentry-ai-genrator/web/src/components.tsx - API client
Documentry-ai-genrator/web/src/api.ts
Web Service
- HTTP API and jobs
Documentry-ai-genrator/server/web.js - Session state
Documentry-ai-genrator/server/web.js - Document Q&A
Documentry-ai-genrator/server/web.js
Documentary Generation
- PDF extraction
Documentry-ai-genrator/server/parsePdf.js - Generation orchestration
Documentry-ai-genrator/server/pipeline.js - LLM provider access
Documentry-ai-genrator/server/llm.js - Stock visual lookup
Documentry-ai-genrator/server/pipeline.js - Voice synthesis
Documentry-ai-genrator/server/tts.js
Video and Assets
- Scene dataset
Documentry-ai-genrator/src/dataset.json - Narration audio
Documentry-ai-genrator/public - Word timing resolution
Documentry-ai-genrator/src/wordTimings.ts - Remotion composition
Documentry-ai-genrator/src/DocumentaryVideo.tsx - MP4 rendering
Documentry-ai-genrator/server/render.js - Rendered video
Documentry-ai-genrator/server
Other components
- Website user
- CLI user
- LLM providers
- Pexels
- ElevenLabs
Connections 28
- Website user → Studio application: uses
- Studio application → Studio components: renders
- Studio application → API client: requests
- API client → HTTP API and jobs: calls API
- HTTP API and jobs → Session state: reads/writes
- HTTP API and jobs → PDF extraction: parses upload
- HTTP API and jobs → Document Q&A: handles Q&A
- Document Q&A → LLM provider access: requests answer
- LLM provider access → LLM providers: calls provider
- HTTP API and jobs → Generation orchestration: starts generation
- CLI user → Generation orchestration: runs pipeline
- Generation orchestration → PDF extraction: extracts text
- Generation orchestration → LLM provider access: generates script
- Generation orchestration → Stock visual lookup: requests visuals
- Stock visual lookup → Pexels: searches images
- Generation orchestration → Voice synthesis: synthesizes scenes
- Voice synthesis → ElevenLabs: clones voice
- Generation orchestration → Narration audio: writes narration
- Generation orchestration → Scene dataset: writes scenes
- HTTP API and jobs → MP4 rendering: starts render
- MP4 rendering → Scene dataset: renders from
- MP4 rendering → Rendered video: writes MP4
- Studio application → Remotion composition: previews scenes
- Studio components → Remotion composition: hosts player
- Remotion composition → Word timing resolution: resolves highlights
- Remotion composition → Narration audio: plays narration
- HTTP API and jobs → Narration audio: serves audio
- HTTP API and jobs → Rendered video: serves video