Skip to main content

vidtoolz-add-text

PyPI Changelog Tests License

Add text to a video file using FFmpeg (default) or MoviePy

Demo

Installation

First install vidtoolz.

pip install vidtoolz

Then install this plugin in the same environment as your vidtoolz application.

vidtoolz install vidtoolz-add-text

Note: FFmpeg is required. The plugin will automatically try to use FFmpeg from your system path, or fall back to static-ffmpeg if available.

Usage

type vid addtext --help to get help

usage: vid addtext [-h] [-t TEXT] [-mt MULTI_TEXT] [-o OUTPUT]
                   [-p {top-left,top-right,bottom-left,bottom-right,center,bottom}]
                   [-st START_TIME] [-et END_TIME] [-f FONTSIZE]
                   [-pad PADDING] [-d DURATION] [--use-moviepy] [-x X] [-y Y]
                   main_video

Add text to a video file

positional arguments:
  main_video            Path to the main video file.

optional arguments:
  -h, --help            show this help message and exit
  -t TEXT, --text TEXT  Text to write
  -mt MULTI_TEXT, --multi-text MULTI_TEXT
                        Multi-text in format "text,start,duration". Can be
                        used multiple times. ex "hello,1:20,10"
  -o OUTPUT, --output OUTPUT
                        Output video file name (default: None)
  -p {top-left,top-right,bottom-left,bottom-right,center,bottom}, --position {top-left,top-right,bottom-left,bottom-right,center,bottom}
                        Position of the text (default: bottom)
  -st START_TIME, --start-time START_TIME
                        Start time when text should appear (supports formats like "1:20" or seconds) (default: 0)
  -et END_TIME, --end-time END_TIME
                        End time when text should disappear (supports formats like "1:20" or seconds) (default: None)
  -f FONTSIZE, --fontsize FONTSIZE
                        Fontsize (default: 70)
  -pad PADDING, --padding PADDING
                        Padding (default: 50)
  -d DURATION, --duration DURATION
                        Duration in seconds (default: 4)
  --use-moviepy         If provided, use MoviePy instead of FFmpeg
  -x X, --x X           X position of the overlay (can be number or FFmpeg expression, e.g., 'main_w-text_w')
  -y Y, --y Y           Y position of the overlay (can be number or FFmpeg expression, e.g., 'main_h-text_h')

Examples

Add text at the bottom of the video (default position):

vid addtext -t "Hello World" input.mp4

Add text at a specific position with custom timing:

vid addtext -t "Hello World" -p top-right -st 10 -et 20 input.mp4

Add text with time format (minutes:seconds):

vid addtext -t "Hello World" -st 0:30 -et 1:15 input.mp4

Add multiple text overlays:

vid addtext -mt "Hello,0:10,5" -mt "World,0:20,5" input.mp4

Use MoviePy instead of FFmpeg:

vid addtext -t "Hello World" --use-moviepy input.mp4

Custom positioning with FFmpeg expressions:

vid addtext -t "Hello World" -x 100 -y 100 input.mp4

Development

To set up this plugin locally, first checkout the code. Then create a new virtual environment:

cd vidtoolz-add-text
python -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

python -m pytest

Metadata

Release files for vidtoolz-add-text 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vidtoolz-add-text 0.4.2
File Size Uploaded Provenance
vidtoolz_add_text-0.4.2.tar.gz 12.9 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for vidtoolz-add-text 0.4.2
File Interpreter ABI Platform
vidtoolz_add_text-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 24.3 kB

Release files / vidtoolz_add_text-0.4.2.tar.gz

Download URL vidtoolz_add_text-0.4.2.tar.gz
Size 12.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a9266d75efbd3b82bb29c5932e75f4bdc7851cacc8682a7ea4ce73690a167f2f
BLAKE2b-256 checksum
How to use checksums
7205dcdc8b13ba69b8c4b2dbd0fb50c34df2fad30c64447448eef064bd024707
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vidtoolz_add_text-0.4.2-py3-none-any.whl

Download URL vidtoolz_add_text-0.4.2-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
35bb86d7d12f014cc74ccc9b8064a417a0949380684c4b72f2335cb5955b9b29
BLAKE2b-256 checksum
How to use checksums
6464598f44b2597c49ebef1923bbfcad166839f2e863e66802ed1acc4a48fff0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Security for vidtoolz-add-text 0.4.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for vidtoolz_add_text-0.4.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page