Skip to main content

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

content_cli-0.6.4.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

content_cli-0.6.4-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file content_cli-0.6.4.tar.gz.

File metadata

  • Download URL: content_cli-0.6.4.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for content_cli-0.6.4.tar.gz
Algorithm Hash digest
SHA256 f2e99d09853b2ff56b7e132a324ec286a5f6d46fb3fe83476e786e318ce6af04
MD5 bc82a2ba48d8a645a40542e3bd799424
BLAKE2b-256 cb9c96e82e62c9e0417cd9f4cc8764280affcaa43489969926f842a7289938d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for content_cli-0.6.4.tar.gz:

Publisher: publish-pypi.yml on LatentNoise/content

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file content_cli-0.6.4-py3-none-any.whl.

File metadata

  • Download URL: content_cli-0.6.4-py3-none-any.whl
  • Upload date:
  • Size: 22.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for content_cli-0.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cf82c4d1dabcf507da8f2b2e29d712f504c37b7c287f6b118b231550d31cee0e
MD5 b2e1b3718b8e03336b0e58f5995afff0
BLAKE2b-256 dca9f32e6b90c767fc8d91caa860ae2fcfa92992a3cccf1d481446d5efa3c8ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for content_cli-0.6.4-py3-none-any.whl:

Publisher: publish-pypi.yml on LatentNoise/content

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.6.7

2 files

0.6.6

2 files

0.6.5

2 files

This release

0.6.4 This release

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.3

2 files

0.3.0

2 files

0.2.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page