Skip to main content

TivalVideo Offline 0.4.0

Create narrated vertical Shorts or landscape videos from images, entirely offline after the first setup. TivalVideo uses a managed FFmpeg executable for video rendering and Piper for local AI narration.

Version 0.4.0 can add AI narration or a recorded voice to existing MP4 screen recordings. Choose whether to replace, mix, or automatically duck the video's original sound.

Narrate a screen recording

```python from tivalvideo import add_narration

add_narration( video="screen-recording.mp4", narration="Welcome. First, open the project folder.", voice="en_US-lessac-medium", original_audio="duck", original_volume=0.25, output="screen-recording-narrated.mp4", ) ```

Use your own MP3 or WAV recording instead:

```python add_narration( video="screen-recording.mp4", audio="my-voice.mp3", original_audio="mix", output="tutorial.mp4", ) ```

Audio modes:

  • `replace` removes the screen recording's original sound.
  • `mix` plays the original sound and narration together.
  • `duck` lowers the original sound while narration plays.

```bash tivalvideo narrate screen-recording.mp4 \ --narration narration.txt \ --original-audio duck \ --output tutorial.mp4 ```

Install

python3 -m venv .venv
source .venv/bin/activate
pip install .

pip automatically installs FFmpeg and Piper dependencies. The first video automatically downloads the approximately 61 MB Piper voice model, or you can prepare it explicitly:

tivalvideo setup

After setup, disconnect from the internet and create videos offline.

Narrator voices

See all included voices and which ones are installed:

tivalvideo voices list

Install additional voices only when you need them:

tivalvideo voices install en_US-amy-medium
tivalvideo voices install en_US-joe-medium
tivalvideo voices install en_GB-alan-medium

Each medium voice is approximately 63 MB and stays cached for offline use.

Choose a voice in Python:

from tivalvideo import create_video

create_video(
    typing_text="The history of Python",
    narration="Python was created by Guido van Rossum.",
    voice="en_GB-alan-medium",
    background="midnight",
    output="python-history.mp4",
)

Available narrator keys:

  • en_US-lessac-medium (default, American English)
  • en_US-amy-medium (American English)
  • en_US-joe-medium (American English)
  • en_GB-alan-medium (British English)

The selected voice downloads automatically on first use. Remove an unused voice with:

tivalvideo voices remove en_US-amy-medium

Python example

from tivalvideo import create_video

create_video(
    images=["lesson1.png", "lesson2.png", "lesson3.png"],
    narration="Learn TivalTube with these simple examples.",
    output="tivaltube-short.mp4",
)

Auto-typing video

Create a complete Short without supplying lesson images:

from tivalvideo import create_video

create_video(
    typing_text="Welcome to my Python lesson!",
    narration="Welcome to my Python lesson.",
    background="ocean",
    output="typing-short.mp4",
)

Built-in background choices are midnight, ocean, sunset, and paper.

Use your own background image:

create_video(
    typing_text="Learn Python step by step",
    audio="my-recorded-voice.mp3",
    background_image="my-background.jpg",
    output="custom-short.mp4",
)

Recorded voice and music

Use recorded voice instead of AI narration and optionally mix in music:

create_video(
    images=["lesson1.png", "lesson2.png"],
    audio="voice.wav",
    music="background.mp3",
    output="lesson.mp4",
)

Do not pass both narration and audio; they are two alternative voice sources.

Terminal example

Create narration.txt, then run:

tivalvideo create \
  lesson1.png lesson2.png lesson3.png \
  --narration narration.txt \
  --output short.mp4

Use --landscape for a 1920×1080 video:

tivalvideo create *.png -n narration.txt -o youtube.mp4 --landscape

Features

  • 1080×1920 TikTok and YouTube Shorts
  • 1920×1080 landscape videos
  • Offline Piper AI narration
  • Managed FFmpeg binary—no apt install ffmpeg required
  • Blurred full-screen background with centred images
  • Automatic fade transitions
  • H.264 video and AAC audio
  • Automatic voice-model caching
  • Selectable American and British narrator voices
  • Voice list, install, and remove commands
  • Auto-typing text animation
  • MP3/WAV recorded voice and background music
  • Built-in and user-provided auto-typing backgrounds
  • Python API and terminal command
  • Narration for existing MP4 screen recordings
  • Replace, mix, or automatically duck original video audio

Notes

  • The first setup requires internet access for the voice download.
  • Generated videos work from local image files and text only.
  • Keep the voice model cached to remain fully offline.

Powered by tivalsdeveloper.

Metadata

Release files for tivalvideo-offline 0.4.0

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

Source distribution (sdist)

Source distribution for tivalvideo-offline 0.4.0
File Size Uploaded
tivalvideo_offline-0.4.0.tar.gz 13.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tivalvideo-offline 0.4.0
File Interpreter ABI Platform
tivalvideo_offline-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.4 kB

Release files / tivalvideo_offline-0.4.0.tar.gz

Download URL tivalvideo_offline-0.4.0.tar.gz
Size 13.9 kB
Tags Source
SHA-256 checksum
How to use checksums
2a50ca5df886053d8521c02250728b61f38b0bb830fcf4c9e2d7379292b8f34f
BLAKE2b-256 checksum
How to use checksums
e7f5ae9a7cb8cf8430573c6f3f3260c3f6f33a7b42ac11bd349e6cee896583b3
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 Aug 31, 2026.

Transparency log

Release files / tivalvideo_offline-0.4.0-py3-none-any.whl

Download URL tivalvideo_offline-0.4.0-py3-none-any.whl
Size 13.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
75ecd05e7014411ae17807cfa75edbb3d4e65e76f6f5fe1032e9faeb58ab57c7
BLAKE2b-256 checksum
How to use checksums
ec607dbfc8134ff6e1882cfded60e85f6c014f6fe74e6fd86215068ae90935e5
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 Aug 31, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

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