github hugohe3/ppt-master v6.9.0

one hour ago

Image to PPTX gains OCR text evidence, text-removed bases, and checked image layers, and now runs on any vision host with an image_gen.py reference-image backend. Narration adds an OpenAI Realtime provider, image_gen.py can produce animated GIFs on OpenAI gpt-image-2.6, and a round of conversion and round-trip fixes stops sources from being overwritten or silently altered.

Image to PPTX

  • New scripts/image_ocr.py: scan OCRs normalized page images into reviewable text blocks (line boxes, estimated font size, sampled ink color), and the text layer becomes native text over a text-removed base. Removal results are composited back onto source pixels, and merged bases are checked for text left inside removal boxes (37efd01, e55a56f, 574265a, d1619e4).
  • New scripts/image_layers.py: check verifies an extracted layer is registered against the page, diff-matte derives a layer from the page's own pixels, mono-matte cuts a single-color graphic (such as a white logo) cleanly from a key plate, and merges are layer-aware and honour occlusion (bbc8444, 3c5cd65, 4a68cdd, 79d7cf5).
  • The profile is no longer tied to one host: any vision host with a reference-image path works, either host-native editing or image_gen.py --reference-image (OpenAI, Gemini). Every page follows one assembly path; text removal defaults to -b openai and registered layers to -b gemini, with at most two residue retries before a page is marked for manual work (9577d60, 09547b1, 7387d7b, 6b0a2a5, 8e80951).

AI image generation

  • image_gen.py --gif-frames N [--gif-frame-ms MS] returns an animated GIF from OpenAI gpt-image-2.6-*, for new images or to animate an existing one with --reference-image. Frame sizes are fitted to the server's sprite-sheet grids, which were measured on every frame count (db3bfc1).
  • gpt-image-2.6-* models get the same size and quality handling as the 2.5 family (7c0eb65).
  • Each image is written once in its filename's format: a .jpg item keeps Gemini's JPEG bytes unchanged instead of a PNG round trip, and no orphan .png is left behind (8fe777a).
  • In manifest runs, rate limits go straight to the runner, which halves concurrency and honours Retry-After on the first 429 instead of after four backend retries. Successes are persisted from the worker thread, and each completion line reports the delivered pixels (9828c10, 54385b1, 650b583, 946241c).
  • Sheet slicing respects sheets that carry their own transparency, source sheets are protected from being overwritten, and 16-bit grayscale images convert correctly (8db9dc5, 75e1fbf, ce27cae).
  • New AI Image Generation page records measured cost, size limits, text rendering, editing, and GIF behavior of the OpenAI and Gemini models (a99224b).

Narration

  • notes_to_audio.py --provider openai uses gpt-realtime-2.1-mini over the Realtime WebSocket (the replacement OpenAI names for tts-1 and gpt-4o-mini-tts, which retire on 2027-01-06). Each page confirms the effective session config before accepting audio. Recording-based custom voices work with --voice-id voice_... (ec4ca8b, c67ca5f, 4c449a1, 82468e8).

Edit Native PPTX round trip

  • An export -o that points at the source or originally imported PPTX is refused before anything is written; previously it replaced the source, and later exports failed the source fingerprint (1d31b9e).
  • Edited native objects stay faithful on export (9b05035).

Source conversion (source_to_md)

  • Output paths that resolve or hardlink to an input are refused, so a pre-existing alias can no longer overwrite a source DOCX/XLSX; same-title web pages in one batch get distinct files (087cb94).
  • PDF: soft masks, rotated table text, and table cell order are kept; header and footer bands are classified in displayed page coordinates (7d1fdd7, 719786f, 545e7fe).
  • DOCX and Pandoc: resource links, imports, and text stay faithful, and Pandoc includes resolve from the source with their media (21437a5, 1123e72). Charts keep their category context and literal Office text (fc627fe).

Templates, icons, and the live preview editor

  • Re-installing a template replaces its Installed-from line instead of stacking another (edc204a).
  • Each embedded icon instance gets its own internal IDs, so repeated icons no longer collide (1d35572).
  • The SVG editor keeps typed keys in form fields, shows raster data-URI images, and verifies that a running server is its own before reusing or stopping it (afad284, afbfcd1).

Community

  • ModelGo joins as a corporate sponsor, and the README states that only the tool is free, not model tokens (f7fd339, 263525c, 2e8238a, 9c39bf3).

Don't miss a new ppt-master release

NewReleases is sending notifications on new releases.