Skip to content

CLI Tool

The certivu CLI lets you sign and verify AI-generated content directly from the terminal — suited for shell scripts, CI pipelines, and quick manual testing.

Via npm (recommended):

Terminal window
npm install -g @certivu/cli

Via Bun:

Terminal window
bun install -g @certivu/cli

Via install script (installs npm package automatically):

Terminal window
curl -fsSL https://certivu.ai/install.sh | sh

Verify the install:

Terminal window
certivu --version # 1.2.0

The CLI reads config from three sources in priority order:

  1. CLI flags (highest priority) — --api-key, --generator-id
  2. Environment variablesCERTIVU_API_KEY, CERTIVU_GENERATOR_ID
  3. Config file~/.config/certivu/config.json

Set persistent config with certivu config set:

Terminal window
certivu config set api-key ctv_key_abc123
certivu config set generator-id your-generator-uuid
certivu config get # show current config

Upload an image for server-side watermarking and signing. The API returns the watermarked image which is written to disk.

Terminal window
certivu sign ./output.jpg --model stable-diffusion-xl
✓ Signed
Token ctv_7f3kx9mq2...
Record ID rec-00000000-...
Output ./output.signed.jpg

Flags:

FlagDescription
--model <name>AI model name — required
--generator-id <id>Override generator ID from config
--output <path>Output path for watermarked image (default: <file>.signed.<ext>)
--api-key <key>Override API key from config
--base-url <url>Override API base URL

Verify content authenticity. Free — no API key required.

Terminal window
certivu verify ./image.jpg

Token is extracted automatically from XMP metadata or frequency-domain watermark. Pass --token to skip extraction:

Terminal window
certivu verify ./image.jpg --token ctv_7f3kx9mq2...

Authentic:

✓ Authentic — HIGH confidence
Org Acme AI
Model stable-diffusion-xl
Signed 2026-06-07T12:00:00Z
Source watermark
Signals: watermark ✓ record ✓ signature ✓

Not verified:

✗ Not verified — no_provenance_found
Absence of provenance does not imply human origin.
Signals: watermark ✗ record ✗ signature ✗

Tampered:

✗ Tampered — content has been modified since signing
Signals: watermark ✓ record ✓ signature ✗

Lightweight token metadata lookup — no image upload needed. CDN-cacheable.

Terminal window
certivu status ctv_7f3kx9mq2...
✓ Active
Record rec-00000000-...
Model stable-diffusion-xl
Signed 2026-06-07T12:00:00Z
Generator active
Org org-00000000-...

Use this to check if a token is still valid before embedding it, or to display provenance metadata without re-verifying the image.


Terminal window
certivu config get # show all config values
certivu config set api-key ... # save a value

Valid keys: api-key, generator-id, base-url.


VariableDescription
CERTIVU_API_KEYYour ctv_key_... API key
CERTIVU_GENERATOR_IDDefault generator UUID
CERTIVU_BASE_URLOverride API URL (default: https://api.certivu.ai)

# GitHub Actions example
- name: Sign AI output
env:
CERTIVU_API_KEY: ${{ secrets.CERTIVU_API_KEY }}
CERTIVU_GENERATOR_ID: ${{ secrets.CERTIVU_GENERATOR_ID }}
run: |
curl -fsSL https://certivu.ai/install.sh | sh
certivu sign ./output.jpg --model my-model
# watermarked image written to ./output.signed.jpg

All release binaries are available at github.com/certivu/certivu/releases:

BinaryPlatform
certivu-linux-x64Linux x86-64
certivu-macos-x64macOS Intel
certivu-macos-arm64macOS Apple Silicon