[{"data":1,"prerenderedAt":288},["ShallowReactive",2],{"docs-page-meta":3,"docs-page-\u002Fgetting-started\u002Fflow-lifecycle":32},{"pageMeta":4,"generatedAt":31},{"\u002Fall-endpoints\u002Fcreate-flow":5,"\u002Fall-endpoints\u002Fdelete-flow":7,"\u002Fall-endpoints\u002Fget-flow-input":8,"\u002Fall-endpoints\u002Fget-flow-output":9,"\u002Fall-endpoints\u002Fget-flow":10,"\u002Fall-endpoints\u002Fget-template":11,"\u002Fall-endpoints\u002Flist-flow-inputs":12,"\u002Fall-endpoints\u002Flist-flow-outputs":13,"\u002Fall-endpoints\u002Flist-flows":14,"\u002Fall-endpoints\u002Flist-templates":15,"\u002Fall-endpoints\u002Fstart-abort-flow":16,"\u002Fall-endpoints\u002Fupload-flow-input":17,"\u002Fgetting-started\u002Fauthentication":18,"\u002Fgetting-started\u002Fflow-lifecycle":19,"\u002Fgetting-started\u002Fflow":21,"\u002Fgetting-started\u002Fopenapi":22,"\u002Fgetting-started\u002Fplans-and-policies":23,"\u002Fgetting-started\u002Fquickstart":24,"\u002Fgetting-started\u002Ftemplate-helpers":25,"\u002Fgetting-started\u002Ftemplate-image-to-3d":26,"\u002Fgetting-started\u002Ftemplate-optimize-model":27,"\u002Fgetting-started\u002Ftemplate-text-to-3d":28,"\u002Fgetting-started\u002Ftemplates":29,"\u002Fgetting-started\u002Ftroubleshooting":30},{"lastUpdated":6},"2026-08-14T13:36:05.144Z",{"lastUpdated":6},{"lastUpdated":6},{"lastUpdated":6},{"lastUpdated":6},{"lastUpdated":6},{"lastUpdated":6},{"lastUpdated":6},{"lastUpdated":6},{"lastUpdated":6},{"lastUpdated":6},{"lastUpdated":6},{"lastUpdated":6},{"lastUpdated":20},"2026-08-14T13:36:05.145Z",{"lastUpdated":20},{"lastUpdated":20},{"lastUpdated":20},{"lastUpdated":20},{"lastUpdated":20},{"lastUpdated":20},{"lastUpdated":20},{"lastUpdated":20},{"lastUpdated":20},{"lastUpdated":20},"2026-08-14T13:38:49.206Z",{"id":33,"title":34,"body":35,"description":280,"extension":281,"meta":282,"navigation":283,"path":284,"seo":285,"stem":286,"__hash__":287},"docs\u002Fgetting-started\u002Fflow-lifecycle.md","Flow Lifecycle",{"type":36,"value":37,"toc":269},"minimark",[38,42,46,51,54,58,154,158,161,177,180,184,189,192,212,216,227,231,237,241],[39,40,34],"h1",{"id":41},"flow-lifecycle",[43,44,45],"p",{},"This page describes how a flow progresses from creation to completion (or failure) and what clients should do at each stage.",[47,48,50],"h2",{"id":49},"state-diagram","State Diagram",[52,53],"docs-flow-lifecycle-diagram",{},[47,55,57],{"id":56},"state-meanings","State Meanings",[59,60,61,77],"table",{},[62,63,64],"thead",{},[65,66,67,71,74],"tr",{},[68,69,70],"th",{},"State",[68,72,73],{},"Meaning",[68,75,76],{},"Client Action",[78,79,80,99,112,128,141],"tbody",{},[65,81,82,89,92],{},[83,84,85],"td",{},[86,87,88],"code",{},"created",[83,90,91],{},"Flow was created and queued or waiting.",[83,93,94,95,98],{},"Start polling ",[86,96,97],{},"GET \u002Fflows\u002F{flow_id}",".",[65,100,101,106,109],{},[83,102,103],{},[86,104,105],{},"processing",[83,107,108],{},"Flow is actively running.",[83,110,111],{},"Continue polling. Do not request output asset data yet.",[65,113,114,119,122],{},[83,115,116],{},[86,117,118],{},"completed",[83,120,121],{},"Flow finished successfully.",[83,123,124,125,98],{},"List outputs, then fetch assets by ",[86,126,127],{},"asset_id",[65,129,130,135,138],{},[83,131,132],{},[86,133,134],{},"failed",[83,136,137],{},"Flow terminated with an error.",[83,139,140],{},"Inspect flow details and troubleshooting guidance, then retry if needed.",[65,142,143,148,151],{},[83,144,145],{},[86,146,147],{},"aborted",[83,149,150],{},"Flow was manually stopped.",[83,152,153],{},"Treat as terminal; create a new flow if needed.",[47,155,157],{"id":156},"terminal-states","Terminal States",[43,159,160],{},"Terminal states are:",[162,163,164,169,173],"ul",{},[165,166,167],"li",{},[86,168,118],{},[165,170,171],{},[86,172,134],{},[165,174,175],{},[86,176,147],{},[43,178,179],{},"Stop polling when a terminal state is reached.",[47,181,183],{"id":182},"output-availability","Output Availability",[43,185,186,187,98],{},"Outputs should be treated as ready only after the flow state is ",[86,188,118],{},[43,190,191],{},"Recommended sequence:",[193,194,195,200,206],"ol",{},[165,196,197,198,98],{},"Poll until ",[86,199,118],{},[165,201,202,203,98],{},"Call ",[86,204,205],{},"GET \u002Fflows\u002F{flow_id}\u002Foutputs",[165,207,208,209,98],{},"Fetch a specific output with ",[86,210,211],{},"GET \u002Fflows\u002F{flow_id}\u002Foutputs\u002F{asset_id}?include_data=true",[47,213,215],{"id":214},"polling-guidance","Polling Guidance",[162,217,218,221,224],{},[165,219,220],{},"Use a fixed polling interval of 3 to 5 seconds for most clients.",[165,222,223],{},"Set a client-side timeout window to avoid infinite waiting.",[165,225,226],{},"Handle non-200 responses explicitly and retry only when appropriate.",[47,228,230],{"id":229},"abort-guidance","Abort Guidance",[43,232,233,234,236],{},"If you abort a flow through the start\u002Fabort action endpoint, expect the flow to eventually settle in ",[86,235,147],{},".\nUse a new flow for subsequent attempts instead of reusing an aborted flow.",[47,238,240],{"id":239},"related-pages","Related Pages",[193,242,243,253,261],{},[165,244,245],{},[246,247,249],"a",{"href":248},"\u002Fgetting-started\u002Fflow",[250,251,252],"strong",{},"Flow",[165,254,255],{},[246,256,258],{"href":257},"\u002Fgetting-started\u002Fquickstart",[250,259,260],{},"Quickstart",[165,262,263],{},[246,264,266],{"href":265},"\u002Fgetting-started\u002Ftroubleshooting",[250,267,268],{},"Troubleshooting",{"title":270,"searchDepth":271,"depth":271,"links":272},"",2,[273,274,275,276,277,278,279],{"id":49,"depth":271,"text":50},{"id":56,"depth":271,"text":57},{"id":156,"depth":271,"text":157},{"id":182,"depth":271,"text":183},{"id":214,"depth":271,"text":215},{"id":229,"depth":271,"text":230},{"id":239,"depth":271,"text":240},"Flow state transitions, terminal states, polling behavior, and output availability.","md",{},true,"\u002Fgetting-started\u002Fflow-lifecycle",{"title":34,"description":280},"getting-started\u002Fflow-lifecycle","0IRNpPQbIbeCR1WRV7ILaQ0xosMjBt5D1h5YJoQ8gck",1786714762593]