Command line
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.
Install
Section titled “Install”pipx install originalpictures-clior 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.
Configure
Section titled “Configure”originalpictures config set-api-url https://api.originalpictures.comoriginalpictures auth login # paste the key at the hidden promptoriginalpictures auth statusThe 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.
Upload, sign and download
Section titled “Upload, sign and download”originalpictures --json uploads file photo.jpg --media-type image/jpeg > upload.jsonASSET=$(jq -r .completion.asset_id upload.json)
originalpictures --json sign accept --asset "$ASSET" --no-watermark --no-fingerprint > job.jsonoriginalpictures --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.jpgsign 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.