Capabilities
Everything the tool can do, and the permission each part needs. Most of it touches no platform at all — production happens entirely on the operator's machine, and only the last two commands talk to YouTube or TikTok.
Commands
| Command | What it does | Platform access |
|---|---|---|
run |
Produces the long video: script, narration, slides, assembly, captions, transcript, thumbnail, metadata. | None |
short |
Produces a vertical 1080×1920 short with burned-in captions. | None |
publish |
Resumable upload to YouTube, with thumbnail, caption track and scheduled publication time. | youtube.upload, youtube.force-ssl |
tiktok |
Uploads the video to the authorized TikTok account with its own caption text. | user.info.basic, video.upload |
update |
Corrects metadata on a video already published to the operator's channel. | youtube.force-ssl |
link |
Points a short at its long version, so the two reference each other. | youtube.force-ssl |
Uploading requires the --enviar flag. Without it, the publishing commands print
what they would send and stop.
Production — no platform access
Text extraction
Reads .epub, .pdf and .txt from the operator's own library into structured input. The whole book, not only its first pages.
Script and narration
A language model drafts the script in its own words; a text-to-speech service synthesises the voice track. Narration length is measured, not estimated.
Slides and assembly
Slides render in headless Chrome; ffmpeg assembles video, audio and timing into the finished file.
Captions and thumbnail
An .srt track and a full transcript, plus a thumbnail built from the edition cover the operator supplied.
Three languages
Portuguese, English and Spanish, each with a block pointing at the other two versions of the same video.
Tracking
A CSV recording what exists, in which language, and where it has been published. A spreadsheet, not a database.
Not supported, on purpose
These are not gaps waiting to be filled. Each one is a permission not requested, or a risk not taken:
| Absent | Why |
|---|---|
| Graphical interface | One operator, a terminal. An interface would serve nobody who does not already have the machine. |
| User accounts, third-party login, multi-user | The tool authorizes one account per platform. There is nobody else to authorize. |
| Public API | Nothing is exposed. There is no endpoint to call. |
| Automatic scheduler | No cron, no daemon. Every publication is a command someone typed. |
| Reading comments, followers or analytics | Read in each platform's own app. Requesting the scope would widen exposure for no gain. |
| Automated likes, follows or comments | Prohibited by both platforms, and not wanted. Engagement is done by a person. |
| Downloading other creators' content | There is no ingest path from the platforms. Files only go out. |
| Database or hosted server | Nothing to host, and no second user to host it for. State is files on a disk. |
| Analytics reports | Not built. The CSV tracks what was published, not how it performed. |
If a new capability ever needs a permission not listed here, it is requested explicitly, the operator re-authorizes, and the Privacy Policy is updated before the change takes effect.