The Dreamstime keyword generator
for whole shoots
Drop a folder of photos or videos. BatchMetawrites the title, description, keywords and category code for every file, then fills in Dreamstime’s upload template.
No credit card required. Or use your own API key for free.
The template Dreamstime asks for
Not a four-column CSV — a fixed positional spreadsheet where keywords have to land in column 7. Here is the file, filled in.
| Filename | Image Name | Description | Category 1 | Category 2 | Category 3 | keywords | Free | W-EL | P-EL | SR-EL | SR-Price | Editorial | MR doc Ids | Pr Docs |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DSC_4821.jpg | Woman hiking on a mountain ridge at sunrise | A lone hiker crosses a rocky ridge as the sun rises over the valley. | 23 | Left empty | Left empty | hiking, mountain, sunrise, ridge, hiker, backpack, adventure, trail | 0 | 0 | 0 | 0 | 0 | 0 | Left empty | Left empty |
- AFilename
- Must match the file you put on the FTP exactly — Dreamstime pairs the row to the upload by name.
- BImage Name
- Dreamstime's name for the title field. Commercial, comma-free, kept short.
- CDescription
- A full descriptive sentence about what is in the frame.
- DCategory 1
- Dreamstime's numeric code — 182 categories across 15 groups, picked from the image.
- ECategory 2
- Left empty on purpose: one accurate category beats three with two guesses.
- FCategory 3
- Left empty for the same reason.
- Gkeywords
- Up to 50 unique terms, ordered strongest first, in column 7 where the template expects them.
- HFree
- Defaults to 0 — your content is not donated to the free section.
- IW-EL
- Web extended licence, default 0. Yours to enable.
- JP-EL
- Print extended licence, default 0.
- KSR-EL
- Sensitive-use extended licence, default 0.
- LSR-Price
- Only relevant if you enable SR-EL, so it stays 0.
- MEditorial
- Default 0. Only you know whether a file qualifies as editorial.
- NMR doc Ids
- Your model-release IDs. Upload the MR spreadsheet first — Dreamstime assigns these.
- OPr Docs
- Your property-release IDs, same as above.
Video uses a different template
Thirteen columns instead of fifteen — no Free, no P-EL, and the title field is called Video Name. Because the format is positional, a clip written into the image layout has its Editorial flag and release IDs read from the wrong columns. A mixed batch exports as two files.
dreamstime_videos_metadata.csv Filename,Video Name,Description,Category 1,Category 2,Category 3,keywords,W-EL,SR-EL,SR-Price,Editorial,MR doc Ids,Pr Docs
Dreamstime’s template, filled in correctly
Every result is validated against these. A file that fails is regenerated, not shipped into your spreadsheet.
Dreamstime's bulk method is a fixed positional spreadsheet, not a free-form CSV. Keywords have to land in column 7 and the title in a field called Image Name; a plain filename/title/description/keywords file drops keywords into a numeric category slot and is refused.
Video uses a different template — 13 columns, no Free or P-EL, and the title field is called Video Name. A mixed batch exports as two files so a clip never lands in the image layout, where its Editorial flag and release IDs would sit in the wrong columns.
Dreamstime's categories are numeric codes, two levels deep, and not sequential — the number cannot be guessed from the name. The analysis picks one; a subject that fits none leaves the column empty rather than carrying a code you would have to check by hand.
As many genuinely relevant terms as the subject supports, deduplicated case-insensitively and ordered strongest first. A result that comes back thin is regenerated rather than padded.
Free, W-EL, P-EL, SR-EL and Editorial all default to 0 — for sale, commercial, no extended licences. These change what buyers may do with your work, so they stay your decision.
Visible logos, trademarks and readable signage are reported per file, before a reviewer finds them.
How it works
Drop the shoot
Drag in the whole folder — JPG, PNG, WebP, MP4 or MOV. Nothing uploads: the files are read in your browser.
Run the batch
Every file gets a title, description, up to 50 keywords and its Dreamstime category code, unattended from start to finish.
Export and FTP
Upload your files to Dreamstime's FTP first and let them process, then drop the exported CSV into the same folder.
Built for the way contributors actually work
Your originals never leave your device
Full-resolution photos and videos stay in the browser. Only small downscaled preview frames are sent for analysis — there is no upload step and nothing to delete afterwards.
Photos and clips get their own file
Dreamstime publishes two templates and they are not interchangeable. A mixed batch comes out as one file per media type, each on the layout Dreamstime actually reads.
Location comes from your EXIF
GPS coordinates are read locally and passed to the AI as context, surfacing real place names in the title and keywords instead of generic scenery terms.
The other six exports come free
One analysis also produces upload-ready CSVs for Adobe Stock, Shutterstock, Freepik, Vecteezy, Pond5 and Getty/iStock — the same files, no re-processing per platform.
Frequently asked questions
Dreamstime specifics, before your first batch.
Why does Dreamstime need a 15-column file?
Because its bulk upload is a fixed positional template rather than a free-form CSV. Keywords must sit in column 7, the title goes in a field called Image Name, and the licence flags occupy their own columns. A simple filename/title/description/keywords file drops keywords into a numeric category slot and gets refused. BatchMeta exports the full template, so the columns line up.
Why do I get two files when my batch has videos?
Because Dreamstime publishes two templates. The image one has 15 columns; the video one has 13 — no Free, no P-EL, and the title field is called Video Name. The format is positional, so a clip written into the image layout has its Editorial flag and release IDs read from the wrong columns. Splitting the batch is the only correct answer.
Does it fill in the Dreamstime category?
Yes. Dreamstime's categories are numeric codes — 182 of them across 15 groups, two levels deep, and not numbered in order, so you cannot work the number out from the name. The analysis picks one from the image and writes its code. If the subject fits none of them, the column is left empty rather than carrying a code you would have to verify yourself.
Why only one category when the template takes three?
Because three invites padding. Asked for three categories the model fills all three slots, and the extra picks are noticeably weaker — in testing, a night photo of a dog came back with a flowers-and-gardens category in the third slot. One accurate category is worth more than three where two are guesses, and the other two columns stay yours to fill if you want them.
How do I upload the CSV?
Through FTP, not the web upload page — this is where Dreamstime differs from most marketplaces. Upload your media first and let it finish processing, then put the exported CSV in the same FTP folder. If you use model releases, upload the MR spreadsheet before this one so you have Dreamstime's assigned IDs to reference.
Are the licence flags set for me?
No, deliberately. Free, W-EL, P-EL, SR-EL and Editorial all export as 0 — for sale, commercial, no extended licences. Those flags change what buyers may do with your work and what you are paid, so they stay your decision.
Are my original photos and videos uploaded?
No. Everything is processed in your browser and only small, downscaled preview frames are sent for AI analysis. Your original files never leave your device.
What does it cost?
You start with 25 free credits and no card. After that, one-time packs start at $4.99 for 500 credits and never expire — or bring your own Gemini, OpenAI or Claude API key and pay nothing. A photo costs 1 credit, a video 2.
Keyword your next Dreamstime batch
25 free credits at signup — enough for a real batch, no card required. After that, 500 credits cost $4.99 and never expire.
- 1 credit per photo
- Photo and video templates
- All 7 marketplace CSVs included
Selling on more than one marketplace? See every export BatchMeta generates.