Dreamstime
An international microstock marketplace that allows photographers and designers to upload and sell images, vector graphics, and video footage.
Core Facts
In the digital product upload step, Adobe Stock requires a 5-column CSV header, Vecteezy requires 4 columns, and Dreamstime requires 15 columns.
make_metadata.py is a script that relies only on the Python standard library, traverses folders and generates headers precisely by platform, and supports the --platform adobe, --platform vecteezy, and --platform dreamstime parameters.
Adobe Stock requires the metadata CSV to contain 5 columns, Vecteezy requires 4 columns, and Dreamstime requires 15 columns.
Timeline (last 90 days)
The author created the make_metadata.py script, which generates CSVs matching each platform's required headers; manually building CSVs for three platforms for 40 assets used to take most of an evening, and now takes three commands and about a minute.
The uploaders of stock image platforms parse CSV data directly by column index, so a header mismatch will cause the entire batch of files to be rejected before manual review.
Dreamstime requires contributors to select the AI-generated category when uploading AI-generated assets and to declare that no copyrighted material was used for training.
The core review logic of stock asset platforms is to prevent duplicate content and keyword stuffing.
Adobe Stock, Vecteezy and Dreamstime all run machine checks before human review, first verifying the CSV's column count and column order; once the column count is wrong, they return a metadata error rather than a content review result.
The platform rejects wrong headers directly at upload time and does not wait until after review; if the header row is off by one column, the entire batch of files fails before anyone sees the work.
In Dreamstime's CSV, the Description field should be a single sentence rather than a keyword list, and the platform indexes this field.
Although Dreamstime's CSV template has fifteen columns, independent creators usually only need to fill in four columns per row, leaving the other eleven blank.
The difference in keyword separators stems from each platform's search index parsing logic: Adobe Stock treats spaces within a quoted cell as keyword boundaries, while Vecteezy and Dreamstime split on commas.
For purely AI-generated vector graphics and stickers with no identifiable people or private property in the image, leaving Model Release and Property Release (or Adobe's Releases column) blank is a compliant practice.
22 more timeline events
All Facts (20)
In the digital product upload step, Adobe Stock requires a 5-column CSV header, Vecteezy requires 4 columns, and Dreamstime requires 15 columns.
80%Verifiedmake_metadata.py is a script that relies only on the Python standard library, traverses folders and generates headers precisely by platform, and supports the --platform adobe, --platform vecteezy, and --platform dreamstime parameters.
70%VerifiedAdobe Stock requires the metadata CSV to contain 5 columns, Vecteezy requires 4 columns, and Dreamstime requires 15 columns.
70%Partially VerifiedRe-running an upload batch is one of the fastest ways to get a stock platform account flagged for duplicate content.
75%Partially VerifiedDreamstime's CSV has fifteen columns, and the header must list all fifteen columns in full, otherwise the file is rejected.
70%Partially VerifiedAdobe's upload CSV has 5 columns, Vecteezy wants 4, and Dreamstime wants 15; one wrong header and the entire batch of files is rejected before it even reaches manual review.
65%UnverifiedThe author created the make_metadata.py script, which generates CSVs matching each platform's required headers; manually building CSVs for three platforms for 40 assets used to take most of an evening, and now takes three commands and about a minute.
50%UnverifiedThe uploaders of stock image platforms parse CSV data directly by column index, so a header mismatch will cause the entire batch of files to be rejected before manual review.
50%UnverifiedDreamstime requires contributors to select the AI-generated category when uploading AI-generated assets and to declare that no copyrighted material was used for training.
50%UnverifiedThe core review logic of stock asset platforms is to prevent duplicate content and keyword stuffing.
50%UnverifiedAdobe Stock, Vecteezy and Dreamstime all run machine checks before human review, first verifying the CSV's column count and column order; once the column count is wrong, they return a metadata error rather than a content review result.
50%UnverifiedThe platform rejects wrong headers directly at upload time and does not wait until after review; if the header row is off by one column, the entire batch of files fails before anyone sees the work.
50%UnverifiedDreamstime's CSV template has fifteen columns, with column names including Filename,Image Name,Description,Keywords (comma separated),Category 1,Category 2,Category 3,Extra Keywords,Is Free,Is Editorially Reviewed,Sex,Age,Model Release,Property Release,Country.
50%UnverifiedIn Dreamstime's CSV, the Description field should be a single sentence rather than a keyword list, and the platform indexes this field.
50%UnverifiedAlthough Dreamstime's CSV template has fifteen columns, independent creators usually only need to fill in four columns per row, leaving the other eleven blank.
50%UnverifiedThe difference in keyword separators stems from each platform's search index parsing logic: Adobe Stock treats spaces within a quoted cell as keyword boundaries, while Vecteezy and Dreamstime split on commas.
50%UnverifiedFor purely AI-generated vector graphics and stickers with no identifiable people or private property in the image, leaving Model Release and Property Release (or Adobe's Releases column) blank is a compliant practice.
50%UnverifiedIn Dreamstime's CSV, Is Free and Is Editorially Reviewed are literal yes/no fields and should not be changed unless the reason is clear.
50%UnverifiedThe three stock image platforms Adobe Stock, Vecteezy, and Dreamstime validate the CSV headers before viewing images, and directly reject submissions whose column count does not match.
50%Unverifiedmake_metadata.py can generate CSV files with the corresponding headers for adobe, vecteezy, and dreamstime via the --platform parameter.
50%