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.

The Import CSV button beside the Multiple URLs or HTML label on the Alt Text Studio Create page, outlined in red with a click indicator on it
Import CSV sits above the same textarea you would paste URLs into.
2

Get a starter template

Download our CSV template or see the Google Sheets template

The Multiple URLs or HTML section of the Alt Text Studio Create page, with an Import CSV button on the right of its heading row
Import CSV lives above the multi-URL box.
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.

The Import CSV panel on the Alt Text Studio Create page, with a .csv drop zone and a CSV Format reference table below it
Import CSV swaps the input panel for a drop zone plus the column reference.
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