> ## Documentation Index
> Fetch the complete documentation index at: https://docs.origami.techmitten.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Your First AI-Narrated Video from a PDF Deck

> Turn any PDF presentation into a polished, narrated MP4 video in your browser — no uploads, no subscriptions, and no render farm required.

This guide walks you through the complete PDF-to-video workflow in Origami AI, from uploading your first slide deck to downloading a finished MP4. For a short deck (10–20 slides), the whole process takes **5–10 minutes** once models are ready — model downloads only happen once and are covered in Step 2.

<Steps>
  <Step title="Open Origami AI">
    Navigate to [origami.techmitten.com](https://origami.techmitten.com) in Chrome or Edge 113+. On the home screen, click **New Project** to open a blank project, or drag and drop your PDF directly onto the page to jump straight to the upload step.

    Prefer to run Origami AI locally? Clone the repository and start the dev server:

    ```bash theme={null}
    git clone https://github.com/TechMitten/Origami-AI.git
    cd Origami-AI
    npm install
    npm run dev
    ```

    Then open **[http://localhost:3006](http://localhost:3006)** in your browser.

    <Note>
      Always start the local dev server with `npm run dev` rather than opening a static build file directly. The dev server sets the required COOP/COEP security headers that FFmpeg.wasm needs to run.
    </Note>
  </Step>

  <Step title="Wait for model download (first time only)">
    On your very first visit, Origami AI downloads the models it needs to run locally:

    * **Kokoro TTS model** (\~40 MB) — required for speech synthesis. Downloads automatically in the background.
    * **WebLLM model** (800 MB–3.9 GB depending on your choice) — used for generating narration scripts. This is optional.

    Both are cached in your browser's storage and **never downloaded again**. If you'd rather skip the LLM download entirely, you can connect a cloud API instead — open **⚙️ Settings → API** and configure any OpenAI-compatible provider (Gemini, OpenRouter, Groq, Ollama, etc.) before generating scripts.

    <Note>
      You need a stable internet connection for initial model downloads. After that, Origami AI runs completely offline.
    </Note>
  </Step>

  <Step title="Upload your PDF">
    Drag your PDF file into the upload area, or click the upload button to browse for it. Origami AI uses PDF.js to:

    * **Rasterize each slide** into a full-resolution image
    * **Extract the text** from every page for AI script generation

    Large or image-heavy decks may take a few seconds to process. You'll see a thumbnail grid once extraction is complete.
  </Step>

  <Step title="Generate narration scripts">
    Click **Generate Scripts**. The AI drafts a natural, spoken-word narration for each slide based on its text and visual content. Once generation finishes:

    * Open the **Slide Editor** to review every slide's script side by side with its thumbnail.
    * Click any script block to edit the text directly — tweak phrasing, add emphasis, or cut content to tighten your narration.
    * Re-generate a single slide's script at any time without affecting the others.

    <Tip>
      You can customize the narration tone, length, and overall generation behavior in **⚙️ Settings → AI Prompt** before running script generation.
    </Tip>
  </Step>

  <Step title="Generate TTS audio">
    Click **Generate Audio** to synthesize speech for all slides using the Kokoro TTS engine — entirely in your browser, with no server round-trip.

    * **Choose a voice** per slide from the Slide Editor. Options like `af_heart`, `af_bella`, `am_adam`, and `am_michael` offer different pitch and delivery styles.
    * Audio generation runs slide by slide and shows a progress indicator. You can preview each clip as soon as it's ready.

    <Tip>
      Switch between `q8` (higher quality) and `q4` (faster) quantization in **⚙️ Settings → TTS Model** to balance quality and speed for your hardware. You can also toggle **Audio Normalization** in the same panel to control the dynamic range of generated speech.
    </Tip>
  </Step>

  <Step title="Customize in the Slide Editor">
    With scripts and audio in place, fine-tune your video in the Slide Editor:

    | Setting                             | Where to find it                         |
    | ----------------------------------- | ---------------------------------------- |
    | Per-slide script                    | Slide Editor → script block              |
    | Voice selection                     | Slide Editor → voice picker              |
    | Post-audio delay                    | Slide Editor → per-slide timing controls |
    | Transition type (Fade, Slide, Zoom) | Slide Editor → Transition picker         |
    | Background music                    | Slide Editor → Audio tab                 |
    | Per-slide audio volume              | Slide Editor → Audio Mixing              |

    For project-wide defaults — such as the default slide transition, intro fade timing, and post-audio delay — open **⚙️ Settings → General**.

    Use the drag-and-drop timeline to reorder slides if needed.
  </Step>

  <Step title="Configure aspect ratio">
    Choose the aspect ratio that matches your intended output before exporting. Open **⚙️ Settings → General** and select from:

    * **16:9** — standard widescreen, ideal for presentations, YouTube, and LMS uploads
    * **9:16** — vertical format for TikTok, Reels, and Shorts
    * **4:3** — classic presentation format
    * **1:1** — square, popular for Instagram and LinkedIn

    Setting the correct aspect ratio ensures your slides are framed properly and avoids letterboxing or cropping in the export.
  </Step>

  <Step title="Preview your video">
    Click the **Preview** button to play back your entire video before committing to a full export. Check:

    * **Sync** — narration lines up with the correct slide
    * **Pacing** — transitions feel natural and aren't too fast or slow
    * **Audio levels** — music doesn't overpower narration

    Return to the Slide Editor to make any adjustments, then preview again.
  </Step>

  <Step title="Export your MP4">
    When you're satisfied with the preview, click **Export Video** and choose your output resolution:

    * **720p** — faster export and a smaller file; great for web sharing and limited hardware
    * **1080p** — maximum quality for presentations, YouTube, or LMS uploads

    FFmpeg.wasm composes your slides, audio, music, and transitions into a single MP4 directly in your browser. The file downloads automatically to your device when rendering is complete.

    <Note>
      Render time depends on project length and your hardware. A 10-slide deck at 720p typically finishes in under two minutes on a mid-range laptop.
    </Note>
  </Step>
</Steps>

## Tips for Best Results

* **Use PDFs with selectable text.** Origami AI's OCR works best when the source PDF contains real text layers rather than scanned images. If scripts look off, check that text is selectable in your PDF viewer.
* **Keep slides concise.** Shorter, focused bullet points produce tighter narration audio and reduce per-slide render time.
* **Design slides at 16:9.** Standard widescreen aspect ratio produces the cleanest output at both 720p and 1080p without letterboxing or cropping.
* **Regenerate individual slides.** If one script or audio clip doesn't sound right, you can regenerate just that slide without redoing the whole project.
* **Lower the model size if memory is tight.** On machines with limited VRAM, choose Llama 3.2 1B or Gemma 2 2B over larger models in **⚙️ Settings → WebLLM**.

<Tip>
  Save your work at any point by exporting a **project archive**: click the save/archive icon in the project toolbar to download a `.origami` file. This ZIP contains your slides, media, audio, and all settings. To continue later, drag the `.origami` file back into Origami AI or click **Import Project** — everything picks up exactly where you left off, on any device.
</Tip>
