Skip to content

Command line

llms.txtAsk agent

originalpictures-cli installs the originalpictures command, a scriptable interface to the public API. It delegates every network call to the Python SDK, reads the key only from the environment, a hidden prompt or standard input, and never from command arguments.

Terminal window
pipx install originalpictures-cli

or uv tool install originalpictures-cli. Python 3.12 or later. The package is on PyPI (0.1.0 since 2026-11-10); its source is the public originalpictures-clients repository.

Terminal window
originalpictures config set-api-url https://api.originalpictures.com
originalpictures auth login # paste the key at the hidden prompt
originalpictures auth status

The built-in default API URL is a local development address, so set the URL once per profile, or export ORIGINALPICTURES_API_URL in each shell. In CI, export ORIGINALPICTURES_API_KEY from the secret store instead of running auth login.

Terminal window
originalpictures --json uploads file photo.jpg --media-type image/jpeg > upload.json
ASSET=$(jq -r .completion.asset_id upload.json)
originalpictures --json sign accept --asset "$ASSET" --no-watermark --no-fingerprint > job.json
originalpictures --json jobs wait "$(jq -r .job_id job.json)" --poll-timeout 300 > signed.json
originalpictures assets download "$(jq -r .result.asset_id signed.json)" photo.signed.jpg

sign accept builds the request from flags: send --watermark/--no-watermark and --fingerprint/--no-fingerprint every time, as in Sign. The download is checked against the published length and SHA-256. originalpictures capabilities show lists what the deployment accepts.

Root options (--json, --profile, --api-url, --timeout) come before the command group. With --json, results are compact JSON on stdout and errors are JSON on stderr, with stable exit codes. The package README lists every command and flag.