[{"data":1,"prerenderedAt":4823},["ShallowReactive",2],{"docs-page-meta":3,"docs-page-\u002Fgetting-started\u002Fquickstart":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":4816,"extension":4817,"meta":4818,"navigation":595,"path":4819,"seo":4820,"stem":4821,"__hash__":4822},"docs\u002Fgetting-started\u002Fquickstart.md","Quickstart",{"type":36,"value":37,"toc":4806},"minimark",[38,42,46,51,54,103,107,114,202,206,220,307,311,318,1974,1980,1984,2001,2977,2981,2984,4543,4552,4721,4725,4728,4735,4741,4747,4751,4802],[39,40,34],"h1",{"id":41},"quickstart",[43,44,45],"p",{},"This guide creates a flow from a text prompt, checks its status, and downloads the generated 3D model.",[47,48,50],"h3",{"id":49},"prerequisites","Prerequisites",[43,52,53],{},"Before creating your first 3D model make sure to:",[55,56,57,92],"ol",{},[58,59,60,64,65,72,73,76,77,80,81,84,85,91],"li",{},[61,62,63],"strong",{},"Create a Generio account and an API key",": Sign in at ",[66,67,71],"a",{"href":68,"rel":69},"https:\u002F\u002Faccount.generio.ai",[70],"nofollow","account.generio.ai",", open ",[61,74,75],{},"Account"," -> ",[61,78,79],{},"API Keys",", then click ",[61,82,83],{},"Add key"," and store the secret safely. For the full walkthrough, read ",[66,86,88],{"href":87},".\u002Fauthentication",[61,89,90],{},"Authentication",".",[58,93,94,97,98,102],{},[61,95,96],{},"Keep your API key private",": Store it in your local environment or an uncommitted ",[99,100,101],"code",{},".env"," file.",[47,104,106],{"id":105},"install-dependencies","Install Dependencies",[43,108,109,110,113],{},"Choose the language or runtime you want to use. The cURL and wget snippets are written for macOS, Linux, and Git Bash on Windows. Backend JavaScript projects can use any framework or module style; the examples below use Node.js 18 or later with ",[99,111,112],{},"dotenv"," for loading environment variables.",[115,116,117,140,152,173,189],"docs-code-group",{},[118,119,125],"pre",{"className":120,"code":121,"filename":122,"language":123,"meta":124,"style":124},"language-bash shiki shiki-themes github-light github-light github-dark","curl --version\n","cURL","bash","",[99,126,127],{"__ignoreMap":124},[128,129,132,136],"span",{"class":130,"line":131},"line",1,[128,133,135],{"class":134},"sgQzM","curl",[128,137,139],{"class":138},"sUNQB"," --version\n",[118,141,144],{"className":120,"code":142,"filename":143,"language":123,"meta":124,"style":124},"wget --version\n","wget",[99,145,146],{"__ignoreMap":124},[128,147,148,150],{"class":130,"line":131},[128,149,143],{"class":134},[128,151,139],{"class":138},[118,153,156],{"className":120,"code":154,"filename":155,"language":123,"meta":124,"style":124},"pip install requests python-dotenv\n","Python",[99,157,158],{"__ignoreMap":124},[128,159,160,163,167,170],{"class":130,"line":131},[128,161,162],{"class":134},"pip",[128,164,166],{"class":165},"s-HEn"," install",[128,168,169],{"class":165}," requests",[128,171,172],{"class":165}," python-dotenv\n",[118,174,177],{"className":120,"code":175,"filename":176,"language":123,"meta":124,"style":124},"npm install dotenv\n","JavaScript",[99,178,179],{"__ignoreMap":124},[128,180,181,184,186],{"class":130,"line":131},[128,182,183],{"class":134},"npm",[128,185,166],{"class":165},[128,187,188],{"class":165}," dotenv\n",[118,190,193],{"className":120,"code":191,"filename":192,"language":123,"meta":124,"style":124},"php --version\n","PHP",[99,194,195],{"__ignoreMap":124},[128,196,197,200],{"class":130,"line":131},[128,198,199],{"class":134},"php",[128,201,139],{"class":138},[47,203,205],{"id":204},"set-your-api-key","Set Your API Key",[43,207,208,209,212,213,216,217,91],{},"Set ",[99,210,211],{},"GENERIO_API_KEY"," before making requests. On macOS, Linux, or Git Bash, use ",[99,214,215],{},"export",". In Windows PowerShell, use ",[99,218,219],{},"$env:GENERIO_API_KEY",[115,221,222,242,256,277,293],{},[118,223,225],{"className":120,"code":224,"filename":122,"language":123,"meta":124,"style":124},"export GENERIO_API_KEY=\"paste-your-key-here\"\n",[99,226,227],{"__ignoreMap":124},[128,228,229,232,236,239],{"class":130,"line":131},[128,230,215],{"class":231},"sDD9d",[128,233,235],{"class":234},"sVPnS"," GENERIO_API_KEY",[128,237,238],{"class":231},"=",[128,240,241],{"class":165},"\"paste-your-key-here\"\n",[118,243,244],{"className":120,"code":224,"filename":143,"language":123,"meta":124,"style":124},[99,245,246],{"__ignoreMap":124},[128,247,248,250,252,254],{"class":130,"line":131},[128,249,215],{"class":231},[128,251,235],{"class":234},[128,253,238],{"class":231},[128,255,241],{"class":165},[118,257,259],{"className":120,"code":258,"filename":155,"language":123,"meta":124,"style":124},"# .env\nGENERIO_API_KEY=paste-your-key-here\n",[99,260,261,267],{"__ignoreMap":124},[128,262,263],{"class":130,"line":131},[128,264,266],{"class":265},"sqmzS","# .env\n",[128,268,270,272,274],{"class":130,"line":269},2,[128,271,211],{"class":234},[128,273,238],{"class":231},[128,275,276],{"class":165},"paste-your-key-here\n",[118,278,279],{"className":120,"code":258,"filename":176,"language":123,"meta":124,"style":124},[99,280,281,285],{"__ignoreMap":124},[128,282,283],{"class":130,"line":131},[128,284,266],{"class":265},[128,286,287,289,291],{"class":130,"line":269},[128,288,211],{"class":234},[128,290,238],{"class":231},[128,292,276],{"class":165},[118,294,295],{"className":120,"code":224,"filename":192,"language":123,"meta":124,"style":124},[99,296,297],{"__ignoreMap":124},[128,298,299,301,303,305],{"class":130,"line":131},[128,300,215],{"class":231},[128,302,235],{"class":234},[128,304,238],{"class":231},[128,306,241],{"class":165},[47,308,310],{"id":309},"create-a-flow","Create a Flow",[43,312,313,314,317],{},"Create a flow from the ",[99,315,316],{},"model_generate_fromprompt"," template. The example starts automatically because it includes the input prompt in the create request.",[115,319,320,448,556,883,1223],{},[118,321,323],{"className":120,"code":322,"filename":122,"language":123,"meta":124,"style":124},"curl -X POST \"https:\u002F\u002Fflows.generio.ai\u002Fflows\" \\\n  -H \"Authorization: Bearer $GENERIO_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"template\": \"model_generate_fromprompt\",\n    \"parameters\": {\n      \"quality\": \"high\"\n    },\n    \"inputs\": [\n      {\n        \"data\": \"A modern office chair\",\n        \"additional\": null\n      }\n    ],\n    \"additional\": null\n  }'\n",[99,324,325,341,357,367,376,382,388,394,400,406,412,418,424,430,436,442],{"__ignoreMap":124},[128,326,327,329,332,335,338],{"class":130,"line":131},[128,328,135],{"class":134},[128,330,331],{"class":138}," -X",[128,333,334],{"class":165}," POST",[128,336,337],{"class":165}," \"https:\u002F\u002Fflows.generio.ai\u002Fflows\"",[128,339,340],{"class":138}," \\\n",[128,342,343,346,349,352,355],{"class":130,"line":269},[128,344,345],{"class":138},"  -H",[128,347,348],{"class":165}," \"Authorization: Bearer ",[128,350,351],{"class":234},"$GENERIO_API_KEY",[128,353,354],{"class":165},"\"",[128,356,340],{"class":138},[128,358,360,362,365],{"class":130,"line":359},3,[128,361,345],{"class":138},[128,363,364],{"class":165}," \"Content-Type: application\u002Fjson\"",[128,366,340],{"class":138},[128,368,370,373],{"class":130,"line":369},4,[128,371,372],{"class":138},"  -d",[128,374,375],{"class":165}," '{\n",[128,377,379],{"class":130,"line":378},5,[128,380,381],{"class":165},"    \"template\": \"model_generate_fromprompt\",\n",[128,383,385],{"class":130,"line":384},6,[128,386,387],{"class":165},"    \"parameters\": {\n",[128,389,391],{"class":130,"line":390},7,[128,392,393],{"class":165},"      \"quality\": \"high\"\n",[128,395,397],{"class":130,"line":396},8,[128,398,399],{"class":165},"    },\n",[128,401,403],{"class":130,"line":402},9,[128,404,405],{"class":165},"    \"inputs\": [\n",[128,407,409],{"class":130,"line":408},10,[128,410,411],{"class":165},"      {\n",[128,413,415],{"class":130,"line":414},11,[128,416,417],{"class":165},"        \"data\": \"A modern office chair\",\n",[128,419,421],{"class":130,"line":420},12,[128,422,423],{"class":165},"        \"additional\": null\n",[128,425,427],{"class":130,"line":426},13,[128,428,429],{"class":165},"      }\n",[128,431,433],{"class":130,"line":432},14,[128,434,435],{"class":165},"    ],\n",[128,437,439],{"class":130,"line":438},15,[128,440,441],{"class":165},"    \"additional\": null\n",[128,443,445],{"class":130,"line":444},16,[128,446,447],{"class":165},"  }'\n",[118,449,451],{"className":120,"code":450,"filename":143,"language":123,"meta":124,"style":124},"wget --method=POST \\\n  --header=\"Authorization: Bearer $GENERIO_API_KEY\" \\\n  --header=\"Content-Type: application\u002Fjson\" \\\n  --body-data='{\n    \"template\": \"model_generate_fromprompt\",\n    \"parameters\": {\n      \"quality\": \"high\"\n    },\n    \"inputs\": [\n      {\n        \"data\": \"A modern office chair\",\n        \"additional\": null\n      }\n    ],\n    \"additional\": null\n  }' \\\n  \"https:\u002F\u002Fflows.generio.ai\u002Fflows\" -O -\n",[99,452,453,462,476,485,493,497,501,505,509,513,517,521,525,529,533,537,544],{"__ignoreMap":124},[128,454,455,457,460],{"class":130,"line":131},[128,456,143],{"class":134},[128,458,459],{"class":138}," --method=POST",[128,461,340],{"class":138},[128,463,464,467,470,472,474],{"class":130,"line":269},[128,465,466],{"class":138},"  --header=",[128,468,469],{"class":165},"\"Authorization: Bearer ",[128,471,351],{"class":234},[128,473,354],{"class":165},[128,475,340],{"class":138},[128,477,478,480,483],{"class":130,"line":359},[128,479,466],{"class":138},[128,481,482],{"class":165},"\"Content-Type: application\u002Fjson\"",[128,484,340],{"class":138},[128,486,487,490],{"class":130,"line":369},[128,488,489],{"class":138},"  --body-data=",[128,491,492],{"class":165},"'{\n",[128,494,495],{"class":130,"line":378},[128,496,381],{"class":165},[128,498,499],{"class":130,"line":384},[128,500,387],{"class":165},[128,502,503],{"class":130,"line":390},[128,504,393],{"class":165},[128,506,507],{"class":130,"line":396},[128,508,399],{"class":165},[128,510,511],{"class":130,"line":402},[128,512,405],{"class":165},[128,514,515],{"class":130,"line":408},[128,516,411],{"class":165},[128,518,519],{"class":130,"line":414},[128,520,417],{"class":165},[128,522,523],{"class":130,"line":420},[128,524,423],{"class":165},[128,526,527],{"class":130,"line":426},[128,528,429],{"class":165},[128,530,531],{"class":130,"line":432},[128,532,435],{"class":165},[128,534,535],{"class":130,"line":438},[128,536,441],{"class":165},[128,538,539,542],{"class":130,"line":444},[128,540,541],{"class":165},"  }'",[128,543,340],{"class":138},[128,545,547,550,553],{"class":130,"line":546},17,[128,548,549],{"class":165},"  \"https:\u002F\u002Fflows.generio.ai\u002Fflows\"",[128,551,552],{"class":138}," -O",[128,554,555],{"class":165}," -\n",[118,557,561],{"className":558,"code":559,"filename":155,"language":560,"meta":124,"style":124},"language-python shiki shiki-themes github-light github-light github-dark","from dotenv import load_dotenv\nimport os\nimport requests\n\nload_dotenv()\n\napi_key = os.getenv(\"GENERIO_API_KEY\")\nbase_url = \"https:\u002F\u002Fflows.generio.ai\"\nheaders = {\"Authorization\": f\"Bearer {api_key}\"}\n\npayload = {\n    \"template\": \"model_generate_fromprompt\",\n    \"parameters\": {\n        \"quality\": \"high\"\n    },\n    \"inputs\": [\n        {\n            \"data\": \"A modern office chair\",\n            \"additional\": None\n        }\n    ],\n    \"additional\": None\n}\n\nresponse = requests.post(f\"{base_url}\u002Fflows\", headers=headers, json=payload)\nresponse.raise_for_status()\n\nflow_id = response.json()[\"flow_id\"]\nprint(f\"Flow created: {flow_id}\")\n","python",[99,562,563,577,584,591,597,602,606,622,632,668,672,682,695,703,713,717,725,730,743,754,760,765,775,780,785,830,836,841,858],{"__ignoreMap":124},[128,564,565,568,571,574],{"class":130,"line":131},[128,566,567],{"class":231},"from",[128,569,570],{"class":234}," dotenv ",[128,572,573],{"class":231},"import",[128,575,576],{"class":234}," load_dotenv\n",[128,578,579,581],{"class":130,"line":269},[128,580,573],{"class":231},[128,582,583],{"class":234}," os\n",[128,585,586,588],{"class":130,"line":359},[128,587,573],{"class":231},[128,589,590],{"class":234}," requests\n",[128,592,593],{"class":130,"line":369},[128,594,596],{"emptyLinePlaceholder":595},true,"\n",[128,598,599],{"class":130,"line":378},[128,600,601],{"class":234},"load_dotenv()\n",[128,603,604],{"class":130,"line":384},[128,605,596],{"emptyLinePlaceholder":595},[128,607,608,611,613,616,619],{"class":130,"line":390},[128,609,610],{"class":234},"api_key ",[128,612,238],{"class":231},[128,614,615],{"class":234}," os.getenv(",[128,617,618],{"class":165},"\"GENERIO_API_KEY\"",[128,620,621],{"class":234},")\n",[128,623,624,627,629],{"class":130,"line":396},[128,625,626],{"class":234},"base_url ",[128,628,238],{"class":231},[128,630,631],{"class":165}," \"https:\u002F\u002Fflows.generio.ai\"\n",[128,633,634,637,639,642,645,648,651,654,657,660,663,665],{"class":130,"line":402},[128,635,636],{"class":234},"headers ",[128,638,238],{"class":231},[128,640,641],{"class":234}," {",[128,643,644],{"class":165},"\"Authorization\"",[128,646,647],{"class":234},": ",[128,649,650],{"class":231},"f",[128,652,653],{"class":165},"\"Bearer ",[128,655,656],{"class":138},"{",[128,658,659],{"class":234},"api_key",[128,661,662],{"class":138},"}",[128,664,354],{"class":165},[128,666,667],{"class":234},"}\n",[128,669,670],{"class":130,"line":408},[128,671,596],{"emptyLinePlaceholder":595},[128,673,674,677,679],{"class":130,"line":414},[128,675,676],{"class":234},"payload ",[128,678,238],{"class":231},[128,680,681],{"class":234}," {\n",[128,683,684,687,689,692],{"class":130,"line":420},[128,685,686],{"class":165},"    \"template\"",[128,688,647],{"class":234},[128,690,691],{"class":165},"\"model_generate_fromprompt\"",[128,693,694],{"class":234},",\n",[128,696,697,700],{"class":130,"line":426},[128,698,699],{"class":165},"    \"parameters\"",[128,701,702],{"class":234},": {\n",[128,704,705,708,710],{"class":130,"line":432},[128,706,707],{"class":165},"        \"quality\"",[128,709,647],{"class":234},[128,711,712],{"class":165},"\"high\"\n",[128,714,715],{"class":130,"line":438},[128,716,399],{"class":234},[128,718,719,722],{"class":130,"line":444},[128,720,721],{"class":165},"    \"inputs\"",[128,723,724],{"class":234},": [\n",[128,726,727],{"class":130,"line":546},[128,728,729],{"class":234},"        {\n",[128,731,733,736,738,741],{"class":130,"line":732},18,[128,734,735],{"class":165},"            \"data\"",[128,737,647],{"class":234},[128,739,740],{"class":165},"\"A modern office chair\"",[128,742,694],{"class":234},[128,744,746,749,751],{"class":130,"line":745},19,[128,747,748],{"class":165},"            \"additional\"",[128,750,647],{"class":234},[128,752,753],{"class":138},"None\n",[128,755,757],{"class":130,"line":756},20,[128,758,759],{"class":234},"        }\n",[128,761,763],{"class":130,"line":762},21,[128,764,435],{"class":234},[128,766,768,771,773],{"class":130,"line":767},22,[128,769,770],{"class":165},"    \"additional\"",[128,772,647],{"class":234},[128,774,753],{"class":138},[128,776,778],{"class":130,"line":777},23,[128,779,667],{"class":234},[128,781,783],{"class":130,"line":782},24,[128,784,596],{"emptyLinePlaceholder":595},[128,786,788,791,793,796,798,800,802,805,807,810,813,817,819,822,825,827],{"class":130,"line":787},25,[128,789,790],{"class":234},"response ",[128,792,238],{"class":231},[128,794,795],{"class":234}," requests.post(",[128,797,650],{"class":231},[128,799,354],{"class":165},[128,801,656],{"class":138},[128,803,804],{"class":234},"base_url",[128,806,662],{"class":138},[128,808,809],{"class":165},"\u002Fflows\"",[128,811,812],{"class":234},", ",[128,814,816],{"class":815},"sde8i","headers",[128,818,238],{"class":231},[128,820,821],{"class":234},"headers, ",[128,823,824],{"class":815},"json",[128,826,238],{"class":231},[128,828,829],{"class":234},"payload)\n",[128,831,833],{"class":130,"line":832},26,[128,834,835],{"class":234},"response.raise_for_status()\n",[128,837,839],{"class":130,"line":838},27,[128,840,596],{"emptyLinePlaceholder":595},[128,842,844,847,849,852,855],{"class":130,"line":843},28,[128,845,846],{"class":234},"flow_id ",[128,848,238],{"class":231},[128,850,851],{"class":234}," response.json()[",[128,853,854],{"class":165},"\"flow_id\"",[128,856,857],{"class":234},"]\n",[128,859,861,864,867,869,872,874,877,879,881],{"class":130,"line":860},29,[128,862,863],{"class":138},"print",[128,865,866],{"class":234},"(",[128,868,650],{"class":231},[128,870,871],{"class":165},"\"Flow created: ",[128,873,656],{"class":138},[128,875,876],{"class":234},"flow_id",[128,878,662],{"class":138},[128,880,354],{"class":165},[128,882,621],{"class":234},[118,884,888],{"className":885,"code":886,"filename":176,"language":887,"meta":124,"style":124},"language-javascript shiki shiki-themes github-light github-light github-dark","import \"dotenv\u002Fconfig\";\n\nconst apiKey = process.env.GENERIO_API_KEY;\nconst baseUrl = \"https:\u002F\u002Fflows.generio.ai\";\n\nconst response = await fetch(`${baseUrl}\u002Fflows`, {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${apiKey}`,\n    \"Content-Type\": \"application\u002Fjson\",\n  },\n  body: JSON.stringify({\n    template: \"model_generate_fromprompt\",\n    parameters: {\n      quality: \"high\",\n    },\n    inputs: [\n      {\n        data: \"A modern office chair\",\n        additional: null,\n      },\n    ],\n    additional: null,\n  }),\n});\n\nif (!response.ok) {\n  throw new Error(`Failed to create flow: ${response.status}`);\n}\n\nconst { flow_id: flowId } = await response.json();\nconsole.log(`Flow created: ${flowId}`);\n","javascript",[99,889,890,900,904,922,936,940,969,979,984,1000,1012,1017,1033,1042,1047,1057,1061,1066,1070,1079,1089,1094,1098,1107,1112,1117,1121,1135,1164,1168,1173,1203],{"__ignoreMap":124},[128,891,892,894,897],{"class":130,"line":131},[128,893,573],{"class":231},[128,895,896],{"class":165}," \"dotenv\u002Fconfig\"",[128,898,899],{"class":234},";\n",[128,901,902],{"class":130,"line":269},[128,903,596],{"emptyLinePlaceholder":595},[128,905,906,909,912,915,918,920],{"class":130,"line":359},[128,907,908],{"class":231},"const",[128,910,911],{"class":138}," apiKey",[128,913,914],{"class":231}," =",[128,916,917],{"class":234}," process.env.",[128,919,211],{"class":138},[128,921,899],{"class":234},[128,923,924,926,929,931,934],{"class":130,"line":369},[128,925,908],{"class":231},[128,927,928],{"class":138}," baseUrl",[128,930,914],{"class":231},[128,932,933],{"class":165}," \"https:\u002F\u002Fflows.generio.ai\"",[128,935,899],{"class":234},[128,937,938],{"class":130,"line":378},[128,939,596],{"emptyLinePlaceholder":595},[128,941,942,944,947,949,952,955,957,960,963,966],{"class":130,"line":384},[128,943,908],{"class":231},[128,945,946],{"class":138}," response",[128,948,914],{"class":231},[128,950,951],{"class":231}," await",[128,953,954],{"class":134}," fetch",[128,956,866],{"class":234},[128,958,959],{"class":165},"`${",[128,961,962],{"class":234},"baseUrl",[128,964,965],{"class":165},"}\u002Fflows`",[128,967,968],{"class":234},", {\n",[128,970,971,974,977],{"class":130,"line":390},[128,972,973],{"class":234},"  method: ",[128,975,976],{"class":165},"\"POST\"",[128,978,694],{"class":234},[128,980,981],{"class":130,"line":396},[128,982,983],{"class":234},"  headers: {\n",[128,985,986,989,992,995,998],{"class":130,"line":402},[128,987,988],{"class":234},"    Authorization: ",[128,990,991],{"class":165},"`Bearer ${",[128,993,994],{"class":234},"apiKey",[128,996,997],{"class":165},"}`",[128,999,694],{"class":234},[128,1001,1002,1005,1007,1010],{"class":130,"line":408},[128,1003,1004],{"class":165},"    \"Content-Type\"",[128,1006,647],{"class":234},[128,1008,1009],{"class":165},"\"application\u002Fjson\"",[128,1011,694],{"class":234},[128,1013,1014],{"class":130,"line":414},[128,1015,1016],{"class":234},"  },\n",[128,1018,1019,1022,1025,1027,1030],{"class":130,"line":420},[128,1020,1021],{"class":234},"  body: ",[128,1023,1024],{"class":138},"JSON",[128,1026,91],{"class":234},[128,1028,1029],{"class":134},"stringify",[128,1031,1032],{"class":234},"({\n",[128,1034,1035,1038,1040],{"class":130,"line":426},[128,1036,1037],{"class":234},"    template: ",[128,1039,691],{"class":165},[128,1041,694],{"class":234},[128,1043,1044],{"class":130,"line":432},[128,1045,1046],{"class":234},"    parameters: {\n",[128,1048,1049,1052,1055],{"class":130,"line":438},[128,1050,1051],{"class":234},"      quality: ",[128,1053,1054],{"class":165},"\"high\"",[128,1056,694],{"class":234},[128,1058,1059],{"class":130,"line":444},[128,1060,399],{"class":234},[128,1062,1063],{"class":130,"line":546},[128,1064,1065],{"class":234},"    inputs: [\n",[128,1067,1068],{"class":130,"line":732},[128,1069,411],{"class":234},[128,1071,1072,1075,1077],{"class":130,"line":745},[128,1073,1074],{"class":234},"        data: ",[128,1076,740],{"class":165},[128,1078,694],{"class":234},[128,1080,1081,1084,1087],{"class":130,"line":756},[128,1082,1083],{"class":234},"        additional: ",[128,1085,1086],{"class":138},"null",[128,1088,694],{"class":234},[128,1090,1091],{"class":130,"line":762},[128,1092,1093],{"class":234},"      },\n",[128,1095,1096],{"class":130,"line":767},[128,1097,435],{"class":234},[128,1099,1100,1103,1105],{"class":130,"line":777},[128,1101,1102],{"class":234},"    additional: ",[128,1104,1086],{"class":138},[128,1106,694],{"class":234},[128,1108,1109],{"class":130,"line":782},[128,1110,1111],{"class":234},"  }),\n",[128,1113,1114],{"class":130,"line":787},[128,1115,1116],{"class":234},"});\n",[128,1118,1119],{"class":130,"line":832},[128,1120,596],{"emptyLinePlaceholder":595},[128,1122,1123,1126,1129,1132],{"class":130,"line":838},[128,1124,1125],{"class":231},"if",[128,1127,1128],{"class":234}," (",[128,1130,1131],{"class":231},"!",[128,1133,1134],{"class":234},"response.ok) {\n",[128,1136,1137,1140,1143,1146,1148,1151,1154,1156,1159,1161],{"class":130,"line":843},[128,1138,1139],{"class":231},"  throw",[128,1141,1142],{"class":231}," new",[128,1144,1145],{"class":134}," Error",[128,1147,866],{"class":234},[128,1149,1150],{"class":165},"`Failed to create flow: ${",[128,1152,1153],{"class":234},"response",[128,1155,91],{"class":165},[128,1157,1158],{"class":234},"status",[128,1160,997],{"class":165},[128,1162,1163],{"class":234},");\n",[128,1165,1166],{"class":130,"line":860},[128,1167,667],{"class":234},[128,1169,1171],{"class":130,"line":1170},30,[128,1172,596],{"emptyLinePlaceholder":595},[128,1174,1176,1178,1181,1183,1185,1188,1191,1193,1195,1198,1200],{"class":130,"line":1175},31,[128,1177,908],{"class":231},[128,1179,1180],{"class":234}," { ",[128,1182,876],{"class":815},[128,1184,647],{"class":234},[128,1186,1187],{"class":138},"flowId",[128,1189,1190],{"class":234}," } ",[128,1192,238],{"class":231},[128,1194,951],{"class":231},[128,1196,1197],{"class":234}," response.",[128,1199,824],{"class":134},[128,1201,1202],{"class":234},"();\n",[128,1204,1206,1209,1212,1214,1217,1219,1221],{"class":130,"line":1205},32,[128,1207,1208],{"class":234},"console.",[128,1210,1211],{"class":134},"log",[128,1213,866],{"class":234},[128,1215,1216],{"class":165},"`Flow created: ${",[128,1218,1187],{"class":234},[128,1220,997],{"class":165},[128,1222,1163],{"class":234},[118,1224,1227],{"className":1225,"code":1226,"filename":192,"language":199,"meta":124,"style":124},"language-php shiki shiki-themes github-light github-light github-dark","\u003C?php\n$apiKey = getenv(\"GENERIO_API_KEY\");\n$baseUrl = \"https:\u002F\u002Fflows.generio.ai\";\n\nif (!$apiKey) {\n    throw new RuntimeException(\"Set GENERIO_API_KEY before running this script.\");\n}\n\nfunction generioRequest(string $method, string $url, string $apiKey, ?array $payload = null): array\n{\n    $ch = curl_init($url);\n    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);\n    curl_setopt($ch, CURLOPT_HTTPHEADER, [\n        \"Authorization: Bearer \" . $apiKey,\n        \"Content-Type: application\u002Fjson\"\n    ]);\n\n    if ($payload !== null) {\n        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));\n    }\n\n    $response = curl_exec($ch);\n    $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);\n    $curlError = curl_error($ch);\n    curl_close($ch);\n\n    if ($response === false) {\n        throw new RuntimeException(\"Request failed: \" . $curlError);\n    }\n\n    $data = json_decode($response, true);\n\n    if ($data === null && json_last_error() !== JSON_ERROR_NONE) {\n        throw new RuntimeException(\"Invalid JSON response: \" . $response);\n    }\n\n    if ($statusCode \u003C 200 || $statusCode >= 300) {\n        throw new RuntimeException(\"API request failed with HTTP \" . $statusCode . \": \" . $response);\n    }\n\n    return $data;\n}\n\n$payload = [\n    \"template\" => \"model_generate_fromprompt\",\n    \"parameters\" => [\n        \"quality\" => \"high\"\n    ],\n    \"inputs\" => [\n        [\n            \"data\" => \"A modern office chair\",\n            \"additional\" => null\n        ]\n    ],\n    \"additional\" => null\n];\n\n$data = generioRequest(\"POST\", $baseUrl . \"\u002Fflows\", $apiKey, $payload);\n\nif (empty($data[\"flow_id\"])) {\n    throw new RuntimeException(\"Create flow response did not include flow_id: \" . json_encode($data));\n}\n\n$flowId = $data[\"flow_id\"];\necho \"Flow created: \" . $flowId . PHP_EOL;\n?>\n",[99,1228,1229,1237,1253,1264,1268,1279,1296,1300,1304,1350,1355,1368,1386,1398,1410,1421,1426,1431,1435,1451,1469,1474,1478,1491,1508,1520,1527,1531,1546,1565,1569,1573,1590,1595,1623,1642,1647,1652,1680,1707,1712,1717,1726,1731,1736,1747,1760,1769,1779,1784,1793,1799,1811,1821,1827,1832,1841,1847,1852,1877,1882,1900,1922,1927,1932,1947,1968],{"__ignoreMap":124},[128,1230,1231,1234],{"class":130,"line":131},[128,1232,1233],{"class":231},"\u003C?",[128,1235,1236],{"class":138},"php\n",[128,1238,1239,1242,1244,1247,1249,1251],{"class":130,"line":269},[128,1240,1241],{"class":234},"$apiKey ",[128,1243,238],{"class":231},[128,1245,1246],{"class":138}," getenv",[128,1248,866],{"class":234},[128,1250,618],{"class":165},[128,1252,1163],{"class":234},[128,1254,1255,1258,1260,1262],{"class":130,"line":359},[128,1256,1257],{"class":234},"$baseUrl ",[128,1259,238],{"class":231},[128,1261,933],{"class":165},[128,1263,899],{"class":234},[128,1265,1266],{"class":130,"line":369},[128,1267,596],{"emptyLinePlaceholder":595},[128,1269,1270,1272,1274,1276],{"class":130,"line":378},[128,1271,1125],{"class":231},[128,1273,1128],{"class":234},[128,1275,1131],{"class":231},[128,1277,1278],{"class":234},"$apiKey) {\n",[128,1280,1281,1284,1286,1289,1291,1294],{"class":130,"line":384},[128,1282,1283],{"class":231},"    throw",[128,1285,1142],{"class":231},[128,1287,1288],{"class":138}," RuntimeException",[128,1290,866],{"class":234},[128,1292,1293],{"class":165},"\"Set GENERIO_API_KEY before running this script.\"",[128,1295,1163],{"class":234},[128,1297,1298],{"class":130,"line":390},[128,1299,667],{"class":234},[128,1301,1302],{"class":130,"line":396},[128,1303,596],{"emptyLinePlaceholder":595},[128,1305,1306,1309,1312,1314,1317,1320,1322,1325,1327,1330,1333,1336,1338,1341,1344,1347],{"class":130,"line":402},[128,1307,1308],{"class":231},"function",[128,1310,1311],{"class":134}," generioRequest",[128,1313,866],{"class":234},[128,1315,1316],{"class":231},"string",[128,1318,1319],{"class":234}," $method, ",[128,1321,1316],{"class":231},[128,1323,1324],{"class":234}," $url, ",[128,1326,1316],{"class":231},[128,1328,1329],{"class":234}," $apiKey, ",[128,1331,1332],{"class":231},"?array",[128,1334,1335],{"class":234}," $payload ",[128,1337,238],{"class":231},[128,1339,1340],{"class":138}," null",[128,1342,1343],{"class":234},")",[128,1345,1346],{"class":231},":",[128,1348,1349],{"class":231}," array\n",[128,1351,1352],{"class":130,"line":408},[128,1353,1354],{"class":234},"{\n",[128,1356,1357,1360,1362,1365],{"class":130,"line":414},[128,1358,1359],{"class":234},"    $ch ",[128,1361,238],{"class":231},[128,1363,1364],{"class":138}," curl_init",[128,1366,1367],{"class":234},"($url);\n",[128,1369,1370,1373,1376,1379,1381,1384],{"class":130,"line":420},[128,1371,1372],{"class":138},"    curl_setopt",[128,1374,1375],{"class":234},"($ch, ",[128,1377,1378],{"class":138},"CURLOPT_RETURNTRANSFER",[128,1380,812],{"class":234},[128,1382,1383],{"class":138},"true",[128,1385,1163],{"class":234},[128,1387,1388,1390,1392,1395],{"class":130,"line":426},[128,1389,1372],{"class":138},[128,1391,1375],{"class":234},[128,1393,1394],{"class":138},"CURLOPT_CUSTOMREQUEST",[128,1396,1397],{"class":234},", $method);\n",[128,1399,1400,1402,1404,1407],{"class":130,"line":432},[128,1401,1372],{"class":138},[128,1403,1375],{"class":234},[128,1405,1406],{"class":138},"CURLOPT_HTTPHEADER",[128,1408,1409],{"class":234},", [\n",[128,1411,1412,1415,1418],{"class":130,"line":438},[128,1413,1414],{"class":165},"        \"Authorization: Bearer \"",[128,1416,1417],{"class":231}," .",[128,1419,1420],{"class":234}," $apiKey,\n",[128,1422,1423],{"class":130,"line":444},[128,1424,1425],{"class":165},"        \"Content-Type: application\u002Fjson\"\n",[128,1427,1428],{"class":130,"line":546},[128,1429,1430],{"class":234},"    ]);\n",[128,1432,1433],{"class":130,"line":732},[128,1434,596],{"emptyLinePlaceholder":595},[128,1436,1437,1440,1443,1446,1448],{"class":130,"line":745},[128,1438,1439],{"class":231},"    if",[128,1441,1442],{"class":234}," ($payload ",[128,1444,1445],{"class":231},"!==",[128,1447,1340],{"class":138},[128,1449,1450],{"class":234},") {\n",[128,1452,1453,1456,1458,1461,1463,1466],{"class":130,"line":756},[128,1454,1455],{"class":138},"        curl_setopt",[128,1457,1375],{"class":234},[128,1459,1460],{"class":138},"CURLOPT_POSTFIELDS",[128,1462,812],{"class":234},[128,1464,1465],{"class":138},"json_encode",[128,1467,1468],{"class":234},"($payload));\n",[128,1470,1471],{"class":130,"line":762},[128,1472,1473],{"class":234},"    }\n",[128,1475,1476],{"class":130,"line":767},[128,1477,596],{"emptyLinePlaceholder":595},[128,1479,1480,1483,1485,1488],{"class":130,"line":777},[128,1481,1482],{"class":234},"    $response ",[128,1484,238],{"class":231},[128,1486,1487],{"class":138}," curl_exec",[128,1489,1490],{"class":234},"($ch);\n",[128,1492,1493,1496,1498,1501,1503,1506],{"class":130,"line":782},[128,1494,1495],{"class":234},"    $statusCode ",[128,1497,238],{"class":231},[128,1499,1500],{"class":138}," curl_getinfo",[128,1502,1375],{"class":234},[128,1504,1505],{"class":138},"CURLINFO_HTTP_CODE",[128,1507,1163],{"class":234},[128,1509,1510,1513,1515,1518],{"class":130,"line":787},[128,1511,1512],{"class":234},"    $curlError ",[128,1514,238],{"class":231},[128,1516,1517],{"class":138}," curl_error",[128,1519,1490],{"class":234},[128,1521,1522,1525],{"class":130,"line":832},[128,1523,1524],{"class":138},"    curl_close",[128,1526,1490],{"class":234},[128,1528,1529],{"class":130,"line":838},[128,1530,596],{"emptyLinePlaceholder":595},[128,1532,1533,1535,1538,1541,1544],{"class":130,"line":843},[128,1534,1439],{"class":231},[128,1536,1537],{"class":234}," ($response ",[128,1539,1540],{"class":231},"===",[128,1542,1543],{"class":138}," false",[128,1545,1450],{"class":234},[128,1547,1548,1551,1553,1555,1557,1560,1562],{"class":130,"line":860},[128,1549,1550],{"class":231},"        throw",[128,1552,1142],{"class":231},[128,1554,1288],{"class":138},[128,1556,866],{"class":234},[128,1558,1559],{"class":165},"\"Request failed: \"",[128,1561,1417],{"class":231},[128,1563,1564],{"class":234}," $curlError);\n",[128,1566,1567],{"class":130,"line":1170},[128,1568,1473],{"class":234},[128,1570,1571],{"class":130,"line":1175},[128,1572,596],{"emptyLinePlaceholder":595},[128,1574,1575,1578,1580,1583,1586,1588],{"class":130,"line":1205},[128,1576,1577],{"class":234},"    $data ",[128,1579,238],{"class":231},[128,1581,1582],{"class":138}," json_decode",[128,1584,1585],{"class":234},"($response, ",[128,1587,1383],{"class":138},[128,1589,1163],{"class":234},[128,1591,1593],{"class":130,"line":1592},33,[128,1594,596],{"emptyLinePlaceholder":595},[128,1596,1598,1600,1603,1605,1607,1610,1613,1616,1618,1621],{"class":130,"line":1597},34,[128,1599,1439],{"class":231},[128,1601,1602],{"class":234}," ($data ",[128,1604,1540],{"class":231},[128,1606,1340],{"class":138},[128,1608,1609],{"class":231}," &&",[128,1611,1612],{"class":138}," json_last_error",[128,1614,1615],{"class":234},"() ",[128,1617,1445],{"class":231},[128,1619,1620],{"class":138}," JSON_ERROR_NONE",[128,1622,1450],{"class":234},[128,1624,1626,1628,1630,1632,1634,1637,1639],{"class":130,"line":1625},35,[128,1627,1550],{"class":231},[128,1629,1142],{"class":231},[128,1631,1288],{"class":138},[128,1633,866],{"class":234},[128,1635,1636],{"class":165},"\"Invalid JSON response: \"",[128,1638,1417],{"class":231},[128,1640,1641],{"class":234}," $response);\n",[128,1643,1645],{"class":130,"line":1644},36,[128,1646,1473],{"class":234},[128,1648,1650],{"class":130,"line":1649},37,[128,1651,596],{"emptyLinePlaceholder":595},[128,1653,1655,1657,1660,1663,1666,1669,1672,1675,1678],{"class":130,"line":1654},38,[128,1656,1439],{"class":231},[128,1658,1659],{"class":234}," ($statusCode ",[128,1661,1662],{"class":231},"\u003C",[128,1664,1665],{"class":138}," 200",[128,1667,1668],{"class":231}," ||",[128,1670,1671],{"class":234}," $statusCode ",[128,1673,1674],{"class":231},">=",[128,1676,1677],{"class":138}," 300",[128,1679,1450],{"class":234},[128,1681,1683,1685,1687,1689,1691,1694,1696,1698,1700,1703,1705],{"class":130,"line":1682},39,[128,1684,1550],{"class":231},[128,1686,1142],{"class":231},[128,1688,1288],{"class":138},[128,1690,866],{"class":234},[128,1692,1693],{"class":165},"\"API request failed with HTTP \"",[128,1695,1417],{"class":231},[128,1697,1671],{"class":234},[128,1699,91],{"class":231},[128,1701,1702],{"class":165}," \": \"",[128,1704,1417],{"class":231},[128,1706,1641],{"class":234},[128,1708,1710],{"class":130,"line":1709},40,[128,1711,1473],{"class":234},[128,1713,1715],{"class":130,"line":1714},41,[128,1716,596],{"emptyLinePlaceholder":595},[128,1718,1720,1723],{"class":130,"line":1719},42,[128,1721,1722],{"class":231},"    return",[128,1724,1725],{"class":234}," $data;\n",[128,1727,1729],{"class":130,"line":1728},43,[128,1730,667],{"class":234},[128,1732,1734],{"class":130,"line":1733},44,[128,1735,596],{"emptyLinePlaceholder":595},[128,1737,1739,1742,1744],{"class":130,"line":1738},45,[128,1740,1741],{"class":234},"$payload ",[128,1743,238],{"class":231},[128,1745,1746],{"class":234}," [\n",[128,1748,1750,1752,1755,1758],{"class":130,"line":1749},46,[128,1751,686],{"class":165},[128,1753,1754],{"class":231}," =>",[128,1756,1757],{"class":165}," \"model_generate_fromprompt\"",[128,1759,694],{"class":234},[128,1761,1763,1765,1767],{"class":130,"line":1762},47,[128,1764,699],{"class":165},[128,1766,1754],{"class":231},[128,1768,1746],{"class":234},[128,1770,1772,1774,1776],{"class":130,"line":1771},48,[128,1773,707],{"class":165},[128,1775,1754],{"class":231},[128,1777,1778],{"class":165}," \"high\"\n",[128,1780,1782],{"class":130,"line":1781},49,[128,1783,435],{"class":234},[128,1785,1787,1789,1791],{"class":130,"line":1786},50,[128,1788,721],{"class":165},[128,1790,1754],{"class":231},[128,1792,1746],{"class":234},[128,1794,1796],{"class":130,"line":1795},51,[128,1797,1798],{"class":234},"        [\n",[128,1800,1802,1804,1806,1809],{"class":130,"line":1801},52,[128,1803,735],{"class":165},[128,1805,1754],{"class":231},[128,1807,1808],{"class":165}," \"A modern office chair\"",[128,1810,694],{"class":234},[128,1812,1814,1816,1818],{"class":130,"line":1813},53,[128,1815,748],{"class":165},[128,1817,1754],{"class":231},[128,1819,1820],{"class":138}," null\n",[128,1822,1824],{"class":130,"line":1823},54,[128,1825,1826],{"class":234},"        ]\n",[128,1828,1830],{"class":130,"line":1829},55,[128,1831,435],{"class":234},[128,1833,1835,1837,1839],{"class":130,"line":1834},56,[128,1836,770],{"class":165},[128,1838,1754],{"class":231},[128,1840,1820],{"class":138},[128,1842,1844],{"class":130,"line":1843},57,[128,1845,1846],{"class":234},"];\n",[128,1848,1850],{"class":130,"line":1849},58,[128,1851,596],{"emptyLinePlaceholder":595},[128,1853,1855,1858,1860,1862,1864,1866,1869,1871,1874],{"class":130,"line":1854},59,[128,1856,1857],{"class":234},"$data ",[128,1859,238],{"class":231},[128,1861,1311],{"class":134},[128,1863,866],{"class":234},[128,1865,976],{"class":165},[128,1867,1868],{"class":234},", $baseUrl ",[128,1870,91],{"class":231},[128,1872,1873],{"class":165}," \"\u002Fflows\"",[128,1875,1876],{"class":234},", $apiKey, $payload);\n",[128,1878,1880],{"class":130,"line":1879},60,[128,1881,596],{"emptyLinePlaceholder":595},[128,1883,1885,1887,1889,1892,1895,1897],{"class":130,"line":1884},61,[128,1886,1125],{"class":231},[128,1888,1128],{"class":234},[128,1890,1891],{"class":138},"empty",[128,1893,1894],{"class":234},"($data[",[128,1896,854],{"class":165},[128,1898,1899],{"class":234},"])) {\n",[128,1901,1903,1905,1907,1909,1911,1914,1916,1919],{"class":130,"line":1902},62,[128,1904,1283],{"class":231},[128,1906,1142],{"class":231},[128,1908,1288],{"class":138},[128,1910,866],{"class":234},[128,1912,1913],{"class":165},"\"Create flow response did not include flow_id: \"",[128,1915,1417],{"class":231},[128,1917,1918],{"class":138}," json_encode",[128,1920,1921],{"class":234},"($data));\n",[128,1923,1925],{"class":130,"line":1924},63,[128,1926,667],{"class":234},[128,1928,1930],{"class":130,"line":1929},64,[128,1931,596],{"emptyLinePlaceholder":595},[128,1933,1935,1938,1940,1943,1945],{"class":130,"line":1934},65,[128,1936,1937],{"class":234},"$flowId ",[128,1939,238],{"class":231},[128,1941,1942],{"class":234}," $data[",[128,1944,854],{"class":165},[128,1946,1846],{"class":234},[128,1948,1950,1953,1956,1958,1961,1963,1966],{"class":130,"line":1949},66,[128,1951,1952],{"class":138},"echo",[128,1954,1955],{"class":165}," \"Flow created: \"",[128,1957,1417],{"class":231},[128,1959,1960],{"class":234}," $flowId ",[128,1962,91],{"class":231},[128,1964,1965],{"class":138}," PHP_EOL",[128,1967,899],{"class":234},[128,1969,1971],{"class":130,"line":1970},67,[128,1972,1973],{"class":231},"?>\n",[43,1975,1976,1977,1979],{},"Copy the returned ",[99,1978,876],{},". You will use it in the next requests.",[47,1981,1983],{"id":1982},"check-the-flow-status","Check the Flow Status",[43,1985,1986,1987,1990,1991,812,1994,1997,1998,91],{},"Poll the flow until ",[99,1988,1989],{},"state"," becomes ",[99,1992,1993],{},"completed",[99,1995,1996],{},"failed",", or ",[99,1999,2000],{},"aborted",[115,2002,2003,2060,2113,2359,2699],{},[118,2004,2006],{"className":120,"code":2005,"filename":122,"language":123,"meta":124,"style":124},"FLOW_ID=\"paste-flow-id-here\"\n\ncurl -X GET \"https:\u002F\u002Fflows.generio.ai\u002Fflows\u002F$FLOW_ID\" \\\n  -H \"Authorization: Bearer $GENERIO_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\"\n",[99,2007,2008,2018,2022,2041,2053],{"__ignoreMap":124},[128,2009,2010,2013,2015],{"class":130,"line":131},[128,2011,2012],{"class":234},"FLOW_ID",[128,2014,238],{"class":231},[128,2016,2017],{"class":165},"\"paste-flow-id-here\"\n",[128,2019,2020],{"class":130,"line":269},[128,2021,596],{"emptyLinePlaceholder":595},[128,2023,2024,2026,2028,2031,2034,2037,2039],{"class":130,"line":359},[128,2025,135],{"class":134},[128,2027,331],{"class":138},[128,2029,2030],{"class":165}," GET",[128,2032,2033],{"class":165}," \"https:\u002F\u002Fflows.generio.ai\u002Fflows\u002F",[128,2035,2036],{"class":234},"$FLOW_ID",[128,2038,354],{"class":165},[128,2040,340],{"class":138},[128,2042,2043,2045,2047,2049,2051],{"class":130,"line":369},[128,2044,345],{"class":138},[128,2046,348],{"class":165},[128,2048,351],{"class":234},[128,2050,354],{"class":165},[128,2052,340],{"class":138},[128,2054,2055,2057],{"class":130,"line":378},[128,2056,345],{"class":138},[128,2058,2059],{"class":165}," \"Content-Type: application\u002Fjson\"\n",[118,2061,2063],{"className":120,"code":2062,"filename":143,"language":123,"meta":124,"style":124},"FLOW_ID=\"paste-flow-id-here\"\n\nwget --header=\"Authorization: Bearer $GENERIO_API_KEY\" \\\n  --header=\"Content-Type: application\u002Fjson\" \\\n  \"https:\u002F\u002Fflows.generio.ai\u002Fflows\u002F$FLOW_ID\" -O -\n",[99,2064,2065,2073,2077,2092,2100],{"__ignoreMap":124},[128,2066,2067,2069,2071],{"class":130,"line":131},[128,2068,2012],{"class":234},[128,2070,238],{"class":231},[128,2072,2017],{"class":165},[128,2074,2075],{"class":130,"line":269},[128,2076,596],{"emptyLinePlaceholder":595},[128,2078,2079,2081,2084,2086,2088,2090],{"class":130,"line":359},[128,2080,143],{"class":134},[128,2082,2083],{"class":138}," --header=",[128,2085,469],{"class":165},[128,2087,351],{"class":234},[128,2089,354],{"class":165},[128,2091,340],{"class":138},[128,2093,2094,2096,2098],{"class":130,"line":369},[128,2095,466],{"class":138},[128,2097,482],{"class":165},[128,2099,340],{"class":138},[128,2101,2102,2105,2107,2109,2111],{"class":130,"line":378},[128,2103,2104],{"class":165},"  \"https:\u002F\u002Fflows.generio.ai\u002Fflows\u002F",[128,2106,2036],{"class":234},[128,2108,354],{"class":165},[128,2110,552],{"class":138},[128,2112,555],{"class":165},[118,2114,2116],{"className":558,"code":2115,"filename":155,"language":560,"meta":124,"style":124},"import time\n\nprint(\"Processing...\")\n\nwhile True:\n    response = requests.get(f\"{base_url}\u002Fflows\u002F{flow_id}\", headers=headers)\n    response.raise_for_status()\n\n    status = response.json()\n    state = status[\"state\"]\n    progress = status[\"progress\"]\n    progress_text = \"In Progress\" if progress == 0 else \"Complete\"\n\n    print(f\"Status: {state} - {progress_text}\")\n\n    if state in [\"completed\", \"failed\", \"aborted\"]:\n        break\n\n    time.sleep(5)\n",[99,2117,2118,2125,2129,2140,2144,2155,2195,2200,2204,2214,2229,2243,2271,2275,2307,2311,2340,2345,2349],{"__ignoreMap":124},[128,2119,2120,2122],{"class":130,"line":131},[128,2121,573],{"class":231},[128,2123,2124],{"class":234}," time\n",[128,2126,2127],{"class":130,"line":269},[128,2128,596],{"emptyLinePlaceholder":595},[128,2130,2131,2133,2135,2138],{"class":130,"line":359},[128,2132,863],{"class":138},[128,2134,866],{"class":234},[128,2136,2137],{"class":165},"\"Processing...\"",[128,2139,621],{"class":234},[128,2141,2142],{"class":130,"line":369},[128,2143,596],{"emptyLinePlaceholder":595},[128,2145,2146,2149,2152],{"class":130,"line":378},[128,2147,2148],{"class":231},"while",[128,2150,2151],{"class":138}," True",[128,2153,2154],{"class":234},":\n",[128,2156,2157,2160,2162,2165,2167,2169,2171,2173,2175,2178,2180,2182,2184,2186,2188,2190,2192],{"class":130,"line":384},[128,2158,2159],{"class":234},"    response ",[128,2161,238],{"class":231},[128,2163,2164],{"class":234}," requests.get(",[128,2166,650],{"class":231},[128,2168,354],{"class":165},[128,2170,656],{"class":138},[128,2172,804],{"class":234},[128,2174,662],{"class":138},[128,2176,2177],{"class":165},"\u002Fflows\u002F",[128,2179,656],{"class":138},[128,2181,876],{"class":234},[128,2183,662],{"class":138},[128,2185,354],{"class":165},[128,2187,812],{"class":234},[128,2189,816],{"class":815},[128,2191,238],{"class":231},[128,2193,2194],{"class":234},"headers)\n",[128,2196,2197],{"class":130,"line":390},[128,2198,2199],{"class":234},"    response.raise_for_status()\n",[128,2201,2202],{"class":130,"line":396},[128,2203,596],{"emptyLinePlaceholder":595},[128,2205,2206,2209,2211],{"class":130,"line":402},[128,2207,2208],{"class":234},"    status ",[128,2210,238],{"class":231},[128,2212,2213],{"class":234}," response.json()\n",[128,2215,2216,2219,2221,2224,2227],{"class":130,"line":408},[128,2217,2218],{"class":234},"    state ",[128,2220,238],{"class":231},[128,2222,2223],{"class":234}," status[",[128,2225,2226],{"class":165},"\"state\"",[128,2228,857],{"class":234},[128,2230,2231,2234,2236,2238,2241],{"class":130,"line":414},[128,2232,2233],{"class":234},"    progress ",[128,2235,238],{"class":231},[128,2237,2223],{"class":234},[128,2239,2240],{"class":165},"\"progress\"",[128,2242,857],{"class":234},[128,2244,2245,2248,2250,2253,2256,2259,2262,2265,2268],{"class":130,"line":420},[128,2246,2247],{"class":234},"    progress_text ",[128,2249,238],{"class":231},[128,2251,2252],{"class":165}," \"In Progress\"",[128,2254,2255],{"class":231}," if",[128,2257,2258],{"class":234}," progress ",[128,2260,2261],{"class":231},"==",[128,2263,2264],{"class":138}," 0",[128,2266,2267],{"class":231}," else",[128,2269,2270],{"class":165}," \"Complete\"\n",[128,2272,2273],{"class":130,"line":426},[128,2274,596],{"emptyLinePlaceholder":595},[128,2276,2277,2280,2282,2284,2287,2289,2291,2293,2296,2298,2301,2303,2305],{"class":130,"line":432},[128,2278,2279],{"class":138},"    print",[128,2281,866],{"class":234},[128,2283,650],{"class":231},[128,2285,2286],{"class":165},"\"Status: ",[128,2288,656],{"class":138},[128,2290,1989],{"class":234},[128,2292,662],{"class":138},[128,2294,2295],{"class":165}," - ",[128,2297,656],{"class":138},[128,2299,2300],{"class":234},"progress_text",[128,2302,662],{"class":138},[128,2304,354],{"class":165},[128,2306,621],{"class":234},[128,2308,2309],{"class":130,"line":438},[128,2310,596],{"emptyLinePlaceholder":595},[128,2312,2313,2315,2318,2321,2324,2327,2329,2332,2334,2337],{"class":130,"line":444},[128,2314,1439],{"class":231},[128,2316,2317],{"class":234}," state ",[128,2319,2320],{"class":231},"in",[128,2322,2323],{"class":234}," [",[128,2325,2326],{"class":165},"\"completed\"",[128,2328,812],{"class":234},[128,2330,2331],{"class":165},"\"failed\"",[128,2333,812],{"class":234},[128,2335,2336],{"class":165},"\"aborted\"",[128,2338,2339],{"class":234},"]:\n",[128,2341,2342],{"class":130,"line":546},[128,2343,2344],{"class":231},"        break\n",[128,2346,2347],{"class":130,"line":732},[128,2348,596],{"emptyLinePlaceholder":595},[128,2350,2351,2354,2357],{"class":130,"line":745},[128,2352,2353],{"class":234},"    time.sleep(",[128,2355,2356],{"class":138},"5",[128,2358,621],{"class":234},[118,2360,2362],{"className":885,"code":2361,"filename":176,"language":887,"meta":124,"style":124},"const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\n\nconsole.log(\"Processing...\");\n\nlet status;\n\nwhile (true) {\n  const statusResponse = await fetch(`${baseUrl}\u002Fflows\u002F${flowId}`, {\n    headers: {\n      Authorization: `Bearer ${apiKey}`,\n      \"Content-Type\": \"application\u002Fjson\",\n    },\n  });\n\n  if (!statusResponse.ok) {\n    throw new Error(`Failed to check status: ${statusResponse.status}`);\n  }\n\n  status = await statusResponse.json();\n  const progressText = status.progress === 0 ? \"In Progress\" : \"Complete\";\n  console.log(`Status: ${status.state} - ${progressText}`);\n\n  if ([\"completed\", \"failed\", \"aborted\"].includes(status.state)) {\n    break;\n  }\n\n  await sleep(5000);\n}\n",[99,2363,2364,2405,2409,2421,2425,2433,2437,2447,2476,2481,2494,2505,2509,2514,2518,2530,2554,2559,2563,2579,2608,2636,2640,2666,2673,2677,2681,2695],{"__ignoreMap":124},[128,2365,2366,2368,2371,2373,2375,2378,2381,2384,2386,2389,2392,2395,2397,2399,2402],{"class":130,"line":131},[128,2367,908],{"class":231},[128,2369,2370],{"class":134}," sleep",[128,2372,914],{"class":231},[128,2374,1128],{"class":234},[128,2376,2377],{"class":815},"ms",[128,2379,2380],{"class":234},") ",[128,2382,2383],{"class":231},"=>",[128,2385,1142],{"class":231},[128,2387,2388],{"class":138}," Promise",[128,2390,2391],{"class":234},"((",[128,2393,2394],{"class":815},"resolve",[128,2396,2380],{"class":234},[128,2398,2383],{"class":231},[128,2400,2401],{"class":134}," setTimeout",[128,2403,2404],{"class":234},"(resolve, ms));\n",[128,2406,2407],{"class":130,"line":269},[128,2408,596],{"emptyLinePlaceholder":595},[128,2410,2411,2413,2415,2417,2419],{"class":130,"line":359},[128,2412,1208],{"class":234},[128,2414,1211],{"class":134},[128,2416,866],{"class":234},[128,2418,2137],{"class":165},[128,2420,1163],{"class":234},[128,2422,2423],{"class":130,"line":369},[128,2424,596],{"emptyLinePlaceholder":595},[128,2426,2427,2430],{"class":130,"line":378},[128,2428,2429],{"class":231},"let",[128,2431,2432],{"class":234}," status;\n",[128,2434,2435],{"class":130,"line":384},[128,2436,596],{"emptyLinePlaceholder":595},[128,2438,2439,2441,2443,2445],{"class":130,"line":390},[128,2440,2148],{"class":231},[128,2442,1128],{"class":234},[128,2444,1383],{"class":138},[128,2446,1450],{"class":234},[128,2448,2449,2452,2455,2457,2459,2461,2463,2465,2467,2470,2472,2474],{"class":130,"line":396},[128,2450,2451],{"class":231},"  const",[128,2453,2454],{"class":138}," statusResponse",[128,2456,914],{"class":231},[128,2458,951],{"class":231},[128,2460,954],{"class":134},[128,2462,866],{"class":234},[128,2464,959],{"class":165},[128,2466,962],{"class":234},[128,2468,2469],{"class":165},"}\u002Fflows\u002F${",[128,2471,1187],{"class":234},[128,2473,997],{"class":165},[128,2475,968],{"class":234},[128,2477,2478],{"class":130,"line":402},[128,2479,2480],{"class":234},"    headers: {\n",[128,2482,2483,2486,2488,2490,2492],{"class":130,"line":408},[128,2484,2485],{"class":234},"      Authorization: ",[128,2487,991],{"class":165},[128,2489,994],{"class":234},[128,2491,997],{"class":165},[128,2493,694],{"class":234},[128,2495,2496,2499,2501,2503],{"class":130,"line":414},[128,2497,2498],{"class":165},"      \"Content-Type\"",[128,2500,647],{"class":234},[128,2502,1009],{"class":165},[128,2504,694],{"class":234},[128,2506,2507],{"class":130,"line":420},[128,2508,399],{"class":234},[128,2510,2511],{"class":130,"line":426},[128,2512,2513],{"class":234},"  });\n",[128,2515,2516],{"class":130,"line":432},[128,2517,596],{"emptyLinePlaceholder":595},[128,2519,2520,2523,2525,2527],{"class":130,"line":438},[128,2521,2522],{"class":231},"  if",[128,2524,1128],{"class":234},[128,2526,1131],{"class":231},[128,2528,2529],{"class":234},"statusResponse.ok) {\n",[128,2531,2532,2534,2536,2538,2540,2543,2546,2548,2550,2552],{"class":130,"line":444},[128,2533,1283],{"class":231},[128,2535,1142],{"class":231},[128,2537,1145],{"class":134},[128,2539,866],{"class":234},[128,2541,2542],{"class":165},"`Failed to check status: ${",[128,2544,2545],{"class":234},"statusResponse",[128,2547,91],{"class":165},[128,2549,1158],{"class":234},[128,2551,997],{"class":165},[128,2553,1163],{"class":234},[128,2555,2556],{"class":130,"line":546},[128,2557,2558],{"class":234},"  }\n",[128,2560,2561],{"class":130,"line":732},[128,2562,596],{"emptyLinePlaceholder":595},[128,2564,2565,2568,2570,2572,2575,2577],{"class":130,"line":745},[128,2566,2567],{"class":234},"  status ",[128,2569,238],{"class":231},[128,2571,951],{"class":231},[128,2573,2574],{"class":234}," statusResponse.",[128,2576,824],{"class":134},[128,2578,1202],{"class":234},[128,2580,2581,2583,2586,2588,2591,2593,2595,2598,2600,2603,2606],{"class":130,"line":756},[128,2582,2451],{"class":231},[128,2584,2585],{"class":138}," progressText",[128,2587,914],{"class":231},[128,2589,2590],{"class":234}," status.progress ",[128,2592,1540],{"class":231},[128,2594,2264],{"class":138},[128,2596,2597],{"class":231}," ?",[128,2599,2252],{"class":165},[128,2601,2602],{"class":231}," :",[128,2604,2605],{"class":165}," \"Complete\"",[128,2607,899],{"class":234},[128,2609,2610,2613,2615,2617,2620,2622,2624,2626,2629,2632,2634],{"class":130,"line":762},[128,2611,2612],{"class":234},"  console.",[128,2614,1211],{"class":134},[128,2616,866],{"class":234},[128,2618,2619],{"class":165},"`Status: ${",[128,2621,1158],{"class":234},[128,2623,91],{"class":165},[128,2625,1989],{"class":234},[128,2627,2628],{"class":165},"} - ${",[128,2630,2631],{"class":234},"progressText",[128,2633,997],{"class":165},[128,2635,1163],{"class":234},[128,2637,2638],{"class":130,"line":767},[128,2639,596],{"emptyLinePlaceholder":595},[128,2641,2642,2644,2647,2649,2651,2653,2655,2657,2660,2663],{"class":130,"line":777},[128,2643,2522],{"class":231},[128,2645,2646],{"class":234}," ([",[128,2648,2326],{"class":165},[128,2650,812],{"class":234},[128,2652,2331],{"class":165},[128,2654,812],{"class":234},[128,2656,2336],{"class":165},[128,2658,2659],{"class":234},"].",[128,2661,2662],{"class":134},"includes",[128,2664,2665],{"class":234},"(status.state)) {\n",[128,2667,2668,2671],{"class":130,"line":782},[128,2669,2670],{"class":231},"    break",[128,2672,899],{"class":234},[128,2674,2675],{"class":130,"line":787},[128,2676,2558],{"class":234},[128,2678,2679],{"class":130,"line":832},[128,2680,596],{"emptyLinePlaceholder":595},[128,2682,2683,2686,2688,2690,2693],{"class":130,"line":838},[128,2684,2685],{"class":231},"  await",[128,2687,2370],{"class":134},[128,2689,866],{"class":234},[128,2691,2692],{"class":138},"5000",[128,2694,1163],{"class":234},[128,2696,2697],{"class":130,"line":843},[128,2698,667],{"class":234},[118,2700,2702],{"className":1225,"code":2701,"filename":192,"language":199,"meta":124,"style":124},"\u003C?php\necho \"Processing...\" . PHP_EOL;\n\ndo {\n    $status = generioRequest(\"GET\", $baseUrl . \"\u002Fflows\u002F\" . $flowId, $apiKey);\n\n    if (!isset($status[\"state\"])) {\n        throw new RuntimeException(\"Status response did not include state: \" . json_encode($status));\n    }\n\n    $progress = $status[\"progress\"] ?? 0;\n    $progressText = $progress >= 1 ? \"Complete\" : \"In Progress\";\n    echo \"Status: \" . $status[\"state\"] . \" - \" . $progressText . PHP_EOL;\n\n    if (in_array($status[\"state\"], [\"completed\", \"failed\", \"aborted\"], true)) {\n        break;\n    }\n\n    sleep(5);\n} while (true);\n?>\n",[99,2703,2704,2710,2723,2727,2734,2767,2771,2789,2809,2813,2817,2839,2864,2896,2900,2934,2941,2945,2949,2960,2973],{"__ignoreMap":124},[128,2705,2706,2708],{"class":130,"line":131},[128,2707,1233],{"class":231},[128,2709,1236],{"class":138},[128,2711,2712,2714,2717,2719,2721],{"class":130,"line":269},[128,2713,1952],{"class":138},[128,2715,2716],{"class":165}," \"Processing...\"",[128,2718,1417],{"class":231},[128,2720,1965],{"class":138},[128,2722,899],{"class":234},[128,2724,2725],{"class":130,"line":359},[128,2726,596],{"emptyLinePlaceholder":595},[128,2728,2729,2732],{"class":130,"line":369},[128,2730,2731],{"class":231},"do",[128,2733,681],{"class":234},[128,2735,2736,2739,2741,2743,2745,2748,2750,2752,2755,2759,2762,2764],{"class":130,"line":378},[128,2737,2738],{"class":234},"    $status ",[128,2740,238],{"class":231},[128,2742,1311],{"class":134},[128,2744,866],{"class":234},[128,2746,2747],{"class":165},"\"GET\"",[128,2749,1868],{"class":234},[128,2751,91],{"class":231},[128,2753,2754],{"class":165}," \"\u002F",[128,2756,2758],{"class":2757},"sAPpe","flows",[128,2760,2761],{"class":165},"\u002F\"",[128,2763,1417],{"class":231},[128,2765,2766],{"class":234}," $flowId, $apiKey);\n",[128,2768,2769],{"class":130,"line":384},[128,2770,596],{"emptyLinePlaceholder":595},[128,2772,2773,2775,2777,2779,2782,2785,2787],{"class":130,"line":390},[128,2774,1439],{"class":231},[128,2776,1128],{"class":234},[128,2778,1131],{"class":231},[128,2780,2781],{"class":138},"isset",[128,2783,2784],{"class":234},"($status[",[128,2786,2226],{"class":165},[128,2788,1899],{"class":234},[128,2790,2791,2793,2795,2797,2799,2802,2804,2806],{"class":130,"line":396},[128,2792,1550],{"class":231},[128,2794,1142],{"class":231},[128,2796,1288],{"class":138},[128,2798,866],{"class":234},[128,2800,2801],{"class":165},"\"Status response did not include state: \"",[128,2803,1417],{"class":231},[128,2805,1918],{"class":138},[128,2807,2808],{"class":234},"($status));\n",[128,2810,2811],{"class":130,"line":402},[128,2812,1473],{"class":234},[128,2814,2815],{"class":130,"line":408},[128,2816,596],{"emptyLinePlaceholder":595},[128,2818,2819,2822,2824,2827,2829,2832,2835,2837],{"class":130,"line":414},[128,2820,2821],{"class":234},"    $progress ",[128,2823,238],{"class":231},[128,2825,2826],{"class":234}," $status[",[128,2828,2240],{"class":165},[128,2830,2831],{"class":234},"] ",[128,2833,2834],{"class":231},"??",[128,2836,2264],{"class":138},[128,2838,899],{"class":234},[128,2840,2841,2844,2846,2849,2851,2854,2856,2858,2860,2862],{"class":130,"line":420},[128,2842,2843],{"class":234},"    $progressText ",[128,2845,238],{"class":231},[128,2847,2848],{"class":234}," $progress ",[128,2850,1674],{"class":231},[128,2852,2853],{"class":138}," 1",[128,2855,2597],{"class":231},[128,2857,2605],{"class":165},[128,2859,2602],{"class":231},[128,2861,2252],{"class":165},[128,2863,899],{"class":234},[128,2865,2866,2869,2872,2874,2876,2878,2880,2882,2885,2887,2890,2892,2894],{"class":130,"line":426},[128,2867,2868],{"class":138},"    echo",[128,2870,2871],{"class":165}," \"Status: \"",[128,2873,1417],{"class":231},[128,2875,2826],{"class":234},[128,2877,2226],{"class":165},[128,2879,2831],{"class":234},[128,2881,91],{"class":231},[128,2883,2884],{"class":165}," \" - \"",[128,2886,1417],{"class":231},[128,2888,2889],{"class":234}," $progressText ",[128,2891,91],{"class":231},[128,2893,1965],{"class":138},[128,2895,899],{"class":234},[128,2897,2898],{"class":130,"line":432},[128,2899,596],{"emptyLinePlaceholder":595},[128,2901,2902,2904,2906,2909,2911,2913,2916,2918,2920,2922,2924,2926,2929,2931],{"class":130,"line":438},[128,2903,1439],{"class":231},[128,2905,1128],{"class":234},[128,2907,2908],{"class":138},"in_array",[128,2910,2784],{"class":234},[128,2912,2226],{"class":165},[128,2914,2915],{"class":234},"], [",[128,2917,2326],{"class":165},[128,2919,812],{"class":234},[128,2921,2331],{"class":165},[128,2923,812],{"class":234},[128,2925,2336],{"class":165},[128,2927,2928],{"class":234},"], ",[128,2930,1383],{"class":138},[128,2932,2933],{"class":234},")) {\n",[128,2935,2936,2939],{"class":130,"line":444},[128,2937,2938],{"class":231},"        break",[128,2940,899],{"class":234},[128,2942,2943],{"class":130,"line":546},[128,2944,1473],{"class":234},[128,2946,2947],{"class":130,"line":732},[128,2948,596],{"emptyLinePlaceholder":595},[128,2950,2951,2954,2956,2958],{"class":130,"line":745},[128,2952,2953],{"class":138},"    sleep",[128,2955,866],{"class":234},[128,2957,2356],{"class":138},[128,2959,1163],{"class":234},[128,2961,2962,2965,2967,2969,2971],{"class":130,"line":756},[128,2963,2964],{"class":234},"} ",[128,2966,2148],{"class":231},[128,2968,1128],{"class":234},[128,2970,1383],{"class":138},[128,2972,1163],{"class":234},[128,2974,2975],{"class":130,"line":762},[128,2976,1973],{"class":231},[47,2978,2980],{"id":2979},"download-the-3d-model","Download the 3D Model",[43,2982,2983],{},"Once the flow is completed, list the output assets and download the generated model.",[115,2985,2986,3038,3089,3474,4007],{},[118,2987,2989],{"className":120,"code":2988,"filename":122,"language":123,"meta":124,"style":124},"FLOW_ID=\"paste-flow-id-here\"\n\ncurl -X GET \"https:\u002F\u002Fflows.generio.ai\u002Fflows\u002F$FLOW_ID\u002Foutputs\" \\\n  -H \"Authorization: Bearer $GENERIO_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\"\n",[99,2990,2991,2999,3003,3020,3032],{"__ignoreMap":124},[128,2992,2993,2995,2997],{"class":130,"line":131},[128,2994,2012],{"class":234},[128,2996,238],{"class":231},[128,2998,2017],{"class":165},[128,3000,3001],{"class":130,"line":269},[128,3002,596],{"emptyLinePlaceholder":595},[128,3004,3005,3007,3009,3011,3013,3015,3018],{"class":130,"line":359},[128,3006,135],{"class":134},[128,3008,331],{"class":138},[128,3010,2030],{"class":165},[128,3012,2033],{"class":165},[128,3014,2036],{"class":234},[128,3016,3017],{"class":165},"\u002Foutputs\"",[128,3019,340],{"class":138},[128,3021,3022,3024,3026,3028,3030],{"class":130,"line":369},[128,3023,345],{"class":138},[128,3025,348],{"class":165},[128,3027,351],{"class":234},[128,3029,354],{"class":165},[128,3031,340],{"class":138},[128,3033,3034,3036],{"class":130,"line":378},[128,3035,345],{"class":138},[128,3037,2059],{"class":165},[118,3039,3041],{"className":120,"code":3040,"filename":143,"language":123,"meta":124,"style":124},"FLOW_ID=\"paste-flow-id-here\"\n\nwget --header=\"Authorization: Bearer $GENERIO_API_KEY\" \\\n  --header=\"Content-Type: application\u002Fjson\" \\\n  \"https:\u002F\u002Fflows.generio.ai\u002Fflows\u002F$FLOW_ID\u002Foutputs\" -O -\n",[99,3042,3043,3051,3055,3069,3077],{"__ignoreMap":124},[128,3044,3045,3047,3049],{"class":130,"line":131},[128,3046,2012],{"class":234},[128,3048,238],{"class":231},[128,3050,2017],{"class":165},[128,3052,3053],{"class":130,"line":269},[128,3054,596],{"emptyLinePlaceholder":595},[128,3056,3057,3059,3061,3063,3065,3067],{"class":130,"line":359},[128,3058,143],{"class":134},[128,3060,2083],{"class":138},[128,3062,469],{"class":165},[128,3064,351],{"class":234},[128,3066,354],{"class":165},[128,3068,340],{"class":138},[128,3070,3071,3073,3075],{"class":130,"line":369},[128,3072,466],{"class":138},[128,3074,482],{"class":165},[128,3076,340],{"class":138},[128,3078,3079,3081,3083,3085,3087],{"class":130,"line":378},[128,3080,2104],{"class":165},[128,3082,2036],{"class":234},[128,3084,3017],{"class":165},[128,3086,552],{"class":138},[128,3088,555],{"class":165},[118,3090,3092],{"className":558,"code":3091,"filename":155,"language":560,"meta":124,"style":124},"import base64\n\nif status[\"state\"] == \"completed\":\n    response = requests.get(f\"{base_url}\u002Fflows\u002F{flow_id}\u002Foutputs\", headers=headers)\n    response.raise_for_status()\n\n    outputs = response.json()[\"outputs\"]\n\n    if not outputs:\n        raise RuntimeError(\"No outputs generated\")\n\n    for output in outputs:\n        model_response = requests.get(\n            f\"{base_url}\u002Fflows\u002F{flow_id}\u002Foutputs\u002F{output['asset_id']}?include_data=true\",\n            headers=headers\n        )\n        model_response.raise_for_status()\n\n        data_uri = model_response.json()[\"data\"]\n        base64_data = data_uri.split(\",\", 1)[1]\n        binary_data = base64.b64decode(base64_data)\n\n        filename = f\"model_{output['asset_id']}.glb\"\n        with open(filename, \"wb\") as file:\n            file.write(binary_data)\n\n        print(f\"Saved model: {filename}\")\nelse:\n    print(f\"Flow ended with state: {status['state']}\")\n",[99,3093,3094,3101,3105,3122,3158,3162,3166,3180,3184,3194,3209,3213,3225,3235,3277,3287,3292,3297,3301,3316,3341,3351,3355,3381,3405,3413,3417,3440,3447],{"__ignoreMap":124},[128,3095,3096,3098],{"class":130,"line":131},[128,3097,573],{"class":231},[128,3099,3100],{"class":234}," base64\n",[128,3102,3103],{"class":130,"line":269},[128,3104,596],{"emptyLinePlaceholder":595},[128,3106,3107,3109,3111,3113,3115,3117,3120],{"class":130,"line":359},[128,3108,1125],{"class":231},[128,3110,2223],{"class":234},[128,3112,2226],{"class":165},[128,3114,2831],{"class":234},[128,3116,2261],{"class":231},[128,3118,3119],{"class":165}," \"completed\"",[128,3121,2154],{"class":234},[128,3123,3124,3126,3128,3130,3132,3134,3136,3138,3140,3142,3144,3146,3148,3150,3152,3154,3156],{"class":130,"line":369},[128,3125,2159],{"class":234},[128,3127,238],{"class":231},[128,3129,2164],{"class":234},[128,3131,650],{"class":231},[128,3133,354],{"class":165},[128,3135,656],{"class":138},[128,3137,804],{"class":234},[128,3139,662],{"class":138},[128,3141,2177],{"class":165},[128,3143,656],{"class":138},[128,3145,876],{"class":234},[128,3147,662],{"class":138},[128,3149,3017],{"class":165},[128,3151,812],{"class":234},[128,3153,816],{"class":815},[128,3155,238],{"class":231},[128,3157,2194],{"class":234},[128,3159,3160],{"class":130,"line":378},[128,3161,2199],{"class":234},[128,3163,3164],{"class":130,"line":384},[128,3165,596],{"emptyLinePlaceholder":595},[128,3167,3168,3171,3173,3175,3178],{"class":130,"line":390},[128,3169,3170],{"class":234},"    outputs ",[128,3172,238],{"class":231},[128,3174,851],{"class":234},[128,3176,3177],{"class":165},"\"outputs\"",[128,3179,857],{"class":234},[128,3181,3182],{"class":130,"line":396},[128,3183,596],{"emptyLinePlaceholder":595},[128,3185,3186,3188,3191],{"class":130,"line":402},[128,3187,1439],{"class":231},[128,3189,3190],{"class":231}," not",[128,3192,3193],{"class":234}," outputs:\n",[128,3195,3196,3199,3202,3204,3207],{"class":130,"line":408},[128,3197,3198],{"class":231},"        raise",[128,3200,3201],{"class":138}," RuntimeError",[128,3203,866],{"class":234},[128,3205,3206],{"class":165},"\"No outputs generated\"",[128,3208,621],{"class":234},[128,3210,3211],{"class":130,"line":414},[128,3212,596],{"emptyLinePlaceholder":595},[128,3214,3215,3218,3221,3223],{"class":130,"line":420},[128,3216,3217],{"class":231},"    for",[128,3219,3220],{"class":234}," output ",[128,3222,2320],{"class":231},[128,3224,3193],{"class":234},[128,3226,3227,3230,3232],{"class":130,"line":426},[128,3228,3229],{"class":234},"        model_response ",[128,3231,238],{"class":231},[128,3233,3234],{"class":234}," requests.get(\n",[128,3236,3237,3240,3242,3244,3246,3248,3250,3252,3254,3256,3259,3261,3264,3267,3270,3272,3275],{"class":130,"line":432},[128,3238,3239],{"class":231},"            f",[128,3241,354],{"class":165},[128,3243,656],{"class":138},[128,3245,804],{"class":234},[128,3247,662],{"class":138},[128,3249,2177],{"class":165},[128,3251,656],{"class":138},[128,3253,876],{"class":234},[128,3255,662],{"class":138},[128,3257,3258],{"class":165},"\u002Foutputs\u002F",[128,3260,656],{"class":138},[128,3262,3263],{"class":234},"output[",[128,3265,3266],{"class":165},"'asset_id'",[128,3268,3269],{"class":234},"]",[128,3271,662],{"class":138},[128,3273,3274],{"class":165},"?include_data=true\"",[128,3276,694],{"class":234},[128,3278,3279,3282,3284],{"class":130,"line":438},[128,3280,3281],{"class":815},"            headers",[128,3283,238],{"class":231},[128,3285,3286],{"class":234},"headers\n",[128,3288,3289],{"class":130,"line":444},[128,3290,3291],{"class":234},"        )\n",[128,3293,3294],{"class":130,"line":546},[128,3295,3296],{"class":234},"        model_response.raise_for_status()\n",[128,3298,3299],{"class":130,"line":732},[128,3300,596],{"emptyLinePlaceholder":595},[128,3302,3303,3306,3308,3311,3314],{"class":130,"line":745},[128,3304,3305],{"class":234},"        data_uri ",[128,3307,238],{"class":231},[128,3309,3310],{"class":234}," model_response.json()[",[128,3312,3313],{"class":165},"\"data\"",[128,3315,857],{"class":234},[128,3317,3318,3321,3323,3326,3329,3331,3334,3337,3339],{"class":130,"line":756},[128,3319,3320],{"class":234},"        base64_data ",[128,3322,238],{"class":231},[128,3324,3325],{"class":234}," data_uri.split(",[128,3327,3328],{"class":165},"\",\"",[128,3330,812],{"class":234},[128,3332,3333],{"class":138},"1",[128,3335,3336],{"class":234},")[",[128,3338,3333],{"class":138},[128,3340,857],{"class":234},[128,3342,3343,3346,3348],{"class":130,"line":762},[128,3344,3345],{"class":234},"        binary_data ",[128,3347,238],{"class":231},[128,3349,3350],{"class":234}," base64.b64decode(base64_data)\n",[128,3352,3353],{"class":130,"line":767},[128,3354,596],{"emptyLinePlaceholder":595},[128,3356,3357,3360,3362,3365,3368,3370,3372,3374,3376,3378],{"class":130,"line":777},[128,3358,3359],{"class":234},"        filename ",[128,3361,238],{"class":231},[128,3363,3364],{"class":231}," f",[128,3366,3367],{"class":165},"\"model_",[128,3369,656],{"class":138},[128,3371,3263],{"class":234},[128,3373,3266],{"class":165},[128,3375,3269],{"class":234},[128,3377,662],{"class":138},[128,3379,3380],{"class":165},".glb\"\n",[128,3382,3383,3386,3389,3392,3395,3397,3400,3403],{"class":130,"line":782},[128,3384,3385],{"class":231},"        with",[128,3387,3388],{"class":138}," open",[128,3390,3391],{"class":234},"(filename, ",[128,3393,3394],{"class":165},"\"wb\"",[128,3396,2380],{"class":234},[128,3398,3399],{"class":231},"as",[128,3401,3402],{"class":815}," file",[128,3404,2154],{"class":234},[128,3406,3407,3410],{"class":130,"line":787},[128,3408,3409],{"class":815},"            file",[128,3411,3412],{"class":234},".write(binary_data)\n",[128,3414,3415],{"class":130,"line":832},[128,3416,596],{"emptyLinePlaceholder":595},[128,3418,3419,3422,3424,3426,3429,3431,3434,3436,3438],{"class":130,"line":838},[128,3420,3421],{"class":138},"        print",[128,3423,866],{"class":234},[128,3425,650],{"class":231},[128,3427,3428],{"class":165},"\"Saved model: ",[128,3430,656],{"class":138},[128,3432,3433],{"class":234},"filename",[128,3435,662],{"class":138},[128,3437,354],{"class":165},[128,3439,621],{"class":234},[128,3441,3442,3445],{"class":130,"line":843},[128,3443,3444],{"class":231},"else",[128,3446,2154],{"class":234},[128,3448,3449,3451,3453,3455,3458,3460,3463,3466,3468,3470,3472],{"class":130,"line":860},[128,3450,2279],{"class":138},[128,3452,866],{"class":234},[128,3454,650],{"class":231},[128,3456,3457],{"class":165},"\"Flow ended with state: ",[128,3459,656],{"class":138},[128,3461,3462],{"class":234},"status[",[128,3464,3465],{"class":165},"'state'",[128,3467,3269],{"class":234},[128,3469,662],{"class":138},[128,3471,354],{"class":165},[128,3473,621],{"class":234},[118,3475,3477],{"className":885,"code":3476,"filename":176,"language":887,"meta":124,"style":124},"const { writeFile } = await import(\"node:fs\u002Fpromises\");\n\nif (status.state === \"completed\") {\n  const outputsResponse = await fetch(`${baseUrl}\u002Fflows\u002F${flowId}\u002Foutputs`, {\n    headers: {\n      Authorization: `Bearer ${apiKey}`,\n      \"Content-Type\": \"application\u002Fjson\",\n    },\n  });\n\n  if (!outputsResponse.ok) {\n    throw new Error(`Failed to list outputs: ${outputsResponse.status}`);\n  }\n\n  const { outputs } = await outputsResponse.json();\n\n  if (!outputs.length) {\n    throw new Error(\"No outputs generated\");\n  }\n\n  for (const output of outputs) {\n    const modelResponse = await fetch(\n      `${baseUrl}\u002Fflows\u002F${flowId}\u002Foutputs\u002F${output.asset_id}?include_data=true`,\n      {\n        headers: {\n          Authorization: `Bearer ${apiKey}`,\n          \"Content-Type\": \"application\u002Fjson\",\n        },\n      },\n    );\n\n    if (!modelResponse.ok) {\n      throw new Error(`Failed to download output: ${modelResponse.status}`);\n    }\n\n    const { data } = await modelResponse.json();\n    const base64Data = data.split(\",\", 2)[1];\n    const filename = `model_${output.asset_id}.glb`;\n\n    await writeFile(filename, Buffer.from(base64Data, \"base64\"));\n    console.log(`Saved model: ${filename}`);\n  }\n} else {\n  console.log(`Flow ended with state: ${status.state}`);\n}\n",[99,3478,3479,3504,3508,3521,3549,3553,3565,3575,3579,3583,3587,3598,3622,3626,3630,3652,3656,3672,3686,3690,3694,3712,3729,3756,3760,3765,3778,3789,3794,3798,3803,3807,3818,3843,3847,3851,3873,3903,3926,3930,3952,3970,3974,3982,4003],{"__ignoreMap":124},[128,3480,3481,3483,3485,3488,3490,3492,3494,3497,3499,3502],{"class":130,"line":131},[128,3482,908],{"class":231},[128,3484,1180],{"class":234},[128,3486,3487],{"class":138},"writeFile",[128,3489,1190],{"class":234},[128,3491,238],{"class":231},[128,3493,951],{"class":231},[128,3495,3496],{"class":231}," import",[128,3498,866],{"class":234},[128,3500,3501],{"class":165},"\"node:fs\u002Fpromises\"",[128,3503,1163],{"class":234},[128,3505,3506],{"class":130,"line":269},[128,3507,596],{"emptyLinePlaceholder":595},[128,3509,3510,3512,3515,3517,3519],{"class":130,"line":359},[128,3511,1125],{"class":231},[128,3513,3514],{"class":234}," (status.state ",[128,3516,1540],{"class":231},[128,3518,3119],{"class":165},[128,3520,1450],{"class":234},[128,3522,3523,3525,3528,3530,3532,3534,3536,3538,3540,3542,3544,3547],{"class":130,"line":369},[128,3524,2451],{"class":231},[128,3526,3527],{"class":138}," outputsResponse",[128,3529,914],{"class":231},[128,3531,951],{"class":231},[128,3533,954],{"class":134},[128,3535,866],{"class":234},[128,3537,959],{"class":165},[128,3539,962],{"class":234},[128,3541,2469],{"class":165},[128,3543,1187],{"class":234},[128,3545,3546],{"class":165},"}\u002Foutputs`",[128,3548,968],{"class":234},[128,3550,3551],{"class":130,"line":378},[128,3552,2480],{"class":234},[128,3554,3555,3557,3559,3561,3563],{"class":130,"line":384},[128,3556,2485],{"class":234},[128,3558,991],{"class":165},[128,3560,994],{"class":234},[128,3562,997],{"class":165},[128,3564,694],{"class":234},[128,3566,3567,3569,3571,3573],{"class":130,"line":390},[128,3568,2498],{"class":165},[128,3570,647],{"class":234},[128,3572,1009],{"class":165},[128,3574,694],{"class":234},[128,3576,3577],{"class":130,"line":396},[128,3578,399],{"class":234},[128,3580,3581],{"class":130,"line":402},[128,3582,2513],{"class":234},[128,3584,3585],{"class":130,"line":408},[128,3586,596],{"emptyLinePlaceholder":595},[128,3588,3589,3591,3593,3595],{"class":130,"line":414},[128,3590,2522],{"class":231},[128,3592,1128],{"class":234},[128,3594,1131],{"class":231},[128,3596,3597],{"class":234},"outputsResponse.ok) {\n",[128,3599,3600,3602,3604,3606,3608,3611,3614,3616,3618,3620],{"class":130,"line":420},[128,3601,1283],{"class":231},[128,3603,1142],{"class":231},[128,3605,1145],{"class":134},[128,3607,866],{"class":234},[128,3609,3610],{"class":165},"`Failed to list outputs: ${",[128,3612,3613],{"class":234},"outputsResponse",[128,3615,91],{"class":165},[128,3617,1158],{"class":234},[128,3619,997],{"class":165},[128,3621,1163],{"class":234},[128,3623,3624],{"class":130,"line":426},[128,3625,2558],{"class":234},[128,3627,3628],{"class":130,"line":432},[128,3629,596],{"emptyLinePlaceholder":595},[128,3631,3632,3634,3636,3639,3641,3643,3645,3648,3650],{"class":130,"line":438},[128,3633,2451],{"class":231},[128,3635,1180],{"class":234},[128,3637,3638],{"class":138},"outputs",[128,3640,1190],{"class":234},[128,3642,238],{"class":231},[128,3644,951],{"class":231},[128,3646,3647],{"class":234}," outputsResponse.",[128,3649,824],{"class":134},[128,3651,1202],{"class":234},[128,3653,3654],{"class":130,"line":444},[128,3655,596],{"emptyLinePlaceholder":595},[128,3657,3658,3660,3662,3664,3667,3670],{"class":130,"line":546},[128,3659,2522],{"class":231},[128,3661,1128],{"class":234},[128,3663,1131],{"class":231},[128,3665,3666],{"class":234},"outputs.",[128,3668,3669],{"class":138},"length",[128,3671,1450],{"class":234},[128,3673,3674,3676,3678,3680,3682,3684],{"class":130,"line":732},[128,3675,1283],{"class":231},[128,3677,1142],{"class":231},[128,3679,1145],{"class":134},[128,3681,866],{"class":234},[128,3683,3206],{"class":165},[128,3685,1163],{"class":234},[128,3687,3688],{"class":130,"line":745},[128,3689,2558],{"class":234},[128,3691,3692],{"class":130,"line":756},[128,3693,596],{"emptyLinePlaceholder":595},[128,3695,3696,3699,3701,3703,3706,3709],{"class":130,"line":762},[128,3697,3698],{"class":231},"  for",[128,3700,1128],{"class":234},[128,3702,908],{"class":231},[128,3704,3705],{"class":138}," output",[128,3707,3708],{"class":231}," of",[128,3710,3711],{"class":234}," outputs) {\n",[128,3713,3714,3717,3720,3722,3724,3726],{"class":130,"line":767},[128,3715,3716],{"class":231},"    const",[128,3718,3719],{"class":138}," modelResponse",[128,3721,914],{"class":231},[128,3723,951],{"class":231},[128,3725,954],{"class":134},[128,3727,3728],{"class":234},"(\n",[128,3730,3731,3734,3736,3738,3740,3743,3746,3748,3751,3754],{"class":130,"line":777},[128,3732,3733],{"class":165},"      `${",[128,3735,962],{"class":234},[128,3737,2469],{"class":165},[128,3739,1187],{"class":234},[128,3741,3742],{"class":165},"}\u002Foutputs\u002F${",[128,3744,3745],{"class":234},"output",[128,3747,91],{"class":165},[128,3749,3750],{"class":234},"asset_id",[128,3752,3753],{"class":165},"}?include_data=true`",[128,3755,694],{"class":234},[128,3757,3758],{"class":130,"line":782},[128,3759,411],{"class":234},[128,3761,3762],{"class":130,"line":787},[128,3763,3764],{"class":234},"        headers: {\n",[128,3766,3767,3770,3772,3774,3776],{"class":130,"line":832},[128,3768,3769],{"class":234},"          Authorization: ",[128,3771,991],{"class":165},[128,3773,994],{"class":234},[128,3775,997],{"class":165},[128,3777,694],{"class":234},[128,3779,3780,3783,3785,3787],{"class":130,"line":838},[128,3781,3782],{"class":165},"          \"Content-Type\"",[128,3784,647],{"class":234},[128,3786,1009],{"class":165},[128,3788,694],{"class":234},[128,3790,3791],{"class":130,"line":843},[128,3792,3793],{"class":234},"        },\n",[128,3795,3796],{"class":130,"line":860},[128,3797,1093],{"class":234},[128,3799,3800],{"class":130,"line":1170},[128,3801,3802],{"class":234},"    );\n",[128,3804,3805],{"class":130,"line":1175},[128,3806,596],{"emptyLinePlaceholder":595},[128,3808,3809,3811,3813,3815],{"class":130,"line":1205},[128,3810,1439],{"class":231},[128,3812,1128],{"class":234},[128,3814,1131],{"class":231},[128,3816,3817],{"class":234},"modelResponse.ok) {\n",[128,3819,3820,3823,3825,3827,3829,3832,3835,3837,3839,3841],{"class":130,"line":1592},[128,3821,3822],{"class":231},"      throw",[128,3824,1142],{"class":231},[128,3826,1145],{"class":134},[128,3828,866],{"class":234},[128,3830,3831],{"class":165},"`Failed to download output: ${",[128,3833,3834],{"class":234},"modelResponse",[128,3836,91],{"class":165},[128,3838,1158],{"class":234},[128,3840,997],{"class":165},[128,3842,1163],{"class":234},[128,3844,3845],{"class":130,"line":1597},[128,3846,1473],{"class":234},[128,3848,3849],{"class":130,"line":1625},[128,3850,596],{"emptyLinePlaceholder":595},[128,3852,3853,3855,3857,3860,3862,3864,3866,3869,3871],{"class":130,"line":1644},[128,3854,3716],{"class":231},[128,3856,1180],{"class":234},[128,3858,3859],{"class":138},"data",[128,3861,1190],{"class":234},[128,3863,238],{"class":231},[128,3865,951],{"class":231},[128,3867,3868],{"class":234}," modelResponse.",[128,3870,824],{"class":134},[128,3872,1202],{"class":234},[128,3874,3875,3877,3880,3882,3885,3888,3890,3892,3894,3897,3899,3901],{"class":130,"line":1649},[128,3876,3716],{"class":231},[128,3878,3879],{"class":138}," base64Data",[128,3881,914],{"class":231},[128,3883,3884],{"class":234}," data.",[128,3886,3887],{"class":134},"split",[128,3889,866],{"class":234},[128,3891,3328],{"class":165},[128,3893,812],{"class":234},[128,3895,3896],{"class":138},"2",[128,3898,3336],{"class":234},[128,3900,3333],{"class":138},[128,3902,1846],{"class":234},[128,3904,3905,3907,3910,3912,3915,3917,3919,3921,3924],{"class":130,"line":1654},[128,3906,3716],{"class":231},[128,3908,3909],{"class":138}," filename",[128,3911,914],{"class":231},[128,3913,3914],{"class":165}," `model_${",[128,3916,3745],{"class":234},[128,3918,91],{"class":165},[128,3920,3750],{"class":234},[128,3922,3923],{"class":165},"}.glb`",[128,3925,899],{"class":234},[128,3927,3928],{"class":130,"line":1682},[128,3929,596],{"emptyLinePlaceholder":595},[128,3931,3932,3935,3938,3941,3943,3946,3949],{"class":130,"line":1709},[128,3933,3934],{"class":231},"    await",[128,3936,3937],{"class":134}," writeFile",[128,3939,3940],{"class":234},"(filename, Buffer.",[128,3942,567],{"class":134},[128,3944,3945],{"class":234},"(base64Data, ",[128,3947,3948],{"class":165},"\"base64\"",[128,3950,3951],{"class":234},"));\n",[128,3953,3954,3957,3959,3961,3964,3966,3968],{"class":130,"line":1714},[128,3955,3956],{"class":234},"    console.",[128,3958,1211],{"class":134},[128,3960,866],{"class":234},[128,3962,3963],{"class":165},"`Saved model: ${",[128,3965,3433],{"class":234},[128,3967,997],{"class":165},[128,3969,1163],{"class":234},[128,3971,3972],{"class":130,"line":1719},[128,3973,2558],{"class":234},[128,3975,3976,3978,3980],{"class":130,"line":1728},[128,3977,2964],{"class":234},[128,3979,3444],{"class":231},[128,3981,681],{"class":234},[128,3983,3984,3986,3988,3990,3993,3995,3997,3999,4001],{"class":130,"line":1733},[128,3985,2612],{"class":234},[128,3987,1211],{"class":134},[128,3989,866],{"class":234},[128,3991,3992],{"class":165},"`Flow ended with state: ${",[128,3994,1158],{"class":234},[128,3996,91],{"class":165},[128,3998,1989],{"class":234},[128,4000,997],{"class":165},[128,4002,1163],{"class":234},[128,4004,4005],{"class":130,"line":1738},[128,4006,667],{"class":234},[118,4008,4010],{"className":1225,"code":4009,"filename":192,"language":199,"meta":124,"style":124},"\u003C?php\nif ($status[\"state\"] === \"completed\") {\n    $outputsResponse = generioRequest(\"GET\", $baseUrl . \"\u002Fflows\u002F\" . $flowId . \"\u002Foutputs\", $apiKey);\n    $outputs = $outputsResponse[\"outputs\"] ?? [];\n\n    if (count($outputs) === 0) {\n        throw new RuntimeException(\"No outputs generated\");\n    }\n\n    $outputDir = __DIR__ . \"\u002Foutputs\";\n    if (!is_dir($outputDir)) {\n      mkdir($outputDir, 0777, true);\n    }\n\n    echo \"Saving files in: \" . $outputDir . PHP_EOL;\n\n    foreach ($outputs as $output) {\n        $assetId = $output[\"asset_id\"];\n        $url = $baseUrl . \"\u002Fflows\u002F\" . $flowId . \"\u002Foutputs\u002F\" . $assetId . \"?include_data=true\";\n\n        $model = generioRequest(\"GET\", $url, $apiKey);\n\n        if (empty($model[\"data\"])) {\n            throw new RuntimeException(\"Output response did not include data for asset \" . $assetId);\n        }\n\n        $dataUri = $model[\"data\"];\n        $base64Parts = explode(\",\", $dataUri, 2);\n        if(count($base64Parts) \u003C 2) {\n          throw new RuntimeException(\"Unexpected data format for asseet \" . $assetId);\n        }\n\n        $base64Data = $base64Parts[1];\n        $filename = $outputDir . \"\u002Fmodel_\" . $assetId . \".glb\";\n\n        file_put_contents($filename, base64_decode($base64Data));\n        echo \"Saved model: \" . $filename . PHP_EOL;\n    }\n} else {\n    echo \"Flow ended with state: \" . $status[\"state\"] . PHP_EOL;\n}\n?>\n",[99,4011,4012,4018,4035,4070,4089,4093,4111,4125,4129,4133,4149,4163,4180,4184,4188,4206,4210,4223,4238,4280,4284,4300,4304,4320,4339,4343,4347,4361,4382,4400,4418,4422,4426,4440,4465,4469,4483,4502,4506,4514,4535,4539],{"__ignoreMap":124},[128,4013,4014,4016],{"class":130,"line":131},[128,4015,1233],{"class":231},[128,4017,1236],{"class":138},[128,4019,4020,4022,4025,4027,4029,4031,4033],{"class":130,"line":269},[128,4021,1125],{"class":231},[128,4023,4024],{"class":234}," ($status[",[128,4026,2226],{"class":165},[128,4028,2831],{"class":234},[128,4030,1540],{"class":231},[128,4032,3119],{"class":165},[128,4034,1450],{"class":234},[128,4036,4037,4040,4042,4044,4046,4048,4050,4052,4054,4056,4058,4060,4062,4064,4067],{"class":130,"line":359},[128,4038,4039],{"class":234},"    $outputsResponse ",[128,4041,238],{"class":231},[128,4043,1311],{"class":134},[128,4045,866],{"class":234},[128,4047,2747],{"class":165},[128,4049,1868],{"class":234},[128,4051,91],{"class":231},[128,4053,2754],{"class":165},[128,4055,2758],{"class":2757},[128,4057,2761],{"class":165},[128,4059,1417],{"class":231},[128,4061,1960],{"class":234},[128,4063,91],{"class":231},[128,4065,4066],{"class":165}," \"\u002Foutputs\"",[128,4068,4069],{"class":234},", $apiKey);\n",[128,4071,4072,4075,4077,4080,4082,4084,4086],{"class":130,"line":369},[128,4073,4074],{"class":234},"    $outputs ",[128,4076,238],{"class":231},[128,4078,4079],{"class":234}," $outputsResponse[",[128,4081,3177],{"class":165},[128,4083,2831],{"class":234},[128,4085,2834],{"class":231},[128,4087,4088],{"class":234}," [];\n",[128,4090,4091],{"class":130,"line":378},[128,4092,596],{"emptyLinePlaceholder":595},[128,4094,4095,4097,4099,4102,4105,4107,4109],{"class":130,"line":384},[128,4096,1439],{"class":231},[128,4098,1128],{"class":234},[128,4100,4101],{"class":138},"count",[128,4103,4104],{"class":234},"($outputs) ",[128,4106,1540],{"class":231},[128,4108,2264],{"class":138},[128,4110,1450],{"class":234},[128,4112,4113,4115,4117,4119,4121,4123],{"class":130,"line":390},[128,4114,1550],{"class":231},[128,4116,1142],{"class":231},[128,4118,1288],{"class":138},[128,4120,866],{"class":234},[128,4122,3206],{"class":165},[128,4124,1163],{"class":234},[128,4126,4127],{"class":130,"line":396},[128,4128,1473],{"class":234},[128,4130,4131],{"class":130,"line":402},[128,4132,596],{"emptyLinePlaceholder":595},[128,4134,4135,4138,4140,4143,4145,4147],{"class":130,"line":408},[128,4136,4137],{"class":234},"    $outputDir ",[128,4139,238],{"class":231},[128,4141,4142],{"class":138}," __DIR__",[128,4144,1417],{"class":231},[128,4146,4066],{"class":165},[128,4148,899],{"class":234},[128,4150,4151,4153,4155,4157,4160],{"class":130,"line":414},[128,4152,1439],{"class":231},[128,4154,1128],{"class":234},[128,4156,1131],{"class":231},[128,4158,4159],{"class":138},"is_dir",[128,4161,4162],{"class":234},"($outputDir)) {\n",[128,4164,4165,4168,4171,4174,4176,4178],{"class":130,"line":420},[128,4166,4167],{"class":138},"      mkdir",[128,4169,4170],{"class":234},"($outputDir, ",[128,4172,4173],{"class":138},"0777",[128,4175,812],{"class":234},[128,4177,1383],{"class":138},[128,4179,1163],{"class":234},[128,4181,4182],{"class":130,"line":426},[128,4183,1473],{"class":234},[128,4185,4186],{"class":130,"line":432},[128,4187,596],{"emptyLinePlaceholder":595},[128,4189,4190,4192,4195,4197,4200,4202,4204],{"class":130,"line":438},[128,4191,2868],{"class":138},[128,4193,4194],{"class":165}," \"Saving files in: \"",[128,4196,1417],{"class":231},[128,4198,4199],{"class":234}," $outputDir ",[128,4201,91],{"class":231},[128,4203,1965],{"class":138},[128,4205,899],{"class":234},[128,4207,4208],{"class":130,"line":444},[128,4209,596],{"emptyLinePlaceholder":595},[128,4211,4212,4215,4218,4220],{"class":130,"line":546},[128,4213,4214],{"class":231},"    foreach",[128,4216,4217],{"class":234}," ($outputs ",[128,4219,3399],{"class":231},[128,4221,4222],{"class":234}," $output) {\n",[128,4224,4225,4228,4230,4233,4236],{"class":130,"line":732},[128,4226,4227],{"class":234},"        $assetId ",[128,4229,238],{"class":231},[128,4231,4232],{"class":234}," $output[",[128,4234,4235],{"class":165},"\"asset_id\"",[128,4237,1846],{"class":234},[128,4239,4240,4243,4245,4248,4250,4252,4254,4256,4258,4260,4262,4264,4266,4268,4270,4273,4275,4278],{"class":130,"line":745},[128,4241,4242],{"class":234},"        $url ",[128,4244,238],{"class":231},[128,4246,4247],{"class":234}," $baseUrl ",[128,4249,91],{"class":231},[128,4251,2754],{"class":165},[128,4253,2758],{"class":2757},[128,4255,2761],{"class":165},[128,4257,1417],{"class":231},[128,4259,1960],{"class":234},[128,4261,91],{"class":231},[128,4263,2754],{"class":165},[128,4265,3638],{"class":2757},[128,4267,2761],{"class":165},[128,4269,1417],{"class":231},[128,4271,4272],{"class":234}," $assetId ",[128,4274,91],{"class":231},[128,4276,4277],{"class":165}," \"?include_data=true\"",[128,4279,899],{"class":234},[128,4281,4282],{"class":130,"line":756},[128,4283,596],{"emptyLinePlaceholder":595},[128,4285,4286,4289,4291,4293,4295,4297],{"class":130,"line":762},[128,4287,4288],{"class":234},"        $model ",[128,4290,238],{"class":231},[128,4292,1311],{"class":134},[128,4294,866],{"class":234},[128,4296,2747],{"class":165},[128,4298,4299],{"class":234},", $url, $apiKey);\n",[128,4301,4302],{"class":130,"line":767},[128,4303,596],{"emptyLinePlaceholder":595},[128,4305,4306,4309,4311,4313,4316,4318],{"class":130,"line":777},[128,4307,4308],{"class":231},"        if",[128,4310,1128],{"class":234},[128,4312,1891],{"class":138},[128,4314,4315],{"class":234},"($model[",[128,4317,3313],{"class":165},[128,4319,1899],{"class":234},[128,4321,4322,4325,4327,4329,4331,4334,4336],{"class":130,"line":782},[128,4323,4324],{"class":231},"            throw",[128,4326,1142],{"class":231},[128,4328,1288],{"class":138},[128,4330,866],{"class":234},[128,4332,4333],{"class":165},"\"Output response did not include data for asset \"",[128,4335,1417],{"class":231},[128,4337,4338],{"class":234}," $assetId);\n",[128,4340,4341],{"class":130,"line":787},[128,4342,759],{"class":234},[128,4344,4345],{"class":130,"line":832},[128,4346,596],{"emptyLinePlaceholder":595},[128,4348,4349,4352,4354,4357,4359],{"class":130,"line":838},[128,4350,4351],{"class":234},"        $dataUri ",[128,4353,238],{"class":231},[128,4355,4356],{"class":234}," $model[",[128,4358,3313],{"class":165},[128,4360,1846],{"class":234},[128,4362,4363,4366,4368,4371,4373,4375,4378,4380],{"class":130,"line":843},[128,4364,4365],{"class":234},"        $base64Parts ",[128,4367,238],{"class":231},[128,4369,4370],{"class":138}," explode",[128,4372,866],{"class":234},[128,4374,3328],{"class":165},[128,4376,4377],{"class":234},", $dataUri, ",[128,4379,3896],{"class":138},[128,4381,1163],{"class":234},[128,4383,4384,4386,4388,4390,4393,4395,4398],{"class":130,"line":860},[128,4385,4308],{"class":231},[128,4387,866],{"class":234},[128,4389,4101],{"class":138},[128,4391,4392],{"class":234},"($base64Parts) ",[128,4394,1662],{"class":231},[128,4396,4397],{"class":138}," 2",[128,4399,1450],{"class":234},[128,4401,4402,4405,4407,4409,4411,4414,4416],{"class":130,"line":1170},[128,4403,4404],{"class":231},"          throw",[128,4406,1142],{"class":231},[128,4408,1288],{"class":138},[128,4410,866],{"class":234},[128,4412,4413],{"class":165},"\"Unexpected data format for asseet \"",[128,4415,1417],{"class":231},[128,4417,4338],{"class":234},[128,4419,4420],{"class":130,"line":1175},[128,4421,759],{"class":234},[128,4423,4424],{"class":130,"line":1205},[128,4425,596],{"emptyLinePlaceholder":595},[128,4427,4428,4431,4433,4436,4438],{"class":130,"line":1592},[128,4429,4430],{"class":234},"        $base64Data ",[128,4432,238],{"class":231},[128,4434,4435],{"class":234}," $base64Parts[",[128,4437,3333],{"class":138},[128,4439,1846],{"class":234},[128,4441,4442,4445,4447,4449,4451,4454,4456,4458,4460,4463],{"class":130,"line":1597},[128,4443,4444],{"class":234},"        $filename ",[128,4446,238],{"class":231},[128,4448,4199],{"class":234},[128,4450,91],{"class":231},[128,4452,4453],{"class":165}," \"\u002Fmodel_\"",[128,4455,1417],{"class":231},[128,4457,4272],{"class":234},[128,4459,91],{"class":231},[128,4461,4462],{"class":165}," \".glb\"",[128,4464,899],{"class":234},[128,4466,4467],{"class":130,"line":1625},[128,4468,596],{"emptyLinePlaceholder":595},[128,4470,4471,4474,4477,4480],{"class":130,"line":1644},[128,4472,4473],{"class":138},"        file_put_contents",[128,4475,4476],{"class":234},"($filename, ",[128,4478,4479],{"class":138},"base64_decode",[128,4481,4482],{"class":234},"($base64Data));\n",[128,4484,4485,4488,4491,4493,4496,4498,4500],{"class":130,"line":1649},[128,4486,4487],{"class":138},"        echo",[128,4489,4490],{"class":165}," \"Saved model: \"",[128,4492,1417],{"class":231},[128,4494,4495],{"class":234}," $filename ",[128,4497,91],{"class":231},[128,4499,1965],{"class":138},[128,4501,899],{"class":234},[128,4503,4504],{"class":130,"line":1654},[128,4505,1473],{"class":234},[128,4507,4508,4510,4512],{"class":130,"line":1682},[128,4509,2964],{"class":234},[128,4511,3444],{"class":231},[128,4513,681],{"class":234},[128,4515,4516,4518,4521,4523,4525,4527,4529,4531,4533],{"class":130,"line":1709},[128,4517,2868],{"class":138},[128,4519,4520],{"class":165}," \"Flow ended with state: \"",[128,4522,1417],{"class":231},[128,4524,2826],{"class":234},[128,4526,2226],{"class":165},[128,4528,2831],{"class":234},[128,4530,91],{"class":231},[128,4532,1965],{"class":138},[128,4534,899],{"class":234},[128,4536,4537],{"class":130,"line":1714},[128,4538,667],{"class":234},[128,4540,4541],{"class":130,"line":1719},[128,4542,1973],{"class":231},[43,4544,4545,4546,4548,4549,1346],{},"For cURL, wget, and PowerShell, copy an ",[99,4547,3750],{}," from the outputs response and request the asset with ",[99,4550,4551],{},"include_data=true",[115,4553,4554,4620,4683,4692,4701],{},[118,4555,4557],{"className":120,"code":4556,"filename":122,"language":123,"meta":124,"style":124},"FLOW_ID=\"paste-flow-id-here\"\nASSET_ID=\"paste-asset-id-here\"\n\ncurl -X GET \"https:\u002F\u002Fflows.generio.ai\u002Fflows\u002F$FLOW_ID\u002Foutputs\u002F$ASSET_ID?include_data=true\" \\\n  -H \"Authorization: Bearer $GENERIO_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\"\n",[99,4558,4559,4567,4577,4581,4602,4614],{"__ignoreMap":124},[128,4560,4561,4563,4565],{"class":130,"line":131},[128,4562,2012],{"class":234},[128,4564,238],{"class":231},[128,4566,2017],{"class":165},[128,4568,4569,4572,4574],{"class":130,"line":269},[128,4570,4571],{"class":234},"ASSET_ID",[128,4573,238],{"class":231},[128,4575,4576],{"class":165},"\"paste-asset-id-here\"\n",[128,4578,4579],{"class":130,"line":359},[128,4580,596],{"emptyLinePlaceholder":595},[128,4582,4583,4585,4587,4589,4591,4593,4595,4598,4600],{"class":130,"line":369},[128,4584,135],{"class":134},[128,4586,331],{"class":138},[128,4588,2030],{"class":165},[128,4590,2033],{"class":165},[128,4592,2036],{"class":234},[128,4594,3258],{"class":165},[128,4596,4597],{"class":234},"$ASSET_ID",[128,4599,3274],{"class":165},[128,4601,340],{"class":138},[128,4603,4604,4606,4608,4610,4612],{"class":130,"line":378},[128,4605,345],{"class":138},[128,4607,348],{"class":165},[128,4609,351],{"class":234},[128,4611,354],{"class":165},[128,4613,340],{"class":138},[128,4615,4616,4618],{"class":130,"line":384},[128,4617,345],{"class":138},[128,4619,2059],{"class":165},[118,4621,4623],{"className":120,"code":4622,"filename":143,"language":123,"meta":124,"style":124},"FLOW_ID=\"paste-flow-id-here\"\nASSET_ID=\"paste-asset-id-here\"\n\nwget --header=\"Authorization: Bearer $GENERIO_API_KEY\" \\\n  --header=\"Content-Type: application\u002Fjson\" \\\n  \"https:\u002F\u002Fflows.generio.ai\u002Fflows\u002F$FLOW_ID\u002Foutputs\u002F$ASSET_ID?include_data=true\" -O -\n",[99,4624,4625,4633,4641,4645,4659,4667],{"__ignoreMap":124},[128,4626,4627,4629,4631],{"class":130,"line":131},[128,4628,2012],{"class":234},[128,4630,238],{"class":231},[128,4632,2017],{"class":165},[128,4634,4635,4637,4639],{"class":130,"line":269},[128,4636,4571],{"class":234},[128,4638,238],{"class":231},[128,4640,4576],{"class":165},[128,4642,4643],{"class":130,"line":359},[128,4644,596],{"emptyLinePlaceholder":595},[128,4646,4647,4649,4651,4653,4655,4657],{"class":130,"line":369},[128,4648,143],{"class":134},[128,4650,2083],{"class":138},[128,4652,469],{"class":165},[128,4654,351],{"class":234},[128,4656,354],{"class":165},[128,4658,340],{"class":138},[128,4660,4661,4663,4665],{"class":130,"line":378},[128,4662,466],{"class":138},[128,4664,482],{"class":165},[128,4666,340],{"class":138},[128,4668,4669,4671,4673,4675,4677,4679,4681],{"class":130,"line":384},[128,4670,2104],{"class":165},[128,4672,2036],{"class":234},[128,4674,3258],{"class":165},[128,4676,4597],{"class":234},[128,4678,3274],{"class":165},[128,4680,552],{"class":138},[128,4682,555],{"class":165},[118,4684,4686],{"className":558,"code":4685,"filename":155,"language":560,"meta":124,"style":124},"# Python downloads the model in the previous step.\n",[99,4687,4688],{"__ignoreMap":124},[128,4689,4690],{"class":130,"line":131},[128,4691,4685],{"class":265},[118,4693,4695],{"className":885,"code":4694,"filename":176,"language":887,"meta":124,"style":124},"\u002F\u002F JavaScript downloads the model in the previous step.\n",[99,4696,4697],{"__ignoreMap":124},[128,4698,4699],{"class":130,"line":131},[128,4700,4694],{"class":265},[118,4702,4704],{"className":1225,"code":4703,"filename":192,"language":199,"meta":124,"style":124},"\u003C?php\n\u002F\u002F PHP downloads the model in the previous step.\n?>\n",[99,4705,4706,4712,4717],{"__ignoreMap":124},[128,4707,4708,4710],{"class":130,"line":131},[128,4709,1233],{"class":231},[128,4711,1236],{"class":138},[128,4713,4714],{"class":130,"line":269},[128,4715,4716],{"class":265},"\u002F\u002F PHP downloads the model in the previous step.\n",[128,4718,4719],{"class":130,"line":359},[128,4720,1973],{"class":231},[47,4722,4724],{"id":4723},"example-output","Example Output",[43,4726,4727],{},"Here is what you should see after you run the example with a valid API key:",[43,4729,4730],{},[4731,4732],"img",{"alt":4733,"src":4734},"Terminal Output while running quickstart","\u002Fimg\u002Fquickstart\u002Foutput.webp",[43,4736,4737,4738,102],{},"A 3D model will be generated as a ",[99,4739,4740],{},".glb",[43,4742,4743],{},[4731,4744],{"alt":4745,"src":4746},"3D Model of the generated office chair","\u002Fimg\u002Fquickstart\u002Fofficechair.webp",[47,4748,4750],{"id":4749},"whats-next","What's Next?",[55,4752,4753,4762,4771,4780,4789],{},[58,4754,4755,4756,91],{},"You can find all available endpoints in ",[66,4757,4759],{"href":4758},"\u002Fall-endpoints\u002Flist-templates",[61,4760,4761],{},"All Endpoints",[58,4763,4764,4765,91],{},"Learn more about the core concepts in ",[66,4766,4768],{"href":4767},"\u002Fgetting-started\u002Fflow",[61,4769,4770],{},"Flow",[58,4772,4773,4774,91],{},"Review state transitions in ",[66,4775,4777],{"href":4776},"\u002Fgetting-started\u002Fflow-lifecycle",[61,4778,4779],{},"Flow Lifecycle",[58,4781,4782,4783,91],{},"Diagnose issues in ",[66,4784,4786],{"href":4785},"\u002Fgetting-started\u002Ftroubleshooting",[61,4787,4788],{},"Troubleshooting",[58,4790,4791,4792,4797,4798,91],{},"We appreciate your feedback! If you encounter any errors, bugs, or inconsistencies please reach out to us. Join our ",[66,4793,4796],{"href":4794,"rel":4795},"https:\u002F\u002Fdiscord.com\u002Finvite\u002F8hwcxmgkv3",[70],"Discord server"," or ",[66,4799,4801],{"href":4800},"mailto:info@generio.ai","contact us",[4803,4804,4805],"style",{},"html pre.shiki code .sgQzM, html code.shiki .sgQzM{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sUNQB, html code.shiki .sUNQB{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s-HEn, html code.shiki .s-HEn{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sDD9d, html code.shiki .sDD9d{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVPnS, html code.shiki .sVPnS{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sqmzS, html code.shiki .sqmzS{--shiki-default:#6A737D;--shiki-light:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sde8i, html code.shiki .sde8i{--shiki-default:#E36209;--shiki-light:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sAPpe, html code.shiki .sAPpe{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#DBEDFF}",{"title":124,"searchDepth":269,"depth":269,"links":4807},[4808,4809,4810,4811,4812,4813,4814,4815],{"id":49,"depth":359,"text":50},{"id":105,"depth":359,"text":106},{"id":204,"depth":359,"text":205},{"id":309,"depth":359,"text":310},{"id":1982,"depth":359,"text":1983},{"id":2979,"depth":359,"text":2980},{"id":4723,"depth":359,"text":4724},{"id":4749,"depth":359,"text":4750},"Minimal example of Flow API","md",{},"\u002Fgetting-started\u002Fquickstart",{"title":34,"description":4816},"getting-started\u002Fquickstart","tt5raI5WB9_SNafGv2im5_yfQF9i2Pt8DMCz37oN968",1786714762863]