Slide JPEG export

Slide JPEG export

Export each slide as a JPEG for previews, thumbnails, social posts, vision checks, or golden regression — without running full video export.

For automated QA (manifest rules, golden MD5, MP4 seek frames), see Slide QA.


YAML

Set a directory relative to the deck YAML file:

slide_images_dir: slide_images/heygen-50590-images
skip_title_slide: true    # optional: no auto title slide (hook opens at t=0)

After a normal build, JPEGs are written as slide-001.jpg, slide-002.jpg, … under that folder.

Use a variant-specific folder (as above) when multiple decks share examples/ so golden sets do not overwrite each other.


Commands

Command Purpose
praisonaippt build-slide-images -i deck.yaml Build PPTX (with auto calibration when enabled) and export JPEGs
praisonaippt export-slide-jpegs deck.pptx Export JPEGs from an existing PPTX only
praisonaippt -i deck.yaml -o deck.pptx Exports JPEGs automatically when slide_images_dir is set
praisonaippt -i deck.yaml -o deck.pptx --export-slide-jpegs Force JPEG export even without slide_images_dir

Build from YAML (PPTX + JPEGs)

praisonaippt -i examples/heygen-50590-video-audio-heygen-images.yaml \
  -o examples/heygen-50590-video-audio-heygen-images.pptx

Export from existing PPTX

praisonaippt export-slide-jpegs examples/heygen-50590-video-audio-heygen-images.pptx \
  --slide-images-dir examples/slide_images/heygen-50590-images

HeyGen 50590 examples

Deck slide_images_dir Slide count
Content master (with title) slide_images 8+
Images variant (full-bleed heroes) slide_images/heygen-50590-images 7 (skip_title_slide: true)

Images variant build:

praisonaippt -i examples/heygen-50590-video-audio-heygen-images.yaml \
  -o examples/heygen-50590-video-audio-heygen-images.pptx \
  --convert-video --video-output examples/heygen-50590-video-audio-heygen-images.mp4

Outputs:


JPEG vs MP4 preview

Slide type JPEG MP4
avatar_quote Quote only, or grey PiP if jpeg_show_pip_preview: true Live HeyGen PiP
avatar_media_3 Full-bleed media + floating text panel; PiP may be placeholder Live PiP over composited slide
big_number, deck_* Baked layout Same + live PiP when avatar_video_path set

Always review mp4-slide-*.jpg for PiP-centric QA — see Slide QA.


Golden regression

Commit reference JPEGs under pipeline.golden_slide_dir. CI compares MD5 on each build:

pipeline:
  golden_slide_dir: slide_images/heygen-50590-images/golden

Rebaseline after intentional visual changes:

cp examples/slide_images/heygen-50590-images/slide-*.jpg \
   examples/slide_images/heygen-50590-images/golden/

Requirements

Uses the same LibreOffice → PDF → pdftoppm pipeline as video export (LibreOffice + poppler). FFmpeg is not required for JPEG export alone (FFmpeg is used for MP4 frame QA).