Your timestamps.
Your values. One forecast.
Pretick prepares the observations for the model and pairs its predictions with the future time slots you requested. You can change supported models without rebuilding the input format.
One shared representation
Internally, Pretick represents every series as keyed observations: {key, value}. Timestamp keys normalize to human-readable ISO 8601 UTC, such as 2026-09-28T13:00:00.000Z. Without timestamps, observations use 1-based sequence keys and predictions continue those keys. Explicit numeric keys are preserved. Multiple value columns use an array in the declared column order.
{
"key_type": "timestamp",
"columns": [
"value"
],
"observations": [
{
"key": "2026-09-28T13:00:00.000Z",
"value": 100
}
]
}The free preview exposes this canonical series and the model-specific numerical input derived from it. Forecast responses include keys, aligned one-for-one with predictions, and key_type. Existing input forms and times labels remain compatible. Epoch milliseconds are used for internal date arithmetic, not as the public default notation. Numeric keys are never silently interpreted as epochs.
General or financial data
General is the default. Choose Financial in the demo or add domain: "financial" to include Kronos Base for eligible price input alongside the general models. A single positive price per observation is enough: TSFM.ai applies its synthetic-candle fallback. If you have real open, high, low and close data, Pretick preserves those columns instead.
{
"model": "NeoQuasar/Kronos-base",
"data": [
100,
101.2,
100.8,
102.1,
101.7,
103
],
"horizon": 3
}Set model: "NeoQuasar/Kronos-base" to request only its opinion; domain is then optional. Send data: {timestamps, values} to include your real timeline. For pasted OHLC tables, use named time, open, high, low and close columns; volume and amount are optional. Structured history columns work too. The OHLC target defaults to close.
Kronos accepts continuous history with 3�512 rows and up to 144 future points. It does not accept separate daily sessions or silently truncate longer history. Single-price timestamped input can use explicit resampling. OHLC must already be aggregated correctly. For a separate Kronos opinion on the rest of today, submit a recent continuous price window, not six disconnected Mondays. Use the same future timestamps as your other forecast when comparing.
With a real regular timeline, Pretick passes a start timestamp and cadence and verifies returned forecast timestamps. Without dates, it sends sequence values without a real calendar anchor; the response has no invented calendar dates. Numeric keys remain step labels. For dated text, use regular ISO dates or ISO timestamps with offsets. Irregular trading-day calendars and session selection need further support for this hosted adapter.
The free preview reports kronos_input_mode, kronos_timestamp_mode and synthetic_candles. The fallback is an adaptation, not recovered intraperiod market data. The hosted point estimate is a provider mean, carried in the legacy median field for compatibility; no probability bands are exposed. Financial consensus reports provider failures/exclusions and retains the available general consensus. Short requests may finish in seconds; longer Kronos forecasts can take 1�2 minutes. Set client timeouts to 180 seconds and check usage before retrying a timeout. Each successful request costs $0.02; a separate Kronos call is a separate request. Eligible financial values and timestamps are sent to TSFM.ai; see our privacy policy.
1. Prefer timestamp/value pairs
{
"data": {
"timestamps": [
"2026-09-28T09:00:00-04:00",
"2026-09-28T09:05:00-04:00",
"2026-09-28T09:10:00-04:00"
],
"values": [
4.41,
4.42,
4.425
]
},
"timezone": "America/New_York",
"horizon": 3
}Both arrays have the same length: value i belongs to timestamp i. Send 3–2,048 observations, oldest first. Frequency is inferred when omitted; this example is five minutes. Omit horizon to return the same number of future observations, up to 1,024. Set forecast: {start, end} instead to specify an exact window. End is inclusive. Continuous history must forecast the next interval.
For multiple numerical columns, use history: {columns, timestamps, values}, with one numeric row per timestamp. Targets default to all columns for timestamped input. An optional targets list selects the outputs; other columns are past covariates. Calendar-aware consensus and TiRex-2 support up to 320 future slots; Chronos-2 supports up to 1,024.
Or send values alone
{
"data": [
4.41,
4.42,
4.425
]
}Pasted text works too: commas, tabs, spaces, semicolons, pipes and newlines. Values-only input does not establish elapsed time, so Pretick returns observation steps without inventing timestamps. Simple input supports up to 1,024 observations. See the general guide for pasted time/value rows, columns and alternating lines.
2. Inspect parsing before inference
POST https://pretick.ai/v1/timeseries/prepare
Submit the same JSON without an API key. This free endpoint makes no model call and spends no credit. It returns preparation, the future times, and the actual model_input. The playground's “Preview parsing” button provides the same checks. MCP clients can use prepare_forecast.
Review cadence, timezone, session lengths, resampling, timestamp adjustments and model exclusions. Then send your original request to POST /v1/timeseries/forecast with your Bearer key. Do not resubmit the internal model_input object; it contains derived adapter fields.
3. Separate comparable daily examples
{
"timezone": "America/New_York",
"sessions": [
{
"timestamps": [
"2026-09-14T09:00:00-04:00",
"2026-09-14T09:05:00-04:00",
"2026-09-14T09:10:00-04:00"
],
"values": [
4.3,
4.32,
4.31
]
},
{
"timestamps": [
"2026-09-21T09:00:00-04:00",
"2026-09-21T09:05:00-04:00",
"2026-09-21T09:10:00-04:00"
],
"values": [
4.4,
4.42,
4.41
]
}
],
"current": {
"timestamps": [
"2026-09-28T09:00:00-04:00"
],
"values": [
4.45
]
},
"forecast": {
"start": "2026-09-28T09:05:00-04:00",
"end": "2026-09-28T09:10:00-04:00"
}
}This small example has two historical days, an observed prefix of the target day, and two future slots. For six complete Mondays at five-minute cadence, submit six 288-point sessions. Add today's observations as current; forecast from the next unobserved slot through 23:55. Without current, request the whole matching daily window. These are selected daily examples, not consecutive calendar days.
Sessions are optional and not specific to Mondays or finance. This version accepts 2–12 comparable daily sessions with identical local-time slots, plus an optional current-day prefix. Use an IANA timezone, such as America/New_York. Different weekdays are allowed; choose comparable examples intentionally. Total history, including current, is capped at 2,048 rows. Current plus the requested future window must cover exactly one session's slots. Overnight or unequal-length sessions are not supported in this mode yet.
Collection jitter, aggregation and gaps
By default, timestamped input can normalize small collection jitter: up to the smaller of one second or 1% of cadence. The preview reports timestamps_snapped; set timestamp_tolerance_ms: 0 for exact timestamps.
For irregular collection times, explicitly choose a regular bucket size and aggregation:
{
"resample": {
"frequency": "5min",
"aggregation": "last"
}
}Buckets are UTC-aligned half-open intervals [start, start + frequency), labeled at their start. “last” uses the latest observation in each bucket; “mean” averages it. The preview reports bucketed timestamps and merged rows. Empty buckets are rejected; there is no automatic interpolation, forward fill, or leading-value backfill. Prices are not shifted to a common level. Every submitted observation must precede the requested forecast.
Timestamp rules and current boundaries
- Structured timestamps use ISO 8601 with Z or an explicit offset. Supply timezone for local calendar features; continuous input defaults to UTC. Sessions require a named timezone.
- Unqualified dates, locale-ambiguous dates and epoch numbers are not accepted in structured timestamp arrays. Pasted input separately supports the date/key formats documented in the general guide, including month/day dates.
- Cadence is a fixed number of whole seconds, at least one second. Calendar-month intervals and arbitrary sparse future timestamps are not supported by the structured timestamp format.
- Numeric values must be finite and have magnitude at most 1e12. Nulls and empty cells are rejected. Put future timestamps in forecast, not blank target rows in history.
- No silent sorting, deduplication, missing-value filling or clipping. With resampling, aggregation is explicit. Body limit: 400,000 bytes; prepared model input must also fit that limit.
What reaches the model—and what comes back
Pretick derives local clock and weekday features for both observed and future slots. Chronos-2 and TiRex-2 consume those known features; TimesFM is explicitly excluded from calendar-aware consensus in this integration. Model selection never changes the meaning of the public timestamps.
For sessions, the adapter builds a compressed sequence of the selected examples with calendar features marking their positions. It does not fabricate the intervening days. This is a forecasting representation, not a training job or a guarantee that a model will reproduce the historical shape.
The model adapters return numbers and quantiles. Pretick constructs times from the requested timeline, then pairs them with predictions in the same order. Structured output timestamps are ISO UTC. Consensus returns one combined prediction plus the component opinions; the UI does not require a probability band.
Ordinary parsing is deterministic. An LLM is not used to invent values or guess ambiguous dates. An agent can help prepare a request, then use the free preview to validate its interpretation.