Skip to main content

TinyWorld

TinyWorld is a Python library + CLI that generates short, dynamic, colorful videos with:

  • Text & Image shapes
  • Transitions (fade in/out, move, rotate, scale)
  • TTS Audio (powered by Google gTTS)
  • Scene-based timeline
  • Automatic final MP4 creation

Installation

pip install tinyworld

Usage (CLI)

  1. Create a JSON script (e.g. example.json) describing your config, tts text, scenes, shapes, transitions.
  2. Run:
tinyworld example.json

This will produce frames, generate TTS audio if present, and create a final MP4 (the default is tinyworld_output.mp4 or whatever you set in config).

Demo

{
  "config": {
    "width": 640,
    "height": 360,
    "fps": 30,
    "bg_color": "white",
    "font_path": null,
    "font_size": 32,
    "output_file": "my_dynamic_video.mp4",
    "tts_lang": "en"
  },
  "tts": "Welcome to the tiny world! Here, shapes and images come to life with simple transitions.",
  "scenes": [
    {
      "duration": 5,
      "bg_color": "white",
      "shapes": [
        {
          "type": "text",
          "id": "intro_text",
          "text": "Hello, TinyWorld!",
          "x": 320,
          "y": 180
        }
      ],
      "transitions": [
        {
          "name": "FadeIn",
          "shape_id": "intro_text",
          "start_time": 0,
          "end_time": 2
        }
      ]
    },
    {
      "duration": 4,
      "bg_color": "white",
      "shapes": [
        {
          "type": "image",
          "id": "logo_img",
          "image_path": "logo.png",
          "x": 200,
          "y": 180
        }
      ],
      "transitions": [
        {
          "name": "Move",
          "shape_id": "logo_img",
          "start_time": 0,
          "end_time": 3,
          "start_pos": [200, 180],
          "end_pos": [440, 180]
        },
        {
          "name": "Rotate",
          "shape_id": "logo_img",
          "start_time": 1,
          "end_time": 4,
          "start_angle": 0,
          "end_angle": 720
        }
      ]
    }
  ]
}

Watch the demo video

Features

  • Scene-by-scene animation
  • Easy text or image shapes
  • Move, rotate, scale, fade in/out
  • TTS to add narration over the video
  • JSON-based script means no coding needed
  • Uses MoviePy to merge frames & audio

Metadata

Release files for tinyworld 0.1.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 tinyworld 0.1.0
File Size Uploaded
tinyworld-0.1.0.tar.gz 8.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tinyworld 0.1.0
File Interpreter ABI Platform
tinyworld-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 18.3 kB

Release files / tinyworld-0.1.0.tar.gz

Download URL tinyworld-0.1.0.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
19059b725ec08f1a06dcc3e8754bc46dbaa360e0710684ef993936432473e95a
BLAKE2b-256 checksum
How to use checksums
37f49a76666cb2b0738b168d2056bf9aad371016e65ebaccc3b16ecd29b79813
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / tinyworld-0.1.0-py3-none-any.whl

Download URL tinyworld-0.1.0-py3-none-any.whl
Size 9.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d7380a687dc77f9ca16ba251afc8eab6f4a3074a22897619b5ba7a0d4e3ecc53
BLAKE2b-256 checksum
How to use checksums
826e2e569392d253d7b079d477fc71274452832201e260f24c37bf0d6d73eabb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.1.0 This release

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