Process thousands of requests asynchronously at 50% the cost. Perfect for large-scale data processing, evaluations, and bulk operations.
Cost Savings
Requests/Batch
Completion Window
Success Rate
Batch requests are processed at half the cost of synchronous requests. Same quality, half the price.
Batch operations have separate, higher rate limits. Process millions of requests without throttling.
All batch jobs complete within 24 hours. Automatic retries handle transient failures.
Prepare requests as JSONL file
Upload to Files API
Create batch job
Retrieve output file
Categorize millions of documents, support tickets, or product reviews.
Run large evaluation sets to benchmark model performance.
Generate product descriptions, summaries, or translations at scale.
Extract structured data from unstructured text in bulk.
Create embeddings for millions of documents for vector databases.
Analyze sentiment across large datasets of customer feedback.
Translate content across all your products to 50+ languages.
Auto-tag products, images, or content for organization.
from mythicdot import MythicDot client = MythicDot() # 1. Upload your batch file (JSONL format) batch_file = client.files.create( file=open("requests.jsonl", "rb"), purpose="batch" ) # 2. Create the batch job batch = client.batches.create( input_file_id=batch_file.id, endpoint="/v1/chat/completions", completion_window="24h" ) print(f"Batch ID: {batch.id}") print(f"Status: {batch.status}") # 3. Check status (or poll until complete) batch = client.batches.retrieve(batch.id) if batch.status == "completed": # 4. Download results output = client.files.content(batch.output_file_id) with open("results.jsonl", "wb") as f: f.write(output.content)
| Feature | Batch API | Sync API |
|---|---|---|
| Cost | 50% OFF | Standard pricing |
| Latency | Up to 24 hours | Real-time |
| Max requests | Unlimited per batch | Rate limited |
| Best for | Bulk processing | Interactive apps |
Start saving 50% on large-scale AI workloads today.