Metadata-Version: 2.5
Name: pyvideo-forge
Version: 0.1.0
Summary: Practical FFmpeg video enhancement and optional AI analysis for Python.
Author: ZENKAI
License: MIT License
        
        Copyright (c) 2026 ZENKAI
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Keywords: ai,ffmpeg,interpolation,metadata,upscale,video
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Video
Requires-Python: >=3.10
Provides-Extra: dev
Requires-Dist: build>=1.5.0; extra == 'dev'
Requires-Dist: pytest>=9.1.1; extra == 'dev'
Requires-Dist: twine>=7.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# PyVideo Forge

PyVideo Forge is a Python CLI/library for practical video enhancement:

- interpolates motion to **120 or 240 FPS**;
- removes consecutive duplicate frames before interpolation;
- upscales and pads video to **4K (3840x2160)** by default;
- removes source metadata and chapters;
- keeps audio when present;
- optionally samples frames and asks an OpenAI-compatible vision model for a
  visual edit brief, including a requested replacement character.

It uses the `ffmpeg` and `ffprobe` binaries already available on many server
environments. It does not pretend that FFmpeg alone can generate a new anime
character into every frame: the `analyze` command produces a grounded plan for
that separate generative-video stage.

## Install

```bash
pip install pyvideo-forge
```

## Enhance

```bash
pyvideo-forge enhance input.mp4 output-4k-240fps.mp4 \
  --fps 240 --width 3840 --height 2160
```

Use `--fps 120` for a faster result. Duplicate frames and source metadata are
removed by default.

## Analyze with AI

The local probe works without AI. For visual understanding, configure an
OpenAI-compatible endpoint and key in the environment, then run:

```bash
pyvideo-forge analyze input.mp4 \
  --character "Goku Ultra Instinct"
```

The package supports `AI_INTEGRATIONS_OPENAI_BASE_URL` and
`AI_INTEGRATIONS_OPENAI_API_KEY` without printing or persisting their values.

## Development

```bash
pip install -e ".[dev]"
python -m pytest
python -m build
python -m twine check dist/*
```