Process millions of requests.
Pay a fraction of the cost.
Upload a JSONL file and let SCX.ai process your requests asynchronously. Track progress in real time, download results when done.
Why teams choose batch processing
Up to 50% cost savings
Batch processing runs during off-peak capacity windows, delivering significant cost savings versus synchronous requests.
24-hour completion window
Submit your batch and receive results within 24 hours. Perfect for workloads that don't require real-time responses.
Standard JSONL format
Use the same request format you already know. Each line in your file is a standard API request to chat completions, embeddings, or responses.
Real-time progress tracking
Monitor your batch in the dashboard or via API. See completed, failed, and total request counts as processing progresses.
One batch, any endpoint
Submit requests to chat completions, embeddings, or responses in a single batch. Each line in your JSONL file is a standard API request with its own model and parameters.
- /v1/chat/completions for LLM inference
- /v1/embeddings for bulk vector generation
- /v1/responses for structured outputs
// batch-input.jsonl
{"method":"POST","url":"/v1/chat/completions","body":{...}}
{"method":"POST","url":"/v1/embeddings","body":{...}}
{"method":"POST","url":"/v1/responses","body":{...}}
Full lifecycle visibility
Every batch moves through a well-defined status flow. Track transitions, timestamps, and outcomes for complete observability.
- 8 distinct statuses covering the full lifecycle
- Timestamps for every state transition
- Cancel mid-processing, preserving completed requests
Separate output and error files
Completed requests go to the output file, failures to the error file. Attach up to 16 custom metadata key-value pairs per batch for routing and tracking.
- Download output and error files independently
- Custom metadata for project/team tagging
- JSONL responses matching the standard API format
Output file
9,997
requests completed
Error file
3
requests failed
Your batch dashboard at a glance
Monitor every batch from submission to completion with real-time progress and status tracking.
| Batch ID | Status | Endpoint | Progress | Created | |
|---|---|---|---|---|---|
| batch_7f3a2c | Completed | /v1/chat/completions | 10,000 / 10,000 | Apr 1, 2026 | Download |
| batch_2b9c41 | In Progress | /v1/embeddings | 6,231 / 8,500 | Apr 2, 2026 | Cancel |
| batch_91de08 | Validating | /v1/chat/completions | 0 / 15,000 | Apr 2, 2026 | |
| batch_44ab73 | Failed | /v1/responses | 4,200 / 5,000 | Mar 30, 2026 | View errors |
How batch processing works
Four steps from upload to results.
Upload JSONL
Validate
Process
Download results
Full visibility into every batch
Timeline, request counts, metadata, and downloadable results—all in one view.
batch_7f3a2c
CompletedCreated
10:23 AM
Validating
10:23 AM
In Progress
10:24 AM
Completed
2:47 PM
10,000
Total requests
9,997
Completed
3
Failed
4h 23m
Duration
Metadata
Output file
24.3 MB
Error file
1.2 KB
Built for high-volume workloads
Any workload that can tolerate asynchronous processing benefits from batch—lower cost, higher throughput, and zero timeout worries.
Bulk Data Extraction
Extract structured data from thousands of documents. Run classification, entity extraction, or summarisation across entire datasets.
Embedding Generation
Generate embeddings for millions of text chunks. Build search indices, recommendation systems, or similarity models.
Content Moderation at Scale
Screen user-generated content, classify support tickets, or evaluate compliance across large datasets.
Process your first batch today
Stop paying real-time prices for workloads that can wait. Upload a JSONL file and see results within hours, not seconds.
Get your API key