Skip to main content

Cross-platform AI video enhancement CLI: upscale, interpolate, enhance using Real-ESRGAN, RIFE, and FFmpeg.

Project description

PixelFlow

Cross-platform AI video enhancement CLI for video upscaling, image upscaling, frame interpolation, and video restoration. PixelFlow uses Real-ESRGAN, RIFE, and FFmpeg to improve video quality, increase video resolution, generate high-FPS video, and automate AI-powered video processing workflows on macOS, Linux, and Windows.

Upscale. Interpolate. Enhance.

AI Video Upscaling & Frame Interpolation

PixelFlow is an open-source command-line tool for:

  • AI video upscaling
  • AI image upscaling
  • Video frame interpolation
  • 30 FPS to 60 FPS conversion
  • 60 FPS to 120 FPS conversion
  • Video enhancement and restoration
  • Batch video processing
  • Automated video workflows

Powered by:

  • Real-ESRGAN for image and video upscaling
  • RIFE for frame interpolation and FPS boosting
  • FFmpeg for video decoding, encoding, and media processing

Ideal for content creators, developers, video engineers, AI enthusiasts, and anyone looking to enhance videos using open-source AI models.


Install

PixelFlow is a Python 3.12+ package, published on PyPI as pixelflow-cli (the import package and the command are both pixelflow). For everyday use, install it as an isolated CLI with pipx:

pipx install pixelflow-cli

Or into an environment with pip:

pip install pixelflow-cli

Then provision the external tools (FFmpeg, Real-ESRGAN, RIFE) for your platform:

pixelflow init
pixelflow doctor   # verify everything is ready

doctor prints a report like:

FFmpeg          OK
FFprobe         OK
Real-ESRGAN     OK
RIFE            OK
Backend         OK    ncnn
Platform        OK    macOS arm64
Temp directory  OK

Usage

Common use cases include:

  • Upscaling 720p videos to 1080p or 4K
  • Converting 24 FPS, 30 FPS, or 60 FPS videos to higher frame rates
  • Enhancing anime, gameplay recordings, screen recordings, and archived footage
  • Automating video enhancement pipelines from the terminal
# Upscale a single image
pixelflow upscale-image input.png -o output.png

# Upscale a video 2× (audio preserved)
pixelflow upscale-video input.mp4 -o output.mp4 --scale 2

# Interpolate to 60 fps
pixelflow interpolate input.mp4 -o output.mp4 --fps 60

# Upscale and interpolate in one pass
pixelflow enhance-video input.mp4 -o output.mp4 --scale 2 --fps 60

State (downloaded binaries, models, cache) lives in an OS-appropriate application directory; override it with the PIXELFLOW_HOME environment variable. See docs/SPEC.md for the full specification.

Development

# Create an environment and install with dev extras
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

# Quality gate
ruff check .
black --check .
pytest

Packaging & publishing

PyPI (pipx / pip)

The package builds with hatchling into a single platform-independent wheel (the heavy AI binaries are fetched at runtime by pixelflow init, not bundled).

Automated (recommended). Pushing a v* tag triggers .github/workflows/publish.yml, which builds the distributions and publishes them via PyPI Trusted Publishing (OIDC — no API token stored in the repo). One-time setup: add a trusted publisher on PyPI for this repo + the publish.yml workflow and a pypi environment.

# Bump version in pyproject.toml + update CHANGELOG.md, then:
git tag -a v0.1.1 -m "PixelFlow 0.1.1" && git push origin v0.1.1

Manual. To build and upload yourself:

rm -rf dist/
python -m build              # produces dist/*.tar.gz and dist/*.whl
python -m twine check dist/*
python -m twine upload dist/* # username: __token__, password: <pypi token>

Standalone binaries (PyInstaller)

Produce a self-contained executable per platform:

pyinstaller --onefile --name pixelflow pixelflow/cli.py

Build on each target OS (cross-compilation is not supported) to produce:

pixelflow-macos-arm64
pixelflow-linux-x64
pixelflow-windows-x64.exe

Homebrew (macOS / Linux)

Publish a formula to a tap that downloads the release tarball and installs the pixelflow entry point:

class Pixelflow < Formula
  desc "Cross-platform AI video enhancement CLI"
  homepage "https://github.com/pixelflow/pixelflow"
  url "https://files.pythonhosted.org/.../pixelflow-0.1.0.tar.gz"
  sha256 "<sha256>"
  depends_on "python@3.12"
  # ... resource/install blocks ...
end

Then brew install pixelflow/tap/pixelflow.

Winget (Windows)

Submit a manifest to microsoft/winget-pkgs referencing the PyInstaller .exe release asset, then winget install PixelFlow.PixelFlow.

License

PixelFlow is an open-source AI video enhancement project focused on video upscaling, image upscaling, frame interpolation, and cross-platform video processing.

See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pixelflow_cli-0.1.0.tar.gz (31.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pixelflow_cli-0.1.0-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

Details for the file pixelflow_cli-0.1.0.tar.gz.

File metadata

  • Download URL: pixelflow_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 31.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for pixelflow_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a3a8e426e35630cb418186d6a8ad1f7c05f8f1b796e152f61aecd4120149e95b
MD5 eef441e46fecf2f503b0aba3b31d823f
BLAKE2b-256 87f68346e50d045f76d2e0bb8d510a0451726e6e58d59feb086950039b6de07c

See more details on using hashes here.

File details

Details for the file pixelflow_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pixelflow_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for pixelflow_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62eed97fdb2bed0d5904672dacf9fcb44ff56e93f848ede251b5fe996078014d
MD5 f095d5413b6bfca2b5db45987c81959e
BLAKE2b-256 7c0f8ad5d8be1f1fddefdbc510a449f324d412bea510d2392886814abad3cddf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page