By Jetformat
Jetformat CLI login is the machine authorization step that allows metered writes to use an account’s credits. It is separate from installing the binary: free reads such as validation, text extraction, and inspection work without signing in.
Sign in before your first paid operation
- Install the CLI and confirm a free read works on a test document.
- Run
jetformat loginon the machine that will execute paid jobs, or use the device flow below. - Complete the browser flow and run
jetformat statusto inspect the stored state. - Convert a small representative file and check the output before starting a batch.
login
jetformat login
jetformat login --device-auth
Opens the browser to jetformat.com, the same way Codex login does. --device-auth prints a URL and a code instead, for machines without a browser. The token is stored in ~/.jetformat/credentials.json with mode 0600.
status
jetformat status
Prints {"authenticated": true, "balance": 80, "locked": false} without contacting the network.
logout
jetformat logout
Removes the local token. unauth and unAuth are aliases.
Plans
Reads (text, inspect, get, info, validate) never need sign-in. Every account gets 80 credits a month for writes. Pro ($9 a month) refills 2,000 pages and Team ($39 a month) 10,000, both managed from the console with the Stripe portal. Packs top up once and never expire.
What happens on a paid command
- Before the job, the CLI checks that the account has credits. Zero balance refuses to start and writes nothing.
- The job runs locally.
- On success the CLI reports the verb, the unit count, and a job id. Never the file, its name, or a hash.
- On failure it reports zero and nothing is charged.
Override the API base with JETFORMAT_API for self-hosted testing. Release builds have no switch that turns metering off. See how credits work.
Environment variables
| Variable | Effect |
|---|---|
JETFORMAT_API |
Console base URL for sign-in, billing, and telemetry. Default https://jetformat.com. |
JETFORMAT_CONFIG_DIR |
Where credentials and telemetry settings live. Default ~/.jetformat. |
JETFORMAT_TELEMETRY |
off stops the anonymous usage ping; on forces it. DO_NOT_TRACK=1 also stops it. |
JETFORMAT_CLIENT |
Short id of the agent host, such as openai-skill, included in the usage ping. |
JETFORMAT_HTML_SERVER |
Renderer address for html to-pdf. |
Local status versus account billing
status reports local state without a network refresh. Treat the displayed balance as local information rather than a guarantee that another machine has not spent credits since the state was saved. Use the account console to review billing and plan settings. Do not paste credential files into support tickets or job logs.
| Task | Command or destination | What it changes |
|---|---|---|
| Authorize this machine | login |
Stores a local credential |
| Inspect local state | status |
Reads the stored state |
| Remove local sign-in | logout |
Removes the local credential |
| Review plans or top up | Account billing console | Account billing settings |
Estimate before a batch
A conversion producing 10 pages uses 10 credits. A separate preview of 2 pages uses 2 credits, for 12 credits total. An Office edit is 1 credit per command, even if it changes several cells. These are usage units, not a universal dollar price: allowances and packs have different effective rates. See pricing and worked estimates.
The local-processing description above applies to Office and ordinary PDF jobs. HTML conversion uses a separate renderer endpoint, and a timestamp operation contacts its configured timestamp authority. Review file processing boundaries for workflows involving those operations.