✨ Pexels AI CLI (px / pexels-cli)
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 generatedstatestrings 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 LLMllama3.2). - ⚡ High-Speed Downloader: Async stream downloader with rich progress bars (
px download).
🚀 Global Installation
Option 1: Install globally via uv (Recommended)
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)
| File | Size | Uploaded | |
|---|---|---|---|
| pexels_ai_cli-0.2.1.tar.gz | 87.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|