content — Content CLI
A thin command-line client for the Content engine, built on the official
Python SDK (content_sdk) — it never
speaks HTTP itself and never runs the planner, yt-dlp or ffmpeg. Ergonomic
shortcuts (video, audio) are normalized to canonical GenerationRequests;
there is no parallel contract.
Install
The CLI is an ordinary Python application — nothing to clone:
uv tool install content-cli # isolated, on your PATH — recommended
content --help
# or
pipx install content-cli
content-cli on PyPI pulls
content-sdk as an ordinary
dependency, pinned to the matching release. The wheels are also attached to
each GitHub release
for air-gapped installs (uv tool install ./content_cli-<v>-py3-none-any.whl --find-links .).
From a clone
pip install ./packages/python-sdk ./apps/cli # exposes `content`
For development
make install # editable installs of the engine, SDK, CLI and MCP in one venv
Build the distributions yourself with make wheels (they land in dist/).
Point it at your engine
--api-url URL or CONTENT_API_URL (default http://localhost:8010):
export CONTENT_API_URL=http://nas.local:8010
content health
Commands
content health
content config
content analyze https://youtu.be/… [--credential youtube]
content analysis <analysis_id> # re-fetch a stored analysis (ADR 0014)
content video https://youtu.be/… --height 1080 --container mkv --subs en,fr --watch
content audio https://youtu.be/… --format opus --folder music --name track --watch
content video https://…/playlist?list=… --playlist --watch # each item
content submit request.json --watch # raw GenerationRequest (or - for stdin)
content jobs
content job <job_id>
content watch <job_id>
content artifacts <job_id>
content download <artifact_id> -o out.mkv
content cancel <job_id> ; content retry <job_id>
Global flags: --api-url URL and --json (raw JSON output) go before the
subcommand. Exit code is non-zero on API errors or a failed watched job.
Exit codes when watching a job
content ... --watch and content watch <job> return the outcome, so a script
can chain on it (ADR 0021):
| Code | Meaning |
|---|---|
0 |
succeeded — everything asked for was produced |
2 |
partially_succeeded — some of it was, and at least one step failed |
1 |
failed or cancelled |
2 is deliberately distinct from 1. A playlist that yielded five videos of
six, or a download whose delivery into your library was refused, is not a
failure — but it is not a success either, and a script that treats it as one
will quietly move on with missing files.
Metadata
Release files for content-cli 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| content_cli-0.7.0.tar.gz | 21.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| content_cli-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 43.9 kB
Release files / content_cli-0.7.0.tar.gz
| Download URL | content_cli-0.7.0.tar.gz |
|---|---|
| Size | 21.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dfccc7c1aae90b3485599eb873dbe9b45057f94fd49ef71d67fbb6684ea0872c
|
|
BLAKE2b-256 checksum How to use checksums |
0952b294ed856604f1e87c74d36093ac004f3ac284faa9d08769fad7c0c523e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency logRelease files / content_cli-0.7.0-py3-none-any.whl
| Download URL | content_cli-0.7.0-py3-none-any.whl |
|---|---|
| Size | 22.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3fc455f3778be4b8e510aa0c4c1949eb05130efeca5e32af71792c1cb36c4fde
|
|
BLAKE2b-256 checksum How to use checksums |
61f4c9b8eac5522a62d27764fa163e41daf872a28c96ac97977df744cd45f0ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency log