Skip to main content

A tool that automatically generates step-by-step documentation from instructional videos

Project description

VideoInstruct

VideoInstruct is a tool that automatically generates step-by-step documentation from instructional videos. It uses AI to extract transcriptions, interpret video content, and create comprehensive markdown guides.

Quick Start

Using Docker (Recommended)

The fastest and simplest way to use VideoInstruct is through our Docker image. See DOCKER_USAGE.md for detailed instructions on:

  • Installation and prerequisites
  • Downloading the Docker file from Docker Hub.
  • Running with local videos or YouTube URLs
  • Configuration options
  • Troubleshooting common issues

Using Python Package

# Install from PyPI
pip install videoinstruct

# Set up environment variables
export OPENAI_API_KEY=your_openai_key
export GEMINI_API_KEY=your_gemini_key
export DEEPSEEK_API_KEY=your_deepseek_key

# Use in your code
from videoinstruct import VideoInstructor
instructor = VideoInstructor(video_path="path/to/video.mp4")
documentation = instructor.generate_documentation()

Features

  • Automatic video transcription extraction
  • AI-powered video interpretation
  • Step-by-step documentation generation
  • Automated documentation quality evaluation with conversation memory
  • Interactive Q&A workflow between AI agents
  • User feedback integration for documentation refinement
  • Configurable escalation to human users
  • Screenshot generation and annotation
  • PDF export capabilities
  • Enhanced workflow visibility with real-time status updates
  • Transparent model information display for each agent

Installation Options

  1. Docker (Recommended): See DOCKER_USAGE.md
  2. PyPI: pip install videoinstruct
  3. Source:
    git clone https://github.com/PouriaRouzrokh/VideoInstruct.git
    cd VideoInstruct
    pip install -r requirements.txt
    

Project Structure

VideoInstruct/
├── data/                  # Place your video files here
├── examples/              # Example usage scripts
│   ├── example_usage.py   # Basic Python example
│   └── docker_example.py  # Docker-based example
├── output/                # Generated documentation output
├── scripts/               # Utility scripts
├── videoinstruct/         # Main package
│   ├── agents/           # AI agent modules
│   ├── prompts/          # System prompts for agents
│   ├── tools/            # Utility tools
│   ├── utils/            # Utility functions
│   ├── cli.py            # Command-line interface
│   ├── configs.py        # Configuration classes
│   └── videoinstructor.py # Main orchestration class
├── DOCKER_USAGE.md       # Docker setup and usage guide
└── README.md             # This file

Using as a Python Package

from videoinstruct import VideoInstructor, VideoInstructorConfig
from videoinstruct.agents import DocGeneratorConfig, VideoInterpreterConfig, DocEvaluatorConfig

# Configure the VideoInstructor
config = VideoInstructorConfig(
    doc_generator_config=DocGeneratorConfig(
        api_key=openai_api_key,
        model_provider="openai",
        model="o3-mini",
        temperature=0.7
    ),
    video_interpreter_config=VideoInterpreterConfig(
        api_key=gemini_api_key,
        model="gemini-2.0-flash"
    ),
    doc_evaluator_config=DocEvaluatorConfig(
        api_key=deepseek_api_key,
        model="deepseek-reasoner"
    )
)

# Initialize and run
instructor = VideoInstructor(
    video_path="path/to/video.mp4",
    config=config
)
documentation = instructor.generate_documentation()

Contributing

To contribute to VideoInstruct:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin feature-name
  5. Submit a pull request

Troubleshooting

  • For Docker-related issues, see DOCKER_USAGE.md
  • For Python package issues:
    • Make sure all dependencies are installed
    • Check your Python version (3.8+ required)
    • Verify your API keys and internet connection

License

MIT 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

videoinstruct-0.1.7.tar.gz (34.3 kB view details)

Uploaded Source

Built Distribution

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

videoinstruct-0.1.7-py3-none-any.whl (38.6 kB view details)

Uploaded Python 3

File details

Details for the file videoinstruct-0.1.7.tar.gz.

File metadata

  • Download URL: videoinstruct-0.1.7.tar.gz
  • Upload date:
  • Size: 34.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for videoinstruct-0.1.7.tar.gz
Algorithm Hash digest
SHA256 c49b51f63aa7490b5cd9c7982b016b751529f937cc370bd807fa1a975624b0d6
MD5 a99133a27ef035b1dec28b9b36198cc1
BLAKE2b-256 4d456bed65557fb5108e914868d1f653138474d9da4419eb90b59cc80e7652b8

See more details on using hashes here.

File details

Details for the file videoinstruct-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: videoinstruct-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 38.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for videoinstruct-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 32d71d389af5c0b9f2c30fdda362f732cba5b1c43ad21f34218894d1df2cf820
MD5 f1134b8a794014b3ec490443dac138d3
BLAKE2b-256 e4c2774de6fb9809bd1777251b1426d3a7738520ba2064e5dad845f68940c687

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