Skip to main content

✨ Pexels AI CLI (px / pexels-cli)

License: MIT Python Version Built with uv

A modern, high-performance command-line tool for Pexels, designed for Humans (Rich visual UI) and AI Agents / Classifiers (Machine-readable --json & --state JSONL output).


⚡ Key Features

  • 🤖 Classifier-Ready JSONL Stream (--state): Stream compact candidate objects with generated state strings for non-generative decision models (Laya / System 1 classifiers):
    px videos --queries "black friday shopping,christmas shopping,checkout cart" \
      --per-page 8 --state --dedupe > candidates.jsonl
    
  • 🎯 Multi-Query Batch Execution (--queries & --queries-file): Execute multiple search queries in a single CLI call.
  • 🧹 Deduplication (--dedupe): Automatically deduplicate candidates by ID across multiple search queries.
  • 🔍 Field Filtering (--fields): Keep only specified keys (e.g. --fields id,url,photographer,width,height) to reduce payload noise.
  • 🖼️ Dedicated Photo Search (px search / px photos): Search stock photos with color hex codes, orientation, resolution, and localization filters.
  • 🎥 Dedicated Video Search (px videos): Search HD & 4K stock video footage with aspect ratio and quality filtering.
  • 🧠 Multi-Provider AI Engine: Supports Google Gemini (gemini-2.5-flash), OpenAI (gpt-4o-mini), and Ollama (Local LLM llama3.2).
  • ⚡ High-Speed Downloader: Async stream downloader with rich progress bars (px download).

🚀 Global Installation

uv tool install pexels-ai-cli

Option 2: Install via pip / pipx

pipx install pexels-ai-cli

🤖 Classifier Pipeline Integration (Laya / Decision Models)

Pipe candidate streams directly into typed-decision classification models:

px videos --queries "black friday shopping,online shopping,checkout cart" \
  --per-page 8 --state --dedupe > candidates.jsonl

Output JSONL format (candidates.jsonl):

{"id": 5890229, "type": "video", "query": "black friday shopping", "state": "a man shopping on black friday (photographer: Pavel Danilyuk)", "url": "https://www.pexels.com/video/a-man-shopping-on-black-friday-5890229/", "duration": 10, "width": 2160, "height": 3840}

📖 Usage Examples

1. Photo Search (Standard & AI)

# Standard Photo Search
px search "cyberpunk city" --color blue --orientation landscape

# Multi-query Photo Search with Field Filtering
px search --queries "mountains,forest,sunset" --fields id,url,photographer --json

# Smart AI Photo Search
px smart-photo "Dark moody tech background with subtle neon blue accents"

2. Video Search (Standard & AI)

# Standard Video Search
px videos "drone ocean waves" --orientation landscape

# Multi-query Video Search with State Generation
px videos --queries "city traffic,highway drone,night car" --state --dedupe

# Smart AI Video Search
px smart-video "Slow motion rainfall on city pavement"

3. Media Downloading

# Download photo by ID
px download 12377231 --output ./photo.jpg

# Download 4K video by ID
px download 25460961 --type video --output ./clip.mp4

📄 License

This project is licensed under the MIT License.

Metadata

Release files for pexels-ai-cli 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pexels-ai-cli 0.2.0
File Size Uploaded
pexels_ai_cli-0.2.0.tar.gz 87.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pexels-ai-cli 0.2.0
File Interpreter ABI Platform
pexels_ai_cli-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 109.0 kB

Release files / pexels_ai_cli-0.2.0.tar.gz

Download URL pexels_ai_cli-0.2.0.tar.gz
Size 87.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ad328fced3b487249ac90f6afe2f6c312562aed91b37b2156c175a853c7f7e49
BLAKE2b-256 checksum
How to use checksums
18ffec6c1d92a8face705e65122e24b2cb27fb5e2f46499a54ff5d7a815a9ca1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pexels_ai_cli-0.2.0-py3-none-any.whl

Download URL pexels_ai_cli-0.2.0-py3-none-any.whl
Size 21.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf63f56b1f77ef7963d817496a7256721855e42d21b0dbc3f92bb2a8d0a7c0c4
BLAKE2b-256 checksum
How to use checksums
4159cf22f617d02591ff03a54bd9ef454ee8a72907c1450c7c33264f5cb5bab7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page