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

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.3
File Size Uploaded
pexels_ai_cli-0.2.3.tar.gz 88.5 kB Details

Built distribution (wheel)

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

Total release size: 111.3 kB

Release files / pexels_ai_cli-0.2.3.tar.gz

Download URL pexels_ai_cli-0.2.3.tar.gz
Size 88.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0c29616999f55e702ad277a71a15204b2bd08eea805b02663459be7150f94ebb
BLAKE2b-256 checksum
How to use checksums
8142416d354795c283e2ed89e3a20961088d7ffed142524350e547e9df33ef20
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.3-py3-none-any.whl

Download URL pexels_ai_cli-0.2.3-py3-none-any.whl
Size 22.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b29fa9b593027d384d111c1dafee287c4e7afe5fe2e177accc3986ff2bf979c1
BLAKE2b-256 checksum
How to use checksums
e3e48c842a836d970ff8b0fcb8f8b7830e2b2da8e65920c70b3af1ab77043172
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

This release

0.2.3 This release

2 release files

0.2.2

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