Alt Text Studio · Documentation

How to import a CSV

Bulk-import images by uploading a CSV. Includes the supported template.

The fastest way to feed Alt Text Studio dozens or hundreds of images is a CSV upload. The columns let you pre-set things like brand, custom prompt, and SEO keywords on a per-row basis, so a single import can drive a fully customised batch.

1

Two ways to import: generate vs. seed existing

There are two CSV-import flows, and they do different things:

  • Generate alt text from a CSV — start from Create and click Import CSV. Each row becomes an image card; click Generate for all to run the AI on every row. This does consume credits.
  • Import existing alt text into My Library — start from My Library, click Import CSV, and choose Import existing alt text. Rows are added to your library with whatever alt text was in the alt_text_xx columns; no AI runs and no credits are consumed. Useful for bringing in a back catalog you already wrote.

If you click Import CSV & generate alt text from the My Library import modal, it sends you to the Create page (/create?csv=true) to use the generate flow above.

2

Get a starter template

Download CSV template or open Google Sheets template. Either has all supported column headers pre-filled.

3

The only required column

You only need image_url. Everything else is optional and falls back to your Generation Defaults if missing.

4

Supported columns

Mirrors the column list shown in the Import CSV modal:

Required

  • image_url — image URL to process

Optional

  • image_name — identifier or SKU
  • alt_text_xx — pre-existing alt text per language using ISO 639 codes (alt_text_en for English, alt_text_fr for French, alt_text_zh_CN for Chinese Simplified, alt_text_pt_BR for Brazilian Portuguese)

E-commerce

  • brand — brand name
  • product — product name
  • primary_color — product color

SEO Keywords (max 10 each, separated with | or , — e.g. wireless|noise-cancelling|over-ear or wireless,noise-cancelling,over-ear)

  • seo_keywords
  • negative_keywords

Advanced

  • custom_prompt — custom instructions
  • text_lengthNormal or Detailed

Switching from another tool? The importer also accepts these legacy aliases: asset_id (→ image_name), ecomm_brand (→ brand), ecomm_product (→ product), ecomm_color (→ primary_color), keywords (→ seo_keywords), and gpt_prompt (→ custom_prompt).

5

Minimum CSV: just image URLs

If all you have is a list of URLs, that's enough. Empty cells anywhere else are fine — Alt Text Studio falls back to your Generation Defaults for anything missing.

urls-only.csv
image_url
https://alttextstudio.com/images/examples/headphones-product.webp
https://alttextstudio.com/images/examples/candle-product.webp
https://alttextstudio.com/images/examples/scenic.webp
6

Seeding existing alt text

When you already have alt text written, put it in alt_text_en (or alt_text_xx for other languages). Pair this with the Import existing alt text flow on My Library to skip generation entirely. Empty alt_text_xx cells just mean that row will be generated by the AI normally.

with-existing-alt.csv
image_urlimage_namealt_text_en
https://alttextstudio.com/images/examples/headphones-product.webpaeterna-overearSleek black over-ear headphones with the brand name "Aeterna" on the ear cup, resting on a light gray surface.
https://alttextstudio.com/images/examples/candle-product.webpamber-glow-candleA lit "Amber Glow" candle by Hearth & Pine on a stone table, surrounded by vintage books and decorative stones.
https://alttextstudio.com/images/examples/scenic.webpbanff-lake-sunriseA serene lake reflects snow-capped mountains and evergreen trees at sunrise, with mist hovering over the water and a small red boat at the shore.
7

Customising per-row

Mix and match: e-commerce details for product photos, custom prompts for tone, longer text length for hero shots. Leave any cell blank to fall back to your defaults.

mixed.csv
image_urlimage_namebrandproductprimary_colorcustom_prompttext_length
https://alttextstudio.com/images/examples/headphones-product.webpaeterna-overearAeternaOver-Ear HeadphonesBlackMention the brand name visible on the ear cupDetailed
https://alttextstudio.com/images/examples/candle-product.webpamber-glow-candleHearth & PineAmber Glow CandleAmberLead with material and scentNormal
https://alttextstudio.com/images/examples/scenic.webpbanff-lake-sunriseDescribe lighting and atmosphereDetailed
8

Upload the file

Back on Create, drop the .csv onto the Import CSV zone (or click to pick it). Each row becomes a card in the batch with preview, options, and the seeded alt text where applicable. You can still tweak per-image options before clicking Generate for all.

9

Notes

UTF-8 encoding. The seo_keywords and negative_keywords columns accept either pipe (|) or comma (,) as the separator.

Each row consumes credits when you click Generate. A 500-row CSV at the Detailed text length with 2 languages = 500 × 2 × 2 = 2000 credits. Double-check the cost before clicking.

Related guides