Skip to content

AI-powered tool that automatically generates Shutterstock-ready captions and SEO keywords using BLIP and KeyBERT. Exports results as a Shutterstock content upload CSV file — runs 100% locally with no API key required.

License

Notifications You must be signed in to change notification settings

nyskytigers/stock-auto-caption

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📸 Shutterstock Content Upload Generator

Built by @NYskytigers
Generate professional Shutterstock-style captions and keywords automatically.
Export your metadata as shutterstock_content_upload.csv in one click.

Python 3.10+ Streamlit License: MIT BLIP Model KeyBERT Library Code style: black

Automatically generate Shutterstock-ready captions and SEO keywords from your stock photos and images — powered by BLIP (image captioning) and KeyBERT (keyword extraction).
This app runs 100% locally — no API key or internet connection required after initial setup.

🚀 Features

  • 🧠 AI caption generation using the BLIP model (Salesforce/blip-image-captioning-base)
  • 🔑 Keyword extraction using KeyBERT (all-MiniLM-L6-v2)
  • 🗂️ Export to CSV format
  • ✏️ Full Editing Control
  • 🎨 Category and metadata selection
  • 💾 Works completely offline — no OpenAI or external APIs needed

🛠️ Requirements

  • Python 3.10+
  • A virtual environment (venv recommended)
  • Packages listed in requirements.txt

⚙️ Installation

  1. Clone this repository

    git clone https://github.com/nyskytigers/stock-auto-caption.git
    cd stock-auto-caption
    
  2. Create and activate a virtual environment

     python -m venv venv
    
    • On Windows
      venv\Scripts\activate
    
    • On macOS/Linux
      # source venv/bin/activate  
    
  3. Install dependencies

     pip install -r requirements.txt
    
    
  4. ▶️ Run the App

     streamlit run app.py
    

    Then open your browser and go to: http://localhost:8501

📦 Output

All generated results can be downloaded as a Shutterstock-compatible CSV file(sutterstock_content_upload.csv):

Shutterstock Example

Filename Description Keywords Categories Editorial Mature content Illustration
photo1.jpg Close-up portrait of a cat cat, feline, pet, cute, whiskers, animal Animals/Wildlife no no yes

Adobe Stock Example

Filename Title Keywords Category Releases
photo2.jpg A beautiful mountain landscape mountain, landscape, nature, sky, clouds 12

iStock (Zipped CSVs)

Generates istock_metadata.zip containing one CSV per image: File: photo3.csv

file name description country title keywords color
photo3.eps Urban city skyline Urban city skyline city, urban, sky... yes

🧠 Models Used

BLIP: Bootstrapped Language-Image Pretraining
→ Generates descriptive captions from images.

KeyBERT
→ Extracts SEO-friendly keywords from text using sentence embeddings.

🧩 Future Plans

💬 User feedback saving (learning system)
🔍 CLIP-based similarity search for smarter keyword suggestions
🌐 Public web version hosted via Streamlit Cloud or Hugging Face Spaces

🪪 License This project is open-source and available under the MIT License.

👤 Author @NYskytigers 🕸️ Website 🦋 Bluesky 📺 YouTube

About

AI-powered tool that automatically generates Shutterstock-ready captions and SEO keywords using BLIP and KeyBERT. Exports results as a Shutterstock content upload CSV file — runs 100% locally with no API key required.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published