Batch prompt runner
When you need to run the same prompt over a list — classify a hundred tickets, summarise fifty product descriptions, extract fields from a column of text — the batch prompt runner does it in one pass. Paste a CSV of inputs and a prompt template with placeholders matching your column headers; the tool fills the template per row, sends each to the model with your own API key, and hands you back a CSV with a new output column. It throttles requests to respect rate limits and records errors per row instead of failing the whole job.
How it works
You paste a CSV with a header row and a template using double-brace placeholders
like {{name}} that map to those headers. For each data row, the tool
substitutes the values, sends the filled prompt to your chosen model, and
collects the response. Requests run with limited concurrency and a small delay so
you stay under typical rate limits; any row that errors is captured with its
error message and the batch keeps going. A live progress bar shows how far along
it is. When finished, you download a CSV containing your original columns plus an
added response column. Everything happens in your browser — the key and all
requests go directly to the provider and are never stored.
Common use cases
Classification. A CSV of support tickets with a body column; the template reads “Classify the following support ticket into one of: billing, technical, account, other. Reply with only the category label.\n\nTicket: {{body}}”. The output column becomes a label for each row, ready for analysis or routing.
Summarisation. A spreadsheet of product descriptions too long to read at scale; the template condenses each into two sentences. The summarised column becomes a short blurb for a product database.
Data extraction. A column of free-text job descriptions; the template extracts the salary range, location, and seniority level as a comma-separated triple. The structured output makes filtering and analysis possible.
Translation or rewriting. A column of English marketing copy to localise into another language, or to rewrite at a different reading level.
Sentiment scoring. A column of customer reviews; the template returns a score from 1–5 based on sentiment, converting unstructured feedback into a filterable metric.
Understanding the template syntax
Each column header in your CSV becomes a placeholder — wrap it in double braces. A CSV with headers name, company, and industry can use {{name}}, {{company}}, and {{industry}} anywhere in the prompt template. Placeholders are replaced verbatim, so if a cell contains a multi-line value the full value goes in. Unmatched placeholders (e.g. a typo like {{nme}}) are left in the prompt unchanged, which makes them easy to spot in the output.
Tips and notes
- Match headers exactly.
{{Name}}and{{name}}are different. Unmatched placeholders are left visible so typos are easy to spot. - Test one row first. Run a tiny CSV to confirm the template and output before launching a big, billable batch.
- Mind the cost. Every row is a real API call billed to your account; a thousand rows is a thousand requests.
- Split very large jobs. Browser tabs are not ideal for huge batches — chunk the CSV and run pieces.
- Keep prompts short. Longer prompts cost more tokens per row; trim instructions to the minimum needed to get the output format you want.