Skip to main content

videopython

PyPI Python License CI

Structured, local-first video editing for Python and AI agents.

Videopython represents an edit as a validated Python model or JSON plan. Whether the plan comes from your code, an LLM, or an MCP client, it renders through the same bounded-memory streaming engine.

Documentation · First edit · API reference · Roadmap

Why videopython?

  • Structured edits — segments and operations are Pydantic models with a generated JSON Schema.
  • Predictable rendering — validate dimensions, timing, and operation constraints before decoding frames.
  • Bounded memory — stream decode, effects, and encode without loading the full source into memory.
  • Local AI — add transcription, scene understanding, generation, dubbing, and automatic editing without cloud inference APIs.
  • Agent-ready tools — expose analysis, planning, validation, and rendering through the included MCP server.

Installation

Install FFmpeg, then choose the package extras you need:

pip install videopython              # core video and audio editing
pip install "videopython[ai]"        # all local AI features
pip install "videopython[mcp]"       # MCP and its focused analysis stack

Videopython supports Python >=3.11, <3.15. The ai and mcp extras are independent; install videopython[ai,mcp] if you need both. See the installation guide for FFmpeg features, model downloads, Ollama setup, and hardware requirements.

Quick start

Describe the edit, validate it without loading frames, then render it:

from videopython.editing import VideoEdit

edit = VideoEdit.from_dict({
    "segments": [
        {
            "source": "input.mp4",
            "start": 10.0,
            "end": 20.0,
            "operations": [
                {"op": "resize", "width": 1080, "height": 1920},
                {"op": "color_adjust", "saturation": 1.15, "contrast": 1.05},
                {"op": "fade", "mode": "in", "duration": 0.5},
            ],
        }
    ]
})

edit.validate()
edit.run_to_file("output.mp4")

run_to_file() streams the source through FFmpeg and the operation pipeline, so memory use stays bounded for long videos. Continue with Your first edit.

What you can build

Area Capabilities Start here
Editing Cuts, transforms, effects, overlays, subtitles, audio, and multi-segment plans Editing guides
AI workflows Transcription, detection, scene understanding, generation, dubbing, and automatic editing Local AI
LLM integrations Generated schemas, structured validation, repair, and dimension normalization LLM plan guide
MCP agents Local tools for media analysis, planning, validation, and rendering MCP guide

Core editing does not install PyTorch or other model runtimes. AI dependencies load only when you use an AI feature.

Documentation

The documentation follows Diataxis:

  • Tutorials teach the library through complete examples.
  • How-to guides cover specific editing and AI tasks.
  • Reference documents the API, operations, and JSON wire format.
  • Explanation covers the streaming engine, plan lifecycle, architecture, and LLM-first design.

Project status

Videopython is pre-1.0, so public interfaces can still change. See the roadmap for the stability criteria and release notes for changes between versions. Report vulnerabilities through the security policy.

For local setup, tests, documentation builds, and releases, see DEVELOPMENT.md.

Metadata

Release files for videopython 0.61.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 videopython 0.61.2
File Size Uploaded
videopython-0.61.2.tar.gz 1.1 MB Details

Built distribution (wheel)

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

Total release size: 2.3 MB

Release files / videopython-0.61.2.tar.gz

Download URL videopython-0.61.2.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
d03aaa8434c00a53176c25e04c806793fdeba42536d4b2987d3c4f5dfb3b2ea7
BLAKE2b-256 checksum
How to use checksums
61d48bd070cb51ab5c6199a4a32ab3b728c9327d881eb70689f4f92f99683e22
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 Sep 9, 2026.

Transparency log

Release files / videopython-0.61.2-py3-none-any.whl

Download URL videopython-0.61.2-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c166a5a73a3c8607d3261e4cbcff3d064831c755e66a784cb34d85c609afe172
BLAKE2b-256 checksum
How to use checksums
98406d5487c6ed4f4d1692973f41a5a72fb2b1a8fe7e378c3e3b5af880f40b53
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 Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

0.62.1

2 release files

This release

0.61.2 This release

2 release files

0.55.1

2 release files

0.53.0

2 release files

0.52.1

2 release files

0.52.0

2 release files

0.51.0

2 release files

0.50.1

2 release files

0.50.0

2 release files

0.49.0

2 release files

0.48.0

2 release files

0.47.0

2 release files

0.46.0

2 release files

0.45.0

2 release files

0.44.1

2 release files

0.44.0

2 release files

0.43.1

2 release files

0.43.0

2 release files

0.42.0

2 release files

0.41.0

2 release files

0.40.0

2 release files

0.35.1

2 release files

0.35.0

2 release files

0.34.1

2 release files

0.34.0

2 release files

0.33.5

2 release files

0.33.4

2 release files

0.33.3

2 release files

0.33.2

2 release files

0.33.1

2 release files

0.33.0

2 release files

0.32.0

2 release files

0.31.3

2 release files

0.31.2

2 release files

0.31.1

2 release files

0.31.0

2 release files

0.30.0

2 release files

0.26.4

2 release files

0.26.3

2 release files

0.26.2

2 release files

0.25.6

2 release files

0.25.5

2 release files

0.25.4

2 release files

0.25.3

2 release files

0.25.2

2 release files

0.25.1

2 release files

0.25.0

2 release files

0.24.2

2 release files

0.24.1

2 release files

0.24.0

2 release files

0.23.3

2 release files

0.23.2

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.22.8

2 release files

0.22.7

2 release files

0.22.6

2 release files

0.20.3

2 release files

0.20.2

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.3

2 release files

0.18.2

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.6

2 release files

0.16.5

2 release files

0.16.4

2 release files

0.16.3

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.6

2 release files

0.15.5

2 release files

0.15.4

2 release files

0.15.3

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.1

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

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