Skip to main content

Generate video tutorials from automated tests using LLMs

Project description

Codevid

Codevid Logo

Turn your automated tests into professional video tutorials.

Codevid is a CLI tool that uses AI to convert your existing Python Playwright tests into narrated, captioned video tutorials. It analyzes your test code, generates a natural language script, records the execution, and automatically edits everything into a polished video.

🎬 How It Works

demo2.webm

Generated Tutorial

Here's the result - a fully narrated video tutorial generated from the test above:

https://github.com/user-attachments/assets/de1d647b-527b-4c66-a46b-7b86247c345c

🚀 Features

  • Automated Scriptwriting: Uses LLMs (OpenAI/Anthropic) to explain why an action is happening, not just what is happening.
  • Real Execution: Records your actual app in a browser to ensure the video matches reality.
  • AI Voiceovers: Integrated Text-to-Speech (OpenAI/Edge TTS) for professional narration.
  • Smart Editing: Automatically synchronizes video speed with audio narration and adds captions.
  • Stable Sync: Keeps narration aligned even when multiple narration segments map to one test step.

📋 Prerequisites

  • Python 3.11+
  • OpenAI API Key: Codevid requires access to an LLM to generate the narration script.

🛠️ Installation

  1. Install Codevid (assuming it is available via pip or from source):

    pip install codevid
    

    For local development with uv (from source):

    uv sync --extra dev
    
  2. Install Playwright Browsers:

    playwright install chromium
    

    If you used uv, run:

    uv run playwright install chromium
    

🔑 Configuration

You must provide your OpenAI API key for the tool to function.

export OPENAI_API_KEY="sk-..."

(Alternatively, you can configure Anthropic/Claude keys if you prefer that provider in the config).

⚡ Quick Start

  1. Initialize a project (optional, creates a codevid.yaml config file):

    codevid init
    
  2. Generate a video: Pass your Playwright test file to the generate command.

    codevid generate examples/test_login.py -o login_tutorial.mp4
    

📖 Usage Examples

Basic Generation

Uses default settings (Anthropic/Edge TTS if not configured otherwise) to generate a video.

codevid generate tests/my_test.py

Using OpenAI for Everything

Specify the LLM and TTS provider explicitly via CLI flags.

codevid generate tests/my_test.py \
    --llm openai \
    --tts openai \
    --voice alloy \
    --output tutorial.mp4

Preview Script Only

Want to see what the AI will say before recording? Use preview mode.

codevid preview tests/my_test.py

List Available Voices

See which voices are available for your chosen provider.

codevid list-voices openai

⚠️ Current Limitations

  • Framework Support: Currently, Codevid only supports Python Playwright tests.
  • Structure: Tests must be written as standard functions or Pytest functions (e.g., def test_example(page):).

📄 License

MIT

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

codevid-1.5.0.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

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

codevid-1.5.0-py3-none-any.whl (69.3 kB view details)

Uploaded Python 3

File details

Details for the file codevid-1.5.0.tar.gz.

File metadata

  • Download URL: codevid-1.5.0.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for codevid-1.5.0.tar.gz
Algorithm Hash digest
SHA256 480e81e0f1d719bc0d1832b4bb7ae9db8c42d055d40bafc94f704ba401971139
MD5 a6d1d66dab060dcc59d217d60493bb84
BLAKE2b-256 459de95fff0c1160d8c39b138e8ee36c24b7aac5d3aedac3e387ee2b2eefcf07

See more details on using hashes here.

Provenance

The following attestation bundles were made for codevid-1.5.0.tar.gz:

Publisher: release.yml on MStaniaszek1998/codevid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codevid-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: codevid-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 69.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for codevid-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2999ea0feab24065bc1d68415936d571140d91dd63e5a5929d2295ec34f5b87
MD5 5a4376fa1c718e09892971468f9acd65
BLAKE2b-256 e85c3f6f9913b530c1379f8736532b9b82a41b16d2224d20f4f25c27425a23e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for codevid-1.5.0-py3-none-any.whl:

Publisher: release.yml on MStaniaszek1998/codevid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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