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
Once published, 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 pulls content-sdk from PyPI as an ordinary dependency, pinned
to the matching release.
Not published yet. Until the first publication the packages are attached to each GitHub release as wheels; see From a release below. The commands above are what will work afterwards.
From a release (today)
Download content_sdk-<version>-py3-none-any.whl and
content_cli-<version>-py3-none-any.whl from the
latest release, then:
uv tool install ./content_cli-<version>-py3-none-any.whl \
--find-links . # --find-links lets it resolve the SDK beside it
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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file content_cli-0.2.0.tar.gz.
File metadata
- Download URL: content_cli-0.2.0.tar.gz
- Upload date:
- Size: 19.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f760d3da028aa618d38a6e294f9da6446cadbb4ad1d25edaee603db4b4bdb9d3
|
|
| MD5 |
33a3c3b90e640e7387e571c0cb2f43a4
|
|
| BLAKE2b-256 |
ca8e0bfc9a11d382a90f5bd7ebe71ddf3f543b7ec685ec8d7b4939c6e89a030a
|
Provenance
The following attestation bundles were made for content_cli-0.2.0.tar.gz:
Publisher:
publish-pypi.yml on LatentNoise/content
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
content_cli-0.2.0.tar.gz -
Subject digest:
f760d3da028aa618d38a6e294f9da6446cadbb4ad1d25edaee603db4b4bdb9d3 - Sigstore transparency entry: 2410030345
- Sigstore integration time:
-
Permalink:
LatentNoise/content@9aba537477d9e5e787d79271b90e0b62e944eb60 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/LatentNoise
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@9aba537477d9e5e787d79271b90e0b62e944eb60 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file content_cli-0.2.0-py3-none-any.whl.
File metadata
- Download URL: content_cli-0.2.0-py3-none-any.whl
- Upload date:
- Size: 21.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1afe55fbc37015327825f67ec935c0743d5af72c849296b5ca49051d8085e97
|
|
| MD5 |
60df9921d5584b2fa6f2f6e46b194a61
|
|
| BLAKE2b-256 |
233d178e510a7d9be8bad6ea0498152f7cbe0ed08d64d1c6ff95709c0de6707a
|
Provenance
The following attestation bundles were made for content_cli-0.2.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on LatentNoise/content
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
content_cli-0.2.0-py3-none-any.whl -
Subject digest:
c1afe55fbc37015327825f67ec935c0743d5af72c849296b5ca49051d8085e97 - Sigstore transparency entry: 2410030401
- Sigstore integration time:
-
Permalink:
LatentNoise/content@9aba537477d9e5e787d79271b90e0b62e944eb60 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/LatentNoise
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@9aba537477d9e5e787d79271b90e0b62e944eb60 -
Trigger Event:
workflow_dispatch
-
Statement type: