Forecast a Time Series with Chronos-Bolt
Tenzro's forecast runtime serves five univariate time-series foundation models out of the box: chronos-2, chronos-bolt-small, chronos-bolt-base, timesfm-2.5, and granite-ttm-r2. This tutorial downloads chronos-bolt-small— the cheapest end-to-end path — and runs a 24-step probabilistic forecast over both the CLI and JSON-RPC.
1. Download the model
Chronos-Bolt ships under a permissive Apache-2.0 license, so no extra flags are required. The downloader pulls the ONNX bundle (encoder + decoder + config) and verifies SHA-256 for each file.
# Download Chronos-Bolt small (permissive Apache-2.0 license)
tenzro model download chronos-bolt-small
# Output:
# Resolving artifact bundle from HuggingFace Hub...
# Source: amazon/chronos-bolt-small (ONNX export)
# License tier: Permissive
# Files: encoder.onnx, decoder.onnx, config.json
# SHA-256 verified for all files
# Saved to: ~/.tenzro/models/chronos-bolt-small/2. Load it into the forecast runtime
The forecast runtime keeps the ORT session warm so subsequent calls skip cold-start cost. Models are unloaded explicitly with tenzro forecast unload <model_id>.
# Load the model into the forecast runtime
tenzro forecast load chronos-bolt-small
# Output:
# Forecast runtime loaded:
# Model: chronos-bolt-small
# Modality: forecast
# Context length: 512
# Default horizon: 64
# Quantile heads: [0.1, 0.5, 0.9]3. Forecast via the CLI
Pass the recent context window as a comma-separated series and a horizon length. The CLI prints the median trajectory plus the q10 / q90 quantile bands.
# Forecast a 24-step horizon from a recent context window
tenzro forecast \
--model chronos-bolt-small \
--series 100,102,98,105,107,110,108,112,115,118,120,122,119,124,127,130,128,132,135,138 \
--horizon 24
# Output:
# Forecast (24 steps):
# median: [140.2, 141.8, 143.5, ...]
# q10: [137.1, 138.2, 139.0, ...]
# q90: [143.8, 145.1, 146.9, ...]
# latency_ms: 844. Forecast via JSON-RPC
Any client can hit tenzro_forecast directly. The public testnet endpoint is available at rpc.tenzro.network.
# Equivalent JSON-RPC call against the public testnet
curl https://rpc.tenzro.network \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tenzro_forecast",
"params": {
"model_id": "chronos-bolt-small",
"series": [100, 102, 98, 105, 107, 110, 108, 112, 115, 118,
120, 122, 119, 124, 127, 130, 128, 132, 135, 138],
"horizon": 24
}
}' | jqA typical response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"model_id": "chronos-bolt-small",
"horizon": 24,
"median": [140.2, 141.8, 143.5, "..."],
"quantiles": {
"0.1": [137.1, 138.2, 139.0, "..."],
"0.5": [140.2, 141.8, 143.5, "..."],
"0.9": [143.8, 145.1, 146.9, "..."]
},
"latency_ms": 84
}
}5. Browse the forecast catalog
# Discover other forecast models in the network catalog
curl https://rpc.tenzro.network \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tenzro_listForecastCatalog",
"params": {}
}' | jq
# Returns: chronos-2, chronos-bolt-small, chronos-bolt-base,
# timesfm-2.5, granite-ttm-r2See also
- Model serving documentation — modality routing, license-tier gating, persistence
- Inference RPC reference— full schema for
tenzro_forecastand the other modality-specific methods - Become an AI Model Provider — serve forecast models as a paid provider