Home - PraisonAI PPT
PraisonAI PPT
Create beautiful PowerPoint presentations from Bible verses in YAML or JSON format with integrated PDF conversion capabilities.
β¨ Features
- π¦ Proper Python Package - Installable via pip with entry points
- π Dynamic verse loading from JSON or YAML files
- π¨ Professional slide formatting with proper placeholders
- π¨ Text highlighting - Highlight specific words or phrases
- π€ Custom font sizes - Set custom font sizes for specific words
- π Multi-part verse support for long verses
- π§ Command-line interface with flexible options
- π Python API for programmatic use
- π PDF Conversion - Convert presentations to PDF with multiple backends
- π Multiple PDF Backends - Support for Aspose.Slides and LibreOffice
- βοΈ Advanced PDF Options - Quality settings, password protection, and more
- π¬ Video export β PPTX β MP4 with avatar PiP and HeyGen timing
- ποΈ Flexible narration β HeyGen MP4 audio (default), external MP3, or TTS
- π― PiP calibration β hybrid face detect + validation diagram (
pip-face-centre) - πΌοΈ Slide JPEG export β
slide_images_dir, golden regression, MP4 frame QA - π Full-bleed hero layouts β
avatar_media_3with floatingtext_panel.anchor - π Layout reference β standard, avatar, and
deck_*slide types with fullslide_styletokens
!!! tip βNew in recent releasesβ
See Recent features for HeyGen variants, audio_source, validation PNGs, and calibration SDK.
Layout and video documentation
| Guide | Description |
|---|---|
| Layouts overview | Choose standard, avatar, or deck layouts |
| Standard slide layouts | verse, list, table, quote, β¦ |
| Avatar layouts & PiP | HeyGen regions, floating PiP, avatar_timeline |
| Deck layouts | Twelve deck_* sales templates |
| Slide style reference | Colours, typography.*, layouts.* |
| Deck reference (YAML or JSON) | Top-level keys, pipeline, video_export |
| Pipeline overview | Deck vs daily single pipelines, quick paths |
| Daily single video | create-news walkthrough build + validation |
| Video QA | Modular validate-qa stages s00βs10 |
| Daily single testing | pytest, gates, spokenβvisual sync, idempotency checklist |
| Pipeline architecture | Modular QA vs build/export, protocols |
| Commands | Full CLI reference (all subcommands) |
| Video + transcript workflow | End-to-end steps, YAML artefacts, automation plan |
| Video export | Compositor, narration modes, CLI |
| Slide transitions | segment_fade, crossfade, wipes; showcase deck |
| HeyGen article examples | Five media variants, assets, build workflow |
| Avatar PiP calibration | Auto crop_x, hybrid face detect, CLI |
| Slide JPEG export | slide_images_dir, build-slide-images |
| Slide QA | Golden MD5, manifest rules, MP4 seek frames |
Preview all docs locally:
pip install -r requirements-docs.txt
mkdocs serve
Open http://127.0.0.1:8000. Site config: mkdocs.yml at the repo root.
π Quick Start
Installation
# Basic installation
pip install praisonaippt
# With PDF conversion support
pip install praisonaippt[pdf-aspose]
# Or with all PDF features
pip install praisonaippt[pdf-all]
Basic Usage
# Create presentation from default verses.yaml
praisonaippt
# Create presentation and convert to PDF
praisonaippt -i verses.yaml --convert-pdf
# Convert existing PPTX to PDF
praisonaippt convert-pdf presentation.pptx
Python API
from praisonaippt import create_presentation, convert_pptx_to_pdf
# Load verses and create presentation
data = load_verses_from_file("verses.yaml")
result = create_presentation(data, convert_to_pdf=True)
print(f"PPTX: {result['pptx']}")
print(f"PDF: {result['pdf']}")
π Key Commands
Presentation Creation
# Basic usage
praisonaippt
# Specify input file
praisonaippt -i my_verses.yaml
# Custom title and output
praisonaippt -i verses.yaml -o output.pptx -t "My Title"
# Use built-in examples
praisonaippt --use-example tamil_verses
PDF Conversion
# Convert existing PPTX to PDF
praisonaippt convert-pdf presentation.pptx
# Create PPTX and convert to PDF
praisonaippt -i verses.yaml --convert-pdf
# Advanced PDF options
praisonaippt -i verses.yaml --convert-pdf \
--pdf-options '{"quality":"high","compression":true}'
π File Format
JSON Format
presentation_title: Your Presentation Title
presentation_subtitle: Your Subtitle
sections:
- section: Section Name
verses:
- reference: Book Chapter:Verse (Version)
text: The actual verse text here.
highlights:
- word1
- phrase to highlight
large_text:
special_word: 200
YAML Format (Recommended)
presentation_title: Your Presentation Title
presentation_subtitle: Your Subtitle
sections:
- section: Section Name
verses:
- reference: Book Chapter:Verse (Version)
text: The actual verse text here.
highlights:
- word1
- phrase to highlight
large_text:
special_word: 200
π§ PDF Conversion Options
{
"backend": "auto", // "aspose", "libreoffice", "auto"
"quality": "high", // "low", "medium", "high"
"include_hidden_slides": false, // Include hidden slides in PDF
"password_protect": false, // Password protect PDF
"password": null, // PDF password
"compression": true, // Compress PDF images
"notes_pages": false, // Include notes pages
"slide_range": null, // [start, end] slide range
"compliance": null // "PDF/A", "PDF/UA" compliance
}
π Output
The package creates a PowerPoint presentation with:
- Title Slide: Shows the presentation title and subtitle
- Section Slides: One for each section in your JSON
- Verse Slides: One slide per verse (or multiple if the verse is long)
Slide Formatting:
- Verse Text: 24pt, centered, black
- Reference: 18pt, centered, gray, italic
- Section Titles: 36pt, blue (#003366)
- Layout: Professional blank layout with custom text boxes
π― Next Steps
- Installation Guide
- Quick Start Tutorial
- Complete Command Reference
- Python API Documentation
- PDF Conversion Guide
- Examples and Templates
- Recent features
- HeyGen article examples
π Support
- GitHub Issues: Report bugs and request features
- Documentation: Full documentation
- PyPI: Package page
Built with β€οΈ for creating beautiful Bible verse presentations