{"slug": "diffusers-workflow-your-gpu-as-something-an-agent-can-drive", "title": "Diffusers-workflow: your GPU as something an agent can drive", "summary": "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.", "body_md": "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.\n\nNow:\n\n- 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.\n\n- 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.\n\n- 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.\n\nThanks for the suggestion!", "url": "https://wpnews.pro/news/diffusers-workflow-your-gpu-as-something-an-agent-can-drive", "canonical_source": "https://discuss.huggingface.co/t/diffusers-workflow-your-gpu-as-something-an-agent-can-drive/180275#post_6", "published_at": "2026-09-13 17:26:42+00:00", "updated_at": "2026-09-13 17:45:09.518160+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-agents", "ai-infrastructure"], "entities": ["Diffusers-workflow", "validate_workflow", "POST /api/validate", "acknowledged_cost"], "alternates": {"html": "https://wpnews.pro/news/diffusers-workflow-your-gpu-as-something-an-agent-can-drive", "markdown": "https://wpnews.pro/news/diffusers-workflow-your-gpu-as-something-an-agent-can-drive.md", "text": "https://wpnews.pro/news/diffusers-workflow-your-gpu-as-something-an-agent-can-drive.txt", "jsonld": "https://wpnews.pro/news/diffusers-workflow-your-gpu-as-something-an-agent-can-drive.jsonld"}}