Comparisons · Last updated

Jev vs batch processing

Batch processing is when you run work. Jev is what you call. People search this pairing because they want to score a million tickets overnight.

Unofficial. Models page vendor limits: 1,200 RPM and 250k tokens/second — can change without notice. docs.typesafe.ai/models.

Comparison scope

There is no documented “batch endpoint” separate from POST /v1/systemone in the public API we used. Batch means your job loop with backoff.

Criteria that decide the architecture

Axis Jev (System One) Batch processing
API One evaluation POST (many questions) Your scheduler
Fan-out Many questions, one state Many rows
Rate limits 429 + retry-after Cluster size
Cost Input tokens × rows (vendor $) Compute

Decision quality and control

Official parallel-questions cookbook: one state, many questions, cheaper than N calls. That helps within a row. Across rows you still iterate.

Integration trade-offs

Chunk the file. Reuse HTTP connections / official SDKs (retries on 429/529). Persist answers before the next chunk. Pin jev-1.13.0 so a week-long job does not straddle an alias move.

TypeSafe’s public models page lists jev-1.13 at $0.042 per million input tokens with output tokens free — a vendor claim, not a jev.pro measurement. Confirm on the models page before you bid.

When each approach fits

Prefer Jev when

Prefer Batch processing when

Batch is the clock. Jev is the call. Streaming page covers the other clock.

Queued POSTs inside the nightly job

Batch processing is when you run work. Jev is what you call. There is no documented “batch endpoint” separate from POST /v1/systemone in the public API we used. Sketch: scheduler (Airflow, Spark driver, cron) chunks the file → each row (or small group) is one evaluation with many questions on one state → persist answers + response.model before the next chunk → backoff on 429/529. Pin jev-1.13.0 so a week-long job does not straddle an alias move. Official parallel-questions cookbook: cheaper within a row. Across rows you still iterate.

Vendor models page: 1,200 RPM and 250k tokens/second — can change. $0.042 / M input (output free) is a vendor claim; multiply by rows yourself, we will not invent volume. Jaggedness still applies at night: do not ask Jev to join tables or aggregate counts. Spark owns joins. Jev does not generate a nightly report.

How a “batch API” gets invented

When not to use Jev here

Do not use Jev when the job is joins and aggregates with no language judgment. Do not use it as a Spark replacement. Prefer batch compute alone. Use Jev when the row needs a language judgment and can wait, inside your job loop with backoff.

What this page does not claim

FAQ

Is there a TypeSafe batch API? Not in the public reference we used. Pattern around /v1/systemone.

Output tokens in batch? Vendor: output free; usage still reported.

Can Spark mapPartitions call Jev unbounded? Only if you cap in-flight POSTs to vendor RPM. Unbounded mapPartitions is how the door 429s the whole night.

Disclaimer

This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai. Never treat jev.pro as TypeSafe official documentation. We do not sell, issue, or proxy API keys.

Hub: Comparisons. Siblings: vs streaming processing, vs asynchronous jobs, api rate limits. Canonical: https://docs.typesafe.ai.

Sources