Releases: adelelawady/Clipify
v2.1.4 Release
Clipify
An AI-powered video processing toolkit for creating social media-optimized content with automated transcription, captioning, and thematic segmentation.
π Key Features
Content Processing
- Video Processing Pipeline
- Automated audio extraction and speech-to-text conversion
- Smart thematic segmentation using AI
- Mobile-optimized format conversion (9:16, 4:5, 1:1)
- Intelligent caption generation and overlay
AI Capabilities
- Advanced Analysis
- Context-aware content segmentation
- Dynamic title generation
- Smart keyword and hashtag extraction
- Sentiment analysis for content optimization
Platform Options
-
Desktop Application
- Intuitive graphical interface
- Drag-and-drop functionality
- Real-time processing feedback
- Batch processing capabilities
-
Server Deployment
- RESTful API integration
- Asynchronous processing with webhooks
- Multi-tenant architecture
- Containerized deployment support
π Quick Start
Desktop Application
π Check out our full project based on Clipify on https://github.com/adelelawady/Clipify-hub π
Download and install the latest version:
Python Package Installation
# Via pip
pip install clipify
# From source
git clone https://github.com/adelelawady/Clipify.git
cd Clipify
pip install -r requirements.txtπ» Usage Examples
Basic Implementation
from clipify.core.clipify import Clipify
# Initialize with basic configuration
clipify = Clipify(
provider_name="hyperbolic",
api_key="your-api-key",
model="deepseek-ai/DeepSeek-V3",
convert_to_mobile=True,
add_captions=True
)
# Process video
result = clipify.process_video("input.mp4")
# Handle results
if result:
print(f"Created {len(result['segments'])} segments")
for segment in result['segments']:
print(f"Segment {segment['segment_number']}: {segment['title']}")Advanced Configuration
clipify = Clipify(
# AI Configuration
provider_name="hyperbolic",
api_key="your-api-key",
model="deepseek-ai/DeepSeek-V3",
max_tokens=5048,
temperature=0.7,
# Video Processing
convert_to_mobile=True,
add_captions=True,
mobile_ratio="9:16",
# Caption Styling
caption_options={
"font": "Bangers-Regular.ttf",
"font_size": 60,
"font_color": "white",
"stroke_width": 2,
"stroke_color": "black",
"highlight_current_word": True,
"word_highlight_color": "red",
"shadow_strength": 0.8,
"shadow_blur": 0.08,
"line_count": 1,
"padding": 50,
"position": "bottom"
}
)AudioExtractor
from clipify.audio.extractor import AudioExtractor
# Initialize audio extractor
extractor = AudioExtractor()
# Extract audio from video
audio_path = extractor.extract_audio(
video_path="input_video.mp4",
output_path="extracted_audio.wav"
)
if audio_path:
print(f"Audio successfully extracted to: {audio_path}")SpeechToText
from clipify.audio.speech import SpeechToText
# Initialize speech to text converter
converter = SpeechToText(model_size="base") # Options: tiny, base, small, medium, large
# Convert audio to text with timing
result = converter.convert_to_text("audio_file.wav")
if result:
print("Transcript:", result['text'])
print("\nWord Timings:")
for word in result['word_timings'][:5]: # Show first 5 words
print(f"Word: {word['text']}")
print(f"Time: {word['start']:.2f}s - {word['end']:.2f}s")VideoConverter
from clipify.video.converter import VideoConverter
# Initialize video converter
converter = VideoConverter()
# Convert video to mobile format with blurred background
result = converter.convert_to_mobile(
input_video="landscape_video.mp4",
output_video="mobile_video.mp4",
target_ratio="9:16" # Options: "1:1", "4:5", "9:16"
)
if result:
print("Video successfully converted to mobile format")VideoConverterStretch
from clipify.video.converterStretch import VideoConverterStretch
# Initialize stretch converter
stretch_converter = VideoConverterStretch()
# Convert video using stretch method
result = stretch_converter.convert_to_mobile(
input_video="landscape.mp4",
output_video="stretched.mp4",
target_ratio="4:5" # Options: "1:1", "4:5", "9:16"
)
if result:
print("Video successfully converted using stretch method")VideoCutter
from clipify.video.cutter import VideoCutter
# Initialize video cutter
cutter = VideoCutter()
# Cut a specific segment
result = cutter.cut_video(
input_video="full_video.mp4",
output_video="segment.mp4",
start_time=30.5, # Start at 30.5 seconds
end_time=45.2 # End at 45.2 seconds
)
if result:
print("Video segment successfully cut")SmartTextProcessor
from clipify.core.text_processor import SmartTextProcessor
from clipify.core.ai_providers import HyperbolicAI
# Initialize AI provider and text processor
ai_provider = HyperbolicAI(api_key="your_api_key")
processor = SmartTextProcessor(ai_provider)
# Process text content
text = "Your long text content here..."
segments = processor.segment_by_theme(text)
if segments:
for segment in segments['segments']:
print(f"\nTitle: {segment['title']}")
print(f"Keywords: {', '.join(segment['keywords'])}")
print(f"Content length: {len(segment['content'])} chars")π¦ Project Structure
clipify/
βββ clipify/
β βββ __init__.py # Package initialization and version
β βββ core/
β β βββ __init__.py
β β βββ clipify.py # Main Clipify class
β β βββ processor.py # Content processing logic
β β βββ text_processor.py # Text analysis and segmentation
β β βββ ai_providers.py # AI provider implementations
β βββ video/
β β βββ __init__.py
β β βββ cutter.py # Video cutting functionality
β β βββ converter.py # Mobile format conversion
β β βββ converterStretch.py # Alternative conversion method
β β βββ processor.py # Video processing and captions
β βββ audio/
β β βββ __init__.py
β β βββ extractor.py # Audio extraction from video
β β βββ speech.py # Speech-to-text conversion
β βββ utils/ # Utility functions
β βββ __init__.py
β βββ helpers.py
βββ .gitignore # Git ignore rules
βββ LICENSE # MIT License
βββ MANIFEST.in # Package manifest
βββ README.md # Project documentation
βββ requirements.txt # Dependencies
βββ setup.py # Package setup
π οΈ Configuration Options
AI Providers
hyperbolic: Default provider with DeepSeek-V3 modelopenai: OpenAI GPT models supportanthropic: Anthropic Claude modelsollama: Local model deployment
Video Formats
- Aspect Ratios:
1:1,4:5,9:16 - Output Formats: MP4, MOV
- Quality Presets: Low, Medium, High
Caption Customization
- Font customization
- Color schemes
- Position options
- Animation effects
- Word highlighting
π€ Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read our Contributing Guidelines for details.
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Support
- Enterprise Support: Contact adel50ali5b@gmail.com
- Community Support: GitHub Issues
- Documentation: Wiki
π Acknowledgments
- FFmpeg for video processing
- OpenAI for AI capabilities
- P...
2.1.1
Clipify
An AI-powered video processing toolkit for creating social media-optimized content with automated transcription, captioning, and thematic segmentation.
π Key Features
Content Processing
- Video Processing Pipeline
- Automated audio extraction and speech-to-text conversion
- Smart thematic segmentation using AI
- Mobile-optimized format conversion (9:16, 4:5, 1:1)
- Intelligent caption generation and overlay
AI Capabilities
- Advanced Analysis
- Context-aware content segmentation
- Dynamic title generation
- Smart keyword and hashtag extraction
- Sentiment analysis for content optimization
Platform Options
-
Desktop Application
- Intuitive graphical interface
- Drag-and-drop functionality
- Real-time processing feedback
- Batch processing capabilities
-
Server Deployment
- RESTful API integration
- Asynchronous processing with webhooks
- Multi-tenant architecture
- Containerized deployment support
π Quick Start
Desktop Application
π Check out our full project based on Clipify on https://github.com/adelelawady/Clipify-hub π
Download and install the latest version:
Python Package Installation
# Via pip
pip install clipify
# From source
git clone https://github.com/adelelawady/Clipify.git
cd Clipify
pip install -r requirements.txtπ» Usage Examples
Basic Implementation
from clipify.core.clipify import Clipify
# Initialize with basic configuration
clipify = Clipify(
provider_name="hyperbolic",
api_key="your-api-key",
model="deepseek-ai/DeepSeek-V3",
convert_to_mobile=True,
add_captions=True
)
# Process video
result = clipify.process_video("input.mp4")
# Handle results
if result:
print(f"Created {len(result['segments'])} segments")
for segment in result['segments']:
print(f"Segment {segment['segment_number']}: {segment['title']}")Advanced Configuration
clipify = Clipify(
# AI Configuration
provider_name="hyperbolic",
api_key="your-api-key",
model="deepseek-ai/DeepSeek-V3",
max_tokens=5048,
temperature=0.7,
# Video Processing
convert_to_mobile=True,
add_captions=True,
mobile_ratio="9:16",
# Caption Styling
caption_options={
"font": "Bangers-Regular.ttf",
"font_size": 60,
"font_color": "white",
"stroke_width": 2,
"stroke_color": "black",
"highlight_current_word": True,
"word_highlight_color": "red",
"shadow_strength": 0.8,
"shadow_blur": 0.08,
"line_count": 1,
"padding": 50,
"position": "bottom"
}
)AudioExtractor
from clipify.audio.extractor import AudioExtractor
# Initialize audio extractor
extractor = AudioExtractor()
# Extract audio from video
audio_path = extractor.extract_audio(
video_path="input_video.mp4",
output_path="extracted_audio.wav"
)
if audio_path:
print(f"Audio successfully extracted to: {audio_path}")SpeechToText
from clipify.audio.speech import SpeechToText
# Initialize speech to text converter
converter = SpeechToText(model_size="base") # Options: tiny, base, small, medium, large
# Convert audio to text with timing
result = converter.convert_to_text("audio_file.wav")
if result:
print("Transcript:", result['text'])
print("\nWord Timings:")
for word in result['word_timings'][:5]: # Show first 5 words
print(f"Word: {word['text']}")
print(f"Time: {word['start']:.2f}s - {word['end']:.2f}s")VideoConverter
from clipify.video.converter import VideoConverter
# Initialize video converter
converter = VideoConverter()
# Convert video to mobile format with blurred background
result = converter.convert_to_mobile(
input_video="landscape_video.mp4",
output_video="mobile_video.mp4",
target_ratio="9:16" # Options: "1:1", "4:5", "9:16"
)
if result:
print("Video successfully converted to mobile format")VideoConverterStretch
from clipify.video.converterStretch import VideoConverterStretch
# Initialize stretch converter
stretch_converter = VideoConverterStretch()
# Convert video using stretch method
result = stretch_converter.convert_to_mobile(
input_video="landscape.mp4",
output_video="stretched.mp4",
target_ratio="4:5" # Options: "1:1", "4:5", "9:16"
)
if result:
print("Video successfully converted using stretch method")VideoCutter
from clipify.video.cutter import VideoCutter
# Initialize video cutter
cutter = VideoCutter()
# Cut a specific segment
result = cutter.cut_video(
input_video="full_video.mp4",
output_video="segment.mp4",
start_time=30.5, # Start at 30.5 seconds
end_time=45.2 # End at 45.2 seconds
)
if result:
print("Video segment successfully cut")SmartTextProcessor
from clipify.core.text_processor import SmartTextProcessor
from clipify.core.ai_providers import HyperbolicAI
# Initialize AI provider and text processor
ai_provider = HyperbolicAI(api_key="your_api_key")
processor = SmartTextProcessor(ai_provider)
# Process text content
text = "Your long text content here..."
segments = processor.segment_by_theme(text)
if segments:
for segment in segments['segments']:
print(f"\nTitle: {segment['title']}")
print(f"Keywords: {', '.join(segment['keywords'])}")
print(f"Content length: {len(segment['content'])} chars")π¦ Project Structure
clipify/
βββ clipify/
β βββ __init__.py # Package initialization and version
β βββ core/
β β βββ __init__.py
β β βββ clipify.py # Main Clipify class
β β βββ processor.py # Content processing logic
β β βββ text_processor.py # Text analysis and segmentation
β β βββ ai_providers.py # AI provider implementations
β βββ video/
β β βββ __init__.py
β β βββ cutter.py # Video cutting functionality
β β βββ converter.py # Mobile format conversion
β β βββ converterStretch.py # Alternative conversion method
β β βββ processor.py # Video processing and captions
β βββ audio/
β β βββ __init__.py
β β βββ extractor.py # Audio extraction from video
β β βββ speech.py # Speech-to-text conversion
β βββ utils/ # Utility functions
β βββ __init__.py
β βββ helpers.py
βββ .gitignore # Git ignore rules
βββ LICENSE # MIT License
βββ MANIFEST.in # Package manifest
βββ README.md # Project documentation
βββ requirements.txt # Dependencies
βββ setup.py # Package setup
π οΈ Configuration Options
AI Providers
hyperbolic: Default provider with DeepSeek-V3 modelopenai: OpenAI GPT models supportanthropic: Anthropic Claude modelsollama: Local model deployment
Video Formats
- Aspect Ratios:
1:1,4:5,9:16 - Output Formats: MP4, MOV
- Quality Presets: Low, Medium, High
Caption Customization
- Font customization
- Color schemes
- Position options
- Animation effects
- Word highlighting
π€ Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read our Contributing Guidelines for details.
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Support
- Enterprise Support: Contact adel50ali5b@gmail.com
- Community Support: GitHub Issues
- Documentation: Wiki
π Acknowledgments
- FFmpeg for video processing
- OpenAI for AI capabilities
- P...
v0.7.0
A powerful Python tool for processing video content into social media-friendly segments with automated transcription, captioning, and thematic segmentation.
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 clipifyinstall from source
git clone https://github.com/adelelawady/Clipify.git
cd ClipifyInstall the dependencies:
pip install -r requirements.txtUsage
- 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.
v0.6.0
A powerful Python tool for processing video content into social media-friendly segments with automated transcription, captioning, and thematic segmentation.
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 clipifyinstall from source
git clone https://github.com/adelelawady/Clipify.git
cd ClipifyInstall the dependencies:
pip install -r requirements.txtUsage
- 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.


