Diffusers-workflow: your GPU as something an agent can drive Diffusers-workflow now returns a plan block from validate_workflow and POST /api/validate containing a fingerprint of the realized workflow, actual step and iteration counts, required downloads, and a cost estimate with a basis flag (catalog, derived, per_entry, or unknown). The acknowledged_cost field can now accept {fingerprint, minutes, downloads} instead of a bare boolean, and the server returns a 409 and re-quotes if the workflow's shape changes after a plan is bound; bare true still works for backward compatibility but the job logs which form it received (none, boolean, or bound). The previously reported bug where a fan-out list changed real cost while the quote stayed flat has been fixed, so a 2-shot versus 10-shot run now produces genuinely different numbers. Before: acknowledged cost=true was checked in the MCP layer but tied to nothing. The quoted number came from catalog defaults, not actual args, so a plan could grow after you consented and the flag would still read true. Now: - validate workflow / POST /api/validate returns a plan block: a fingerprint of the realized workflow real args, expanded for each lists , the actual step/iteration count, required downloads, and a cost estimate with a basis flag catalog, derived, per entry, or unknown so you know how much to trust the number. - acknowledged cost can now take {fingerprint, minutes, downloads} instead of a bare boolean. If the workflow’s shape changes after you bind to a plan — different args, longer list, whatever — the server 409s and re-quotes instead of letting it run over. Bare true still works for backward compat, but the job now logs which form it got none / boolean / bound , so you can require the bound form for unattended agents. - Your test case — a fan-out list changing real cost while the quote stayed flat — was the actual bug: the estimate wasn’t re-pricing per list length. Fixed. A 2-shot vs 10-shot run now gets genuinely different numbers, with the basis flag telling you if it’s measured or estimated. Thanks for the suggestion