IPSuccess API.
History

Changelog

The tool is at version 0.1.0 and has been in development since August 2026. Entries below are the actual changes, newest first. There is no release cadence: things change when the operator hits a problem worth fixing.

September 2026

September 7 — Titles and coverage

Stopped ending generated titles on a preposition. Gave an entry point to the five books that had none. Started measuring narration length instead of estimating it, so video timing matches the actual audio.

September 6 — Never return an empty book

A filter meant to strip front matter could delete an entire book when the file was a single document with a generic page title, and it failed silently — surfacing much later as "text too short". Now a document over a size threshold is never treated as front matter, and if the filter would remove everything, it returns everything instead.

September 5 — PKCE, title validation, short timing

The YouTube authorization flow moved to PKCE (S256), so the authorization code cannot be exchanged by anyone who obtains it without the verifier. Titles YouTube would reject are now blocked before upload rather than after. Shorts carry their scheduled hour.

September 5 — TikTok publishing

Added publishing to TikTok, with caption text handled separately so it is not mangled by the formatting used for YouTube descriptions.

September 4 — Reliability of captions, shorts and reading

Stopped losing the caption track and the short when one was left as a draft. Started reading the whole book rather than only its opening pages. Added an opening and closing that address the viewer directly.

September 2 — Script duration and cover checks

Fixed the target duration of the script, and blocked producing a video carrying the wrong cover.

August 2026

August 28 — Vertical shorts

Added production of vertical 1080×1920 shorts and publishing them to YouTube.

August 27 — Three languages

Added production in Portuguese, English and Spanish from the same source material.

August 26 — First commit

Environment loading and provider-dependent API key selection. The repository starts here.

The repository is private and has a single contributor. Version 0.1.0 is the only version declared; there is no semantic versioning beyond it.