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.2

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.2
File Size Uploaded
pexels_ai_cli-0.2.2.tar.gz 87.8 kB Details

Built distribution (wheel)

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

Total release size: 110.1 kB

Release files / pexels_ai_cli-0.2.2.tar.gz

Download URL pexels_ai_cli-0.2.2.tar.gz
Size 87.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8c06d8a9da5ef91b8e2b7437239a94da4dc540745d3b789d20b2b3bcfdb1c48d
BLAKE2b-256 checksum
How to use checksums
6e7bcc8cb178f7783df4a6e1775c5678abf048877e7f0f33b75defe9ad073e88
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.2-py3-none-any.whl

Download URL pexels_ai_cli-0.2.2-py3-none-any.whl
Size 22.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
821d5c24c148f8bde92f474d316bdd20b564cab67f3b9f12680f15308700e97c
BLAKE2b-256 checksum
How to use checksums
ca518320c90b874fcd1a30e2de80bb8faa9681ada4c284d91f2dedaf49543188
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

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

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