Skip to content

API Reference

videopython is organized into four top-level subpackages. Everything outside videopython.ai is installable with the default pip install videopython — no ML dependencies required.

videopython.base

Data containers and I/O primitives:

  • Video - Video, VideoMetadata, FrameIterator - loading, saving, inspecting
  • Text & Transcription - ImageText rendering primitive and Transcription data classes

videopython.audio

  • Audio - Audio data container; load/save, overlay, concat, normalize, time-stretch, silence detection, segment classification

videopython.editing

Editing primitives and the plan runner:

  • Editing Plans (VideoEdit) - Multi-segment editing plans with JSON parsing, validation, and schema generation
  • Operations - The Operation Pydantic base, auto-registry, and discriminated-union schema
  • Transforms - Frame transformations (cut, resize, resample)
  • Effects - Visual effects (blur, zoom, overlays) — including TranscriptionOverlay for subtitles

videopython.ai

AI-powered generation and understanding (requires [ai] extra):

  • Generation - Generate videos, images, music, and speech from text
  • Understanding - Transcribe audio, describe images, detect scenes
  • Video Analysis - Aggregate serializable scene-first analysis across audio, visual, and temporal understanding
  • Dubbing - Dub videos into different languages or revoice with custom text
  • AI Transforms - FaceTrackingCrop for face-aware reframing (headroom / thirds, bounded camera speed)

Import Patterns

# Top-level import for core class
from videopython import Video

# Import specific classes from base
from videopython.base import (
    Video,
    Transcription,
)
from videopython.audio import (
    Audio,
    AudioMetadata,
)
from videopython.editing import (
    CutSeconds,
    Resize,
    Blur,
)

# Import Operation foundation
from videopython.editing import (
    Operation,
    Effect,
    TimeRange,
    OpCategory,
)

# Import AI classes
from videopython.ai import (
    TextToVideo,
    TextToImage,
    AudioToText,
)

# Import dubbing classes
from videopython.ai.dubbing import (
    VideoDubber,
    DubbingResult,
    RevoiceResult,
)