Skip to content

v0.7.0

Choose a tag to compare

@adelelawady adelelawady released this 25 Jan 22:52
· 37 commits to develop since this release
88af32b

Clipify Logo

Development Status
PyPI version
Python
License
Downloads
GitHub stars
GitHub issues
Made with Python
Maintenance
PRs Welcome
Code style: black
Documentation Status
Version
GitHub contributors
Open Source
Ask Me Anything !
Awesome
FFmpeg
OpenAI
PyTorch
NumPy

Buy me a coffee

A powerful Python tool for processing video content into social media-friendly segments with automated transcription, captioning, and thematic segmentation.

Screenshot 2025-01-25 045729

Features

  • πŸŽ₯ Video Processing

    • Extracts audio from video files
    • Converts speech to text with timing information
    • Segments videos by theme and content
    • Converts videos to mobile-friendly format (9:16 aspect ratio)
    • Adds auto-generated captions
  • πŸ€– AI-Powered Content Analysis

    • Intelligent thematic segmentation
    • Smart title generation
    • Keyword extraction
    • Sentiment analysis
    • Hashtag generation
  • πŸ“ Transcript Processing

    • Generates accurate transcripts with timing information
    • Processes transcripts into coherent segments
    • Maintains timing alignment for precise video cutting

Prerequisites

  • Python 3.8+
  • FFmpeg installed and in PATH
  • NLTK resources
  • Required Python packages (see requirements.txt)
  • API key for content processing services

Clone the repository:

Installation

install from pip

pip install clipify

install from source

git clone https://github.com/adelelawady/Clipify.git
cd Clipify

Install the dependencies:

pip install -r requirements.txt

Usage

  1. Basic video processing:
from clipify.core.clipify import Clipify
    # Initialize Clipify with Hyperbolic or OpenAI or Anthropic AI and specific model
    clipify = Clipify(
        provider_name="hyperbolic",
        api_key="api-key",
        model="deepseek-ai/DeepSeek-V3",  # Specify model
        convert_to_mobile=True,
        add_captions=True,
        mobile_ratio="9:16"
    )
    
    # Process a video
    result = clipify.process_video("path/to/video.mp4")
    
    if result:
        print("\nProcessing Summary:")
        print(f"Processed video: {result['video_path']}")
        print(f"Created {len(result['segments'])} segments")
        
        for segment in result['segments']:
            print(f"\nSegment #{segment['segment_number']}: {segment['title']}")
            if 'cut_video' in segment:
                print(f"Cut video: {segment['cut_video']}")
            if 'mobile_video' in segment:
                print(f"Mobile version: {segment['mobile_video']}")
            if 'captioned_video' in segment:
                print(f"Captioned version: {segment['captioned_video']}")

Project Structure

clipify/
β”œβ”€β”€ clipify/
β”‚ β”œβ”€β”€ init.py
β”‚ β”œβ”€β”€ content_processor.py
β”‚ β”œβ”€β”€ video_processor.py
β”‚ └── utils/
β”‚ β”œβ”€β”€ audio.py
β”‚ β”œβ”€β”€ captions.py
β”‚ └── transcription.py
β”œβ”€β”€ tests/
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ setup.py
└── README.md

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.