TarseekPre-production

Tarseek API · Pre-production

Batch processing

Run groups of text requests asynchronously using native OpenAI, Anthropic, or Gemini batches. Submit once, poll status, and download normalized JSONL results. The dashboard's Batches page shows project jobs, progress, cancellation and downloads.

Prepare and submit

Use an eligible first-party OpenAI, Anthropic, or Gemini model with a project BYOK key. Each file uses one model and endpoint. Chat items require an explicit output token limit. Your Tarseek API key needs inference, files:write and files:read scopes.

# input.jsonl (one complete JSON object per line)
{"custom_id":"summary-1","method":"POST","url":"/v1/chat/completions","body":{"model":"google/gemini-2.5-flash","messages":[{"role":"user","content":"Summarize this document"}],"max_completion_tokens":500}}

# Upload; wait until GET /v1/files/{id} reports status=ready.
curl https://tarseek.com/v1/files \
  -H "Authorization: Bearer $TARSEEK_API_KEY" \
  -F purpose=batch -F file=@input.jsonl

curl https://tarseek.com/v1/batches \
  -H "Authorization: Bearer $TARSEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: summary-run-001" \
  -d '{"input_file_id":"file_FROM_UPLOAD","endpoint":"/v1/chat/completions","completion_window":"24h"}'

Retain the same idempotency key when retrying an uncertain creation response. Reusing it with different submission parameters returns 409. Validation errors occur before upstream batch submission.

Track and collect results

  • GET /v1/batches: paginated project jobs, using limit and offset.
  • GET /v1/batches/{id}: status, counts, error code and result availability.
  • GET /v1/batches/{id}/results: authenticated JSONL download after completion.
  • POST /v1/batches/{id}/cancel: request cancellation; provider confirmation is asynchronous.

Match result lines by custom_id; file order is not guaranteed. Each line contains either a response or an error. Completed, failed, cancelled and expired jobs are final. The connected provider may bill successfully completed items even when the rest of a batch is cancelled or expires.

Pricing and admission

Native batch rates use each provider's published 50% discount. Rates are captured at admission and recorded against validated provider usage. The provider bills the connected BYOK account directly; Tarseek does not debit credits. Conditional or ambiguous pricing is rejected. Batch processing time is excluded from interactive latency comparisons.

Limits and supported contract

Up to 100 requests, 10 MB per file, 256 KB per JSONL line, and ten active batches per project. Text chat and client function definitions are supported through /v1/chat/completions. Streaming, hosted tools, files or media within items, response caching, model fallbacks, and other batch endpoint types are unsupported. Ordinary project admission limits still apply.

The completion window is 24 hours after provider submission. Provider failures can result in partial or failed jobs.

Content and access

Batch execution requires temporary input/output retention by Tarseek and the selected provider, so no-collection policies reject it. Tarseek encrypts work and results, makes final results available for seven days, and clears their content after that period. Provider retention and deletion behavior still applies.

Project members can view and download results. Owners and administrators can cancel a batch from the dashboard. See data practices.