--jsonswitches any command to raw, pipe-safe JSON on stdout.--no-waitsubmits async work and prints thejob_idinstead of polling; resume withpulse jobs get.--api-keyoverrides the stored credential for one invocation (also read from thePULSE_API_KEYenvironment variable).-hafter any command prints its full options.
pulse extract
Convert documents to markdown and JSON. Accepts any mix of file paths, directories (recursed for supported types), and URLs.<name>.pulse.md and <name>.pulse.json next to the source file
(-o <dir> redirects; URL inputs land in the current directory). The output always
includes the extraction_id you’ll need for follow-up commands.
Add --schema to run extraction and structured output as one pipeline; the structured
fields are written to <name>.pulse.schema.json:
| Flag | Description |
|---|---|
--schema <file or inline JSON> | Extract, then apply this JSON Schema for structured output. |
--pages "1-2,5" | Page range, 1-indexed. |
--model <name> | Model override: default or pulse-ultra-2. |
--html | Also return an HTML rendition. |
--footnotes | Link footnote markers to their text. |
--figure-descriptions | Caption figures and visuals. |
--show-images | Return image URLs for visuals. |
--chunking semantic,page | Chunk types: semantic, header, page, recursive. |
--chunk-size <n> | Max characters per chunk. |
-o, --output <dir> | Directory for result files. |
--no-wait | Submit and print the job_id without polling. |
--json | Print the full JSON result to stdout; write no files. |
Files up to 50 MB upload directly. Pass larger documents by URL. See
supported file types.
pulse schema
Structured extraction against a previous extraction. (To extract and structure in one command, usepulse extract --schema above.)
pulse schema generate
AI-draft a JSON Schema from a plain-English description, or refine an existing one:| Flag | Description |
|---|---|
-p, --prompt <text> | Describe the fields you want. |
--from <file> | Existing schema JSON file to refine. |
-o, --output <file> | Write the schema to a file (default: stdout). |
pulse schema apply
Run a schema against extracted content:| Flag | Description |
|---|---|
--schema <file> | JSON Schema file. |
-p, --prompt <text> | Extra extraction guidance (works with or without --schema). |
--extraction-ids a,b,c | Combine several extractions. |
--split-id <id> | Apply per-topic schemas to a split. |
--split-schema-config <file> | Per-topic schema mapping (with --split-id). |
--schema-config-id <id> | Use a schema config saved in the platform. |
--effort | Higher-effort extraction. |
--pages "1-3" | Restrict to a page range. |
-o, --output <file> | Write result JSON to a file (default: stdout). |
pulse split
Split a prior extraction into sections by topic:| Flag | Description |
|---|---|
-t, --topic "name:description" | Repeatable; description optional. |
--topics-file <json> | JSON file: [{name, description}, ...]. |
--split-config-id <id> | Use a split config saved in the platform. |
split_id feeds
pulse schema apply --split-id for per-topic structured extraction.
pulse tables
Pull tables out of a prior extraction:| Flag | Description |
|---|---|
-f, --format html|json | Table output format (default: html). |
--merge | Merge tables that span pages. |
--charts-to-tables | Convert charts into tables too. |
-o, --output <file> | Write result JSON to a file. |
pulse jobs
Every long-running command runs async under the hood and polls for you. Hand control back with--no-wait, or press Ctrl-C while polling (the job keeps running
server-side), and resume any time:
pulse usage
Plan and usage for the current billing period: pages used vs. allowance, plus a breakdown by source (documents, pages, latency):pulse open
Jump from the terminal to the platform:pulse login / whoami / logout
--api-key <key>flagPULSE_API_KEYenvironment variable (recommended for CI)- Stored credential from
pulse login(OS keychain)
pulse login --base-url <url> points the CLI at a different engine (for example a VPC
deployment).
Interactive mode
- Bare
pulsestarts an interactive shell with the full command set and inline help. pulse dashboardopens a full-screen account and usage view.
Scripting and output
- Human-readable progress goes to the terminal;
--jsonmakes stdout pure JSON, sopulse extract report.pdf --json | jq .markdownjust works. - File-writing commands echo every path they write plus the
extraction_id. - Exit codes:
0success,1failure (any document in a batch failing),130interrupted (job still running server-side).
Troubleshooting
Authentication failed or 401
Authentication failed or 401
Run
pulse whoami to see which credential is active and where it came from. A flag
or PULSE_API_KEY overrides the stored key, so a stale environment variable is the
usual culprit. Re-run pulse login to refresh the stored key.The command returned a job_id but no result
The command returned a job_id but no result
You passed
--no-wait or interrupted polling. The job is still running server-side:
pulse jobs get <job_id> --watch picks it back up.pulse usage errors but extraction works
pulse usage errors but extraction works
pulse usage talks to the platform API rather than the extraction engine. Re-run
pulse login (browser flow configures both), or set the platform URL with
pulse login --platform-url https://platform.runpulse.com.My file is over 50 MB
My file is over 50 MB
Direct uploads cap at 50 MB. Host the document somewhere reachable (a pre-signed S3
URL works) and pass the URL to
pulse extract.Payment required / out of credits
Payment required / out of credits
Your plan limit was reached. Check
pulse usage, upgrade in the
platform, or
contact support.Next steps
CLI overview
Install, login, and when to use the CLI.
API reference
The endpoints behind every command.
