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

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.1
File Size Uploaded
pexels_ai_cli-0.2.1.tar.gz 87.4 kB Details

Built distribution (wheel)

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

Total release size: 109.5 kB

Release files / pexels_ai_cli-0.2.1.tar.gz

Download URL pexels_ai_cli-0.2.1.tar.gz
Size 87.4 kB
Tags Source
SHA-256 checksum
How to use checksums
88c0731a9f2517cd6d9c589c9ac6a5d7c92987a9d2eed421685eae34f67d817c
BLAKE2b-256 checksum
How to use checksums
af5f2fc5290c1ab66dda3f60f9962fe18a14bd97a38585885817c28c2de10b34
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.1-py3-none-any.whl

Download URL pexels_ai_cli-0.2.1-py3-none-any.whl
Size 22.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d26197f67f32e353f86ccc824f95b3fc392077ff69e9d2a7949c4133d03cecdf
BLAKE2b-256 checksum
How to use checksums
e5979f30b7f81d930e995d56b632dc4fe790c1c0a8bde0605023ea2bdce11221
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

This release

0.2.1 This release

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