Why CSV Is the Standard for Bulk AI Prompts
The CSV (Comma-Separated Values) file format has become the universal standard for bulk AI image prompt automation for three practical reasons. First, it is human-readable. You can open a CSV in any text editor and immediately see your prompts, one per line, without needing special software. Second, it is universally editable. Google Sheets, Microsoft Excel, LibreOffice Calc, Apple Numbers, and dozens of other tools all read and write CSV files natively. Third, it is machine-parseable. Automation tools like MidBot, Meta Automator, and IdeoBot can read CSV files without any complex configuration or custom integrations.
A CSV prompt file transforms your AI image generation workflow from an interactive, one-at-a-time process into a batch operation that runs unattended. Instead of typing a prompt, waiting for the result, downloading the image, and repeating hundreds of times, you prepare all your prompts in a spreadsheet, load the CSV into your automation tool, and let the system process every prompt sequentially while you focus on other work.
The scale advantage is dramatic. A well-structured CSV with variable substitution can contain 10,000 unique prompts generated from a few dozen base templates. At that scale, manual prompt entry is not just slow; it is physically impossible to maintain consistency across thousands of prompts without systematic automation. The CSV is what makes consistency at scale achievable.
This guide covers everything you need to build production-quality CSV prompt files: the exact file structure required by WhiskAutomation tools, required and optional columns, encoding settings that prevent parsing errors, variable substitution techniques for massive scale, five niche-specific templates you can copy and adapt immediately, and the most common errors that break CSV files along with how to fix them.
New to bulk AI image generation? Start with our complete overview guide: How to Generate 10,000+ AI Images in One Day. It covers the full workflow from platform selection to file organization, with CSV creation as one key step.
CSV File Structure Basics
A CSV file is a plain text file where each line represents one row of data, and values within each row are separated by commas. The first line is the header row, which defines the column names. Every subsequent line is a data row containing one prompt and its associated parameters.
Here is the simplest possible CSV prompt file that works with all three WhiskAutomation tools:
"A watercolor painting of a mountain landscape at sunrise"
"A minimalist line drawing of a cat sitting on a windowsill"
"An oil painting style portrait of a woman with flowers in her hair"
This file has one column (prompt) and three data rows. When loaded into Meta Automator, MidBot, or IdeoBot, the tool reads each prompt in sequence, submits it to the respective AI platform, waits for the image to generate, downloads the result, and moves to the next row. Three prompts produce three images, each generated from its specific prompt text.
The header row is not optional. It tells the automation tool which column contains which data. If you omit the header, the tool will attempt to use your first prompt as a column name, which produces an error or a skipped prompt. Always include the header row as the very first line of your CSV file.
Each data row must be on its own line. Do not put multiple prompts on a single line separated by commas (that would create separate column values, not separate prompts). One row equals one prompt equals one generated image. A CSV with 500 data rows produces 500 images.
Multi-Column Structure
While a single prompt column is sufficient for basic use, multi-column CSVs give you much more control over your output. You can add columns for platform-specific parameters, organizational metadata, or variable components that get assembled into complete prompts:
"Sunset over ocean waves, vivid colors, photorealistic",16:9,raw,landscapes
"Mountain cabin in winter, cozy lighting, snow",3:4,,winter
"Tropical beach with palm trees, aerial view",16:9,raw,travel
In this example, the ar column contains aspect ratio values that MidBot appends as --ar parameters. The style column contains Midjourney style values (left empty when not needed). The category column is metadata for your own organization; MidBot ignores columns it does not recognize, so you can include any extra columns for sorting, filtering, or cataloging without affecting generation.
Required and Optional Columns
The column requirements differ slightly between the three WhiskAutomation tools, but all share the same core requirement: a column named prompt containing the text prompt for image generation.
Required Column: prompt
Every CSV must contain a column with the header prompt. This column holds the complete text description of the image you want to generate. The prompt text can be as short as a few words or as long as several sentences. For Midjourney-specific prompts used with MidBot, you can include parameters directly in the prompt text (such as --ar 16:9 --v 6) or separate them into dedicated columns.
Optional Columns for MidBot (Midjourney)
- ar – Aspect ratio (e.g., 16:9, 1:1, 3:4). Appended as --ar [value].
- version or v – Midjourney model version (e.g., 6). Appended as --v [value].
- style – Style parameter (e.g., raw). Appended as --style [value].
- quality or q – Quality level (0.25, 0.5, 1, or 2). Appended as --q [value].
- chaos – Variation parameter (0 to 100). Appended as --chaos [value].
- no – Negative prompt elements. Appended as --no [value].
- seed – Seed number for reproducibility. Appended as --seed [value].
Optional Columns for Meta Automator
Meta Automator primarily uses the prompt column since Meta AI does not expose separate parameter controls through its interface. The prompt column should contain the complete descriptive text for each image. You can include organizational columns like category, batch, or notes for your own tracking; Meta Automator will ignore unrecognized columns.
Optional Columns for IdeoBot (Ideogram)
- ar – Aspect ratio for Ideogram generation.
- model – Ideogram model selection.
- style – Ideogram style preset.
Organizational Columns (All Tools)
You can add any number of extra columns for your own organizational purposes. Useful additions include category (for sorting output by topic), batch_id (for tracking which batch produced which images), priority (for sorting prompts by importance), and notes (for internal comments about specific prompts). These columns are ignored by the automation tools and exist purely for your spreadsheet management.
Encoding, Delimiters, and Formatting Rules
More CSV prompt files are broken by encoding and formatting issues than by anything else. These technical details seem trivial, but getting them wrong causes parsing failures that corrupt or skip prompts throughout your entire batch. Pay close attention to these rules and you will never encounter a CSV parsing error.
UTF-8 Encoding Is Mandatory
Always save your CSV files in UTF-8 encoding. UTF-8 is the universal character encoding standard that correctly handles all characters, including accented letters, special symbols, and non-Latin scripts. If you save a CSV in ANSI, Windows-1252, or any other encoding, special characters in your prompts may be corrupted when the automation tool reads the file.
In Google Sheets: When you download a Google Sheet as a CSV (File > Download > Comma Separated Values), it automatically saves in UTF-8. No extra configuration needed.
In Microsoft Excel: When saving as CSV, choose "CSV UTF-8 (Comma delimited)" from the Save As format dropdown. The standard "CSV (Comma delimited)" option uses your system's default encoding, which is often not UTF-8 on Windows machines.
In a text editor: If you create or edit CSVs in a text editor like VS Code, Sublime Text, or Notepad++, check the encoding indicator in the bottom status bar and ensure it reads UTF-8. In Notepad++, use Encoding > Convert to UTF-8 if needed.
Comma Delimiters and Quoting Rules
The comma is the standard delimiter that separates column values in each row. This creates an obvious problem: what happens when your prompt text itself contains commas? The answer is quoting. Wrap any value that contains a comma in double quotes, and the CSV parser will treat the entire quoted string as a single value rather than splitting it at each comma.
"A cozy cabin in the mountains, warm fireplace, snow outside"
"A vintage car, red paint, chrome bumpers, on a desert highway"
A simple landscape without any commas in this prompt
In this example, the first two prompts contain commas and must be quoted. The third prompt contains no commas and works without quotes (though quoting it anyway is harmless and some users prefer to quote all prompts for consistency).
If your prompt text itself contains double quotes, escape them by doubling the quote character. For example, a prompt containing the phrase he said "hello" should be written as: "He said ""hello"" to the crowd". This is standard CSV escaping and is handled correctly by Google Sheets and Excel when you type normally in a cell.
Line Endings
CSV files use line endings to separate rows. Different operating systems use different line ending characters: Windows uses CRLF (carriage return + line feed), macOS and Linux use LF (line feed only). All three WhiskAutomation tools handle both formats correctly, so you do not need to worry about converting line endings. However, if you notice that your tool is treating two rows as a single merged row, the file may have corrupted line endings. Re-save the file from Google Sheets to get clean line endings.
Critical: Never include actual line breaks (newlines) inside a prompt cell. If your prompt text wraps to a new line within a cell in your spreadsheet, it will be saved as a line break inside the CSV value, which most parsers handle correctly as long as the value is quoted. However, for maximum compatibility, keep each prompt as a single unbroken line of text.
Variable Substitution for Massive Scale
Variable substitution is the technique that transforms a single CSV prompt template into thousands of unique prompts. Instead of writing 5,000 individual prompts by hand, you define a base prompt structure with placeholder variables and then use spreadsheet formulas to fill those variables from predefined lists. The combinatorial math does the heavy lifting: 20 subjects multiplied by 15 settings multiplied by 10 styles equals 3,000 unique prompts from just 45 variable entries.
The Template-and-Variables Approach
Start by creating your master prompt template as a formula. In Google Sheets, you might structure your spreadsheet like this:
Column A: subject (e.g., "golden retriever," "tabby cat," "parrot")
Column B: setting (e.g., "sunny park," "cozy living room," "snowy forest")
Column C: lighting (e.g., "soft natural light," "dramatic side light," "golden hour")
Column D: style (e.g., "professional photography," "watercolor painting," "digital illustration")
Column E: prompt (formula that concatenates A through D into a complete prompt)
The formula in cell E2 would be: =A2&" in a "&B2&", "&C2&", "&D2&" style"
This produces prompts like: "golden retriever in a sunny park, soft natural light, professional photography style." With 30 subjects, 20 settings, 15 lighting options, and 10 styles, you generate 90,000 unique combinations. In practice, you would not use all 90,000, but the system lets you cherry-pick the best combinations or generate them all and sort after.
Using ARRAYFORMULA for Bulk Generation
In Google Sheets, the ARRAYFORMULA function lets you apply a formula to an entire column at once rather than copying it row by row. If your variable data is in columns A through D (rows 2 through 1001 for 1,000 prompts), you can use a single ARRAYFORMULA in cell E2:
This instantly generates 1,000 prompts. When you download the sheet as CSV, column E contains all your complete prompts ready for MidBot, Meta Automator, or IdeoBot.
Cross-Join for All Combinations
To generate every possible combination of your variable lists (not just row-by-row matches), you need a cross-join. In Google Sheets, the simplest approach is to use a helper script or a combination of INDEX, ROW, and MOD functions. For example, with 10 subjects in column A and 10 settings in column B on a "Variables" sheet, you can generate all 100 combinations on your "Prompts" sheet:
Setting formula: =INDEX(Variables!$B$2:$B$11, MOD(ROW()-2, 10)+1)
These formulas cycle through all combinations systematically. Extend the pattern to three or four variable columns and you quickly generate thousands of unique prompts from short lists of variables.
Niche Template 1: Etsy Wall Art
Etsy wall art sellers need large catalogs of printable designs across multiple themes, styles, and sizes. A typical successful Etsy wall art shop has 500 to 5,000 listings, each with a unique design. Here is a CSV template structure optimized for wall art generation:
"Minimalist botanical line art of eucalyptus branches, black ink on white background, fine art print style",2:3,botanical
"Abstract watercolor landscape, soft blue and gold tones, modern art print, gallery quality",2:3,abstract
"Vintage botanical illustration of lavender sprigs, scientific illustration style, cream background",2:3,botanical
"Mid-century modern geometric pattern, earth tones, retro poster design, printable wall art",2:3,geometric
"Moody landscape painting of foggy mountains, oil painting texture, dark academia aesthetic",2:3,landscape
Key principles for Etsy wall art CSV templates: always use 2:3 or 3:4 aspect ratios that match standard frame sizes (8x10, 11x14, 16x20, 18x24). Include style descriptors like "fine art print" and "gallery quality" to push the AI toward output that looks like genuine wall art rather than digital illustrations. Specify the background color explicitly (white, cream, black) since wall art buyers expect clean, print-ready compositions. Use the category column to organize your output by theme for easy Etsy listing creation.
Variable substitution for wall art is especially powerful. Create lists of themes (botanical, abstract, landscape, geometric, typography), color palettes (earth tones, pastels, monochrome, navy and gold, sage and cream), and styles (watercolor, line art, oil painting, digital collage, vintage illustration). A 10x8x5 variable matrix produces 400 unique wall art prompts that cover a diverse catalog.
Niche Template 2: Print-on-Demand T-Shirts
Print-on-demand t-shirt sellers need designs that work on dark and light garment backgrounds, with bold graphics and readable text. Ideogram through IdeoBot is especially valuable here because it renders text reliably inside generated images.
"Bold retro sunset design with palm trees, vintage 80s aesthetic, t-shirt graphic on transparent background",1:1,ideogram
"Funny cat wearing sunglasses, cartoon style, vibrant colors, isolated on solid background for print",1:1,midjourney
"Motivational quote design: Dream Big Work Hard, modern brush lettering, black text on white",1:1,ideogram
"Mountain adventure illustration, outdoor hiking theme, vintage badge design, earthy color palette",1:1,midjourney
"Cute dog paw print pattern, repeating design, pastel colors, seamless tile for fabric print",1:1,midjourney
T-shirt design CSV tips: use 1:1 aspect ratio for most POD platforms (Merch by Amazon, Redbubble, TeePublic). For designs with text, route those prompts through IdeoBot and Ideogram. For illustration-heavy designs without text, route through MidBot and Midjourney for higher visual quality. Include a platform column to track which AI generator handles each prompt. Specify "transparent background" or "isolated on solid background" to get output that is easier to prepare for POD upload.
Niche Template 3: Social Media Content
Social media managers and content creators need platform-specific imagery at multiple aspect ratios, with consistent brand aesthetics across all posts. A monthly content calendar might require 60 to 120 unique images across Instagram, LinkedIn, Facebook, and TikTok.
"Professional workspace flat lay with laptop, coffee, and notebook, clean modern aesthetic, top-down view",1:1,instagram-feed,week1
"Team collaboration meeting in modern office, diverse group, natural lighting, candid style",16:9,linkedin,week1
"Inspiring sunrise over city skyline, motivational Monday theme, warm golden tones",9:16,instagram-story,week1
"Creative brainstorming session with sticky notes and whiteboard, startup culture vibe",4:5,instagram-feed,week2
"Data visualization dashboard on monitor screen, tech company aesthetic, blue tones",16:9,linkedin,week2
Social media CSV tips: include a platform_target column to track which platform each image is destined for. Match aspect ratios to platform requirements: 1:1 or 4:5 for Instagram feed, 9:16 for stories and reels, 16:9 for LinkedIn and Twitter, and 2:3 for Pinterest. Add a week column to organize content by your publishing calendar. For brand consistency, include recurring style descriptors in every prompt (color palette, photography style, mood keywords). For a deep dive on social media batch workflows, see our guide on AI images for social media at scale.
Niche Template 4: Stock Photography
Stock photo contributors need high volumes of commercially viable images covering trending search categories. Success in stock photography depends on volume, relevance to current search trends, and technical quality. AI-generated stock images should look indistinguishable from professionally shot photographs.
"Professional businesswoman working on laptop in modern office, natural lighting, editorial photography style --style raw --q 2",16:9,business,"business, office, woman, laptop, professional"
"Fresh organic vegetables on rustic wooden table, food photography, soft side lighting --style raw --q 2",4:3,food,"food, vegetables, healthy, organic, cooking"
"Young couple hiking on mountain trail, active lifestyle, golden hour backlighting --style raw --q 2",16:9,lifestyle,"hiking, couple, outdoors, adventure, nature"
"Modern home interior with minimalist furniture, Scandinavian design, bright airy space --style raw --q 2",16:9,interior,"interior, home, modern, minimal, design"
"Abstract technology background with glowing circuits and data streams, blue tones --q 2",16:9,technology,"technology, abstract, digital, network, data"
Stock photography CSV tips: always include --style raw for Midjourney prompts to produce photorealistic output. Use --q 2 for maximum detail since stock platforms require high-resolution, sharp images. Include a keywords column to pre-plan your stock platform metadata; this saves significant time during the upload and keywording process. Focus on evergreen commercial categories: business, food, lifestyle, technology, health, education, and travel. Avoid heavily saturated trending topics that will be flooded with competing AI-generated content.
Niche Template 5: Agency Client Work
Agencies working on client projects need images that match specific brand guidelines, color palettes, and visual identities. The CSV template for client work is more structured than other niches because brand consistency is non-negotiable.
"Premium coffee beans in a ceramic bowl, warm studio lighting, [ClientBrand] earth-tone color palette, artisan craft aesthetic",1:1,acme-coffee,product-catalog,draft
"Barista pouring latte art in a cozy cafe, [ClientBrand] warm atmosphere, lifestyle photography",16:9,acme-coffee,social-media,draft
"Coffee plantation at sunrise, cinematic landscape, [ClientBrand] rich earthy tones",16:9,acme-coffee,website-hero,draft
"Modern tech office with team working on project, [ClientBrand] blue and white palette, corporate professional",16:9,beta-tech,pitch-deck,draft
"Abstract data visualization with flowing lines, [ClientBrand] gradient blue tones, futuristic clean design",16:9,beta-tech,website-bg,draft
Client work CSV tips: include client and project columns to keep images organized across multiple clients and campaigns. Use a status column to track approval workflow (draft, reviewed, approved, delivered). Replace [ClientBrand] with actual brand descriptors for each client. Build a reusable template for each client that encodes their brand colors, photography style, and mood into standard prompt suffixes. This ensures every image generated for that client maintains visual consistency regardless of the specific subject matter. For a comprehensive guide on agency workflows, see our article on AI image generation for agencies.
Common CSV Errors and How to Fix Them
Even experienced users occasionally create CSV files that fail to parse correctly. Here are the most common errors, their symptoms, and their fixes.
Error 1: Wrong Encoding
Symptom: Special characters appear as garbled symbols (like é instead of e with an accent) or the entire file fails to load with an encoding error.
Fix: Re-save the file as UTF-8. In Excel, use "Save As" and select "CSV UTF-8 (Comma delimited)" from the format dropdown. In Google Sheets, download as CSV (it is UTF-8 by default). In a text editor, convert encoding to UTF-8 without BOM.
Error 2: Unquoted Commas in Prompts
Symptom: Prompts are truncated at the first comma. A prompt like "A cat, dog, and bird" becomes just "A cat" with "dog" and "and bird" parsed as separate column values.
Fix: Wrap all prompts containing commas in double quotes. For maximum safety, quote every prompt regardless of whether it contains commas. Google Sheets handles this automatically when you download as CSV.
Error 3: Missing Header Row
Symptom: The first prompt in your file is skipped or the tool shows an error about missing column names.
Fix: Add "prompt" as the first cell of the first row. If you have additional columns, add their headers as well (ar, style, category, etc.).
Error 4: Embedded Line Breaks
Symptom: Some prompts appear split across two rows, or the tool reports a different number of prompts than expected.
Fix: Remove all line breaks from within prompt cells. In Google Sheets, use Find and Replace with "Search using regular expressions" enabled, find \n, and replace with a space. In Excel, use CLEAN() or SUBSTITUTE() functions to remove line break characters.
Error 5: BOM (Byte Order Mark) Issues
Symptom: The header row is not recognized. The tool cannot find the "prompt" column even though it appears correct in your spreadsheet.
Fix: Some editors add a hidden BOM character at the beginning of UTF-8 files. This invisible character attaches to the first column header, turning "prompt" into "[BOM]prompt" which the parser does not recognize. Save as UTF-8 without BOM, or open the file in a hex editor and remove the first three bytes (EF BB BF) if present.
Error 6: Trailing Commas
Symptom: The tool detects extra empty columns, or some rows appear to have misaligned data.
Fix: Check for trailing commas at the end of rows. These create phantom empty columns. Open the CSV in a text editor and remove any trailing commas that appear after the last data value on each row.
Google Sheets vs Excel for CSV Creation
Both Google Sheets and Microsoft Excel can create CSV files for bulk AI prompt automation. Each has advantages depending on your workflow, team size, and technical preferences.
Google Sheets Advantages
- Automatic UTF-8 encoding: Downloaded CSVs are always UTF-8 with no extra configuration. This eliminates the single most common source of CSV parsing errors.
- Real-time collaboration: Multiple team members can edit the same prompt spreadsheet simultaneously, which is essential for agency workflows where prompt creation is distributed across writers and art directors.
- Cloud access: Your prompt files are accessible from any device, eliminating the need to transfer files between machines.
- ARRAYFORMULA support: Powerful for variable substitution and bulk prompt generation from templates.
- Version history: Automatic version tracking lets you revert to previous versions if someone introduces errors into a shared prompt sheet.
Microsoft Excel Advantages
- Offline access: Works without an internet connection, useful for creating CSVs during travel or in locations with poor connectivity.
- Handling large files: Excel handles files with 100,000+ rows more smoothly than Google Sheets, which can slow down above 50,000 cells.
- Power Query: For advanced users, Excel's Power Query feature can combine data from multiple sources to build complex prompt files from databases, existing catalogs, and other structured data.
- VBA macros: Custom macros can automate repetitive prompt engineering tasks like batch variable substitution, prompt validation, and format checking.
Recommendation
For most users, Google Sheets is the better choice due to its automatic UTF-8 encoding, collaboration features, and cloud accessibility. If you are working with very large prompt files (50,000+ rows) or need offline access, use Excel but always verify the encoding when saving as CSV. If you use Excel, train yourself to always select "CSV UTF-8" from the Save As format dropdown. This single habit prevents the majority of CSV-related issues.
All three automation tools + CSV templates included
One-time payment · Lifetime access · All future updates
- Meta Automator
- MidBot
- IdeoBot
- 5 niche CSV templates
Frequently Asked Questions
There is no hard limit on the number of prompts in a CSV file. In practice, files with 1,000 to 5,000 prompts work well for most batch operations. For very large runs, we recommend splitting into multiple files of 1,000 to 2,500 prompts each for easier management and error recovery. Google Sheets starts to slow down above 50,000 cells, so for extremely large prompt sets, use Excel or a text editor.
Yes, as long as the CSV contains a "prompt" column. All three tools read from the prompt column. Platform-specific columns like Midjourney parameters (ar, v, style) are ignored by Meta Automator and IdeoBot. However, for best results, create separate CSVs optimized for each platform since the optimal prompt style differs between Meta AI, Midjourney, and Ideogram.
No coding is required. CSV files are plain text files that you can create in Google Sheets or Excel by simply typing your prompts into cells and downloading as CSV. The variable substitution technique uses basic spreadsheet formulas (concatenation), not programming code. If you can use a spreadsheet, you can create a CSV prompt file.
For most platforms, prompts between 50 and 200 characters produce the most consistent results. Very short prompts (under 20 characters) give the AI too much creative freedom, leading to unpredictable output. Very long prompts (over 500 characters) can cause the AI to ignore or deprioritize some elements. The sweet spot for bulk generation is a prompt that specifies subject, setting, lighting, style, and mood in one to two sentences.
Conclusion: Your CSV Template Is Your Production Line
The CSV prompt file is the most underappreciated component of bulk AI image generation. While the automation tools (MidBot, Meta Automator, IdeoBot) get the spotlight, the CSV is what actually determines the quality, variety, and commercial value of your output. A well-structured CSV with thoughtful variable substitution produces thousands of unique, on-target images. A poorly structured CSV produces thousands of duplicates, errors, and unusable output.
Start with the niche template that best matches your use case. Copy the examples from this guide into a Google Sheet, customize the prompts for your specific needs, and download as CSV. Load the file into your WhiskAutomation tool and run a test batch of 10 to 20 prompts to verify everything parses correctly and the output quality meets your standards.
Once your template is validated, scale up using variable substitution to generate hundreds or thousands of unique prompts from simple lists. The combinatorial approach described in this guide can produce 10,000+ unique prompts from fewer than 100 variable entries, giving you an essentially unlimited supply of diverse, targeted AI image prompts.
Remember the key rules: always use UTF-8 encoding, always include a header row with "prompt" as the column name, always quote prompts that contain commas, and always test with a small batch before committing to large runs. Follow these rules and your CSV files will parse correctly every time across all three WhiskAutomation tools.
Next steps: Ready to use your CSV in a bulk generation workflow? Read our guide on Midjourney bulk automation with MidBot, learn how to set up auto-download for hands-free image saving, or explore the complete 10,000+ images per day workflow.