Parameters
Seed
A seed fixes the random starting point of sampling, so the same request produces the same output.
It is what makes controlled comparison possible: change one thing, hold the seed, and any difference in output is attributable to the change.
In image generation it matters even more, because it fixes the initial noise the model denoises — the single most effective tool for iterating on a prompt systematically.
In practice
A fixed seed with temperature at zero gets you close to reproducible, not guaranteed. Providers change serving infrastructure, batch requests differently and update model versions behind an alias, any of which can move the output. Treat it as an aid to debugging rather than a contract, and pin the model version too.
Common questions
Does setting a seed guarantee identical output?
No. It removes sampling randomness, but infrastructure changes, batching differences and a model version moving behind an alias can all shift the result. Useful for debugging, not a contract.
Do I need a seed if temperature is zero?
Usually not — temperature zero already removes the sampling randomness a seed controls. Set both if you want to eliminate every variable you can, and pin the model version, which matters more than either.