Batch Prompt Formatter

Apply a prompt template with {column} placeholders across a CSV. Generates one prompt per row, then exports as the batch-format JSONL that OpenAI's and Anthropic's Batch APIs expect. Useful for running 10,000 evaluations or transformations at 50% discounted batch pricing.

How to use the Batch Prompt Formatter

Paste CSV with a header row. Write a prompt template referencing column names as {column}. Each row becomes one batch entry. Output is the JSONL format OpenAI's Batch API accepts (or Anthropic's). Upload to /v1/files, then create a batch job — half-price processing within 24h.

Running one prompt across many rows

When you need to run the same prompt over thousands of inputs — classify every row, translate a column, score a dataset — sending one synchronous request per item is slow and pays full price. Both OpenAI and Anthropic offer a Batch API that takes a JSONL file of requests, processes them asynchronously within 24 hours, and charges about half the normal rate.

This formatter takes a prompt template with {column} placeholders and a CSV, fills the template once per row, and writes the exact JSONL the Batch API expects — each line a request object with its own custom ID. You pick the OpenAI or Anthropic layout and the target model, download the file, and submit it.

Common use cases

  • Bulk classification — label every row of a dataset with one prompt run at batch pricing.
  • Dataset generation — produce synthetic examples from a template across many seed values.
  • Evaluations — run a test prompt over thousands of cases in a single job.
  • Content transforms — rewrite, summarize, or translate a column for every record.
  • Cost control — trade immediacy for the roughly 50% batch discount on large jobs.

Frequently asked questions

What is the batch discount?

OpenAI and Anthropic both price Batch API requests at roughly half their synchronous rate, in exchange for asynchronous processing that completes within 24 hours.

What format does it output?

JSONL — one JSON request object per line, each with a unique custom ID — in either the OpenAI or Anthropic batch layout, plus a plain JSON array option.

How do I submit the file?

Upload the JSONL to the provider's files endpoint, then create a batch job referencing it. Results return as a JSONL keyed by the same custom IDs you sent.

How are template placeholders filled?

Each {column_name} in the template is replaced with that row's value from the CSV header, producing one request per data row.
Embed this tool on your site

Free to embed, no attribution required (but appreciated). Paste this where you want the tool to appear: