Skip to main content
pip install r3alai gives you an r3al command. It covers the same workflow as the Python SDK: inspect a model, quantize it on R3AL’s GPUs, and benchmark the result on your own machine.
Requires r3alai 2.4.3 or newer. Earlier versions either ship no command at all (< 2.4.0), have a broken benchmark (2.4.0–2.4.1), or ship without the bundled skill so r3al skill install fails (2.4.2). Check with r3al --version.

Install

r3al login writes the key to ~/.config/r3al/credentials.json with 0600 permissions, so later commands need no environment variable. It has no --key flag on purpose: an argv secret is visible in shell history and to every process on the machine. r3al login --status reports which key is in use, and r3al login --logout removes the stored one. For HuggingFace models, add the export extra:

The cost model

Read this before anything else. Five commands are free; two spend a plan run.

Free

export · methods · validate · inspect · benchmark · usage · login · skillNo plan runs. Nothing but usage, login and a Hub export touches the network, and none of them upload your model.

Spends one plan run

quantize · qatBoth validate locally first and refuse to submit without --yes.
The confirmation gate exists so a mistyped command, or an automated retry, costs nothing. Compose and correct with the free commands until you are certain, then add --yes.

A complete run

inspect reports the input shape, opset, an operator histogram, and a recommended_method derived from how convolution-heavy the graph is. Use that rather than guessing between ptq_static and ptq_dynamic. quantize reports both output_dir and output_model — the resolved path to the deliverable inside the bundle. Use output_model rather than constructing a filename: a downloaded deliverable carries a job-specific prefix.

Calibration data

Static quantization observes real inputs to derive activation ranges, so ptq_static cannot run without them. The CLI refuses rather than generating random tensors, because calibrating on noise yields a model that looks successful and is quietly worse.
Pass a directory or a comma-separated list. Accepted formats: images (.jpg, .jpeg, .png, .bmp, .gif, .tif, .tiff, .webp, .ppm), resized and scaled automatically; or .npy/.npz arrays already shaped like the model input, used exactly as given. See Calibration for how many samples and what makes a good set.

Machine-readable output

--json makes any command emit exactly one JSON object on stdout, with all progress commentary on stderr. It works before or after the subcommand.

Exit codes

Distinct per failure class, so scripts can branch without parsing output. Codes 2 and 6 cost nothing.

Environment

R3AL_ASSUME_YES=1 disables the confirmation gate for the whole session. Set it only in a pipeline you control, never as a convenience while experimenting.

Next

Command reference

Every command and every flag.

Use it from a coding agent

Install the bundled skill, and how the guard rails work for agents.