Workflows
14 min
introduction a workflow represents a reusable floyo workflow that can be discovered, inspected, and used as the basis for api powered generation you can use the /workflows resource to list all public workflows, as well as workflows that belong to the team associated with the api key used in the request you can also retrieve the full details of a specific workflow list workflows retrieve a paginated list of workflows available to your api key to list workflows , make an authenticated get request to /workflows query parameters parameter required value default description example search no url encoded string n/a search workflows by exact string across the workflow name, description, tags, and nodes or models used /workflows?search=image%20to%20video sort no recent , views , likes recent sort workflows by newest first, most viewed, or most liked /workflows?sort=views scope no all , team , public all filter workflows by visibility all returns public workflows and private workflows owned by your team team returns your team's private workflows public returns public workflows only /workflows?scope=public status no verified , unverified , all verified filter workflows by verification status verified workflows are ready to run through floyo /workflows?status=all model type no all , opensource , 3rd party all filter workflows by the type of models or nodes they use opensource excludes workflows that use floyo partner nodes 3rd party returns workflows that use floyo partner nodes /workflows?model type=opensource tags no url encoded string n/a comma separated list of tags you can provide up to 10 tags workflows matching any of the requested tags are returned /workflows?tags=image,upscale limit no integer from 10 to 50 25 maximum number of workflows to return in one page /workflows?limit=10 cursor no string n/a pagination cursor returned by a previous list response use this value to retrieve the next page using the same filters and sort order /workflows?cursor=rea5f6c 2uzhlk 3jq9lmn7rv2txyza expand no description , prompt , stats , nodes data n/a comma separated list of additional workflow fields to include in each list item /workflows?expand=stats,description when using cursor , keep the same query parameters that produced the cursor cursors are tied to the current sort and filter options response attributes attribute type description workflows array array of workflow objects returned for the current page cursor string or null cursor for the next page if null , there are no more pages to retrieve has more boolean whether more workflows are available after the current page workflow attributes attribute type description id string unique id of the workflow, e g , workflow 8wn2kp4mqx7zabcd name string workflow name overview string or null short workflow overview tags array workflow tags creator object or null workflow creator information when available, includes username and profile url verified boolean whether the workflow is verified to run in floyo description string or null detailed workflow description returned only when expand includes description prompt object or null workflow api prompt json returned only when expand includes prompt stats object workflow stats returned only when expand includes stats nodes data array or null workflow node metadata returned only when expand includes nodes data example request curl x get "https //api floyo ai/workflows?sort=recent\&status=verified\&limit=10" \\ h "authorization bearer \<your api key>" \\ h "accept application/json" example response status 200 workflows retrieved successfully { "workflows" \[ { "id" "workflow 8wn2kp4mqx7zabcd", "name" "product photo background remover", "overview" "remove backgrounds from product images and export clean transparent png files ", "tags" \["image", "background removal", "product"], "creator" { "username" "floyo", "profile url" "https //www floyo ai/creators/floyo" }, "verified" true }, { "id" "workflow 3jq9lmn7rv2txyza", "name" "portrait upscaler", "overview" "upscale portraits while preserving facial details ", "tags" \["image", "upscale", "portrait"], "creator" { "username" "studio", "profile url" "https //www floyo ai/creators/studio" }, "verified" true } ], "cursor" "rea5f6c 2uzhlk 3jq9lmn7rv2txyza", "has more" true } status 200 no workflows matched the request { "cursor" null, "has more" false, "workflows" \[] } list workflows with expanded fields use expand to include additional workflow fields in each list item example request curl x get "https //api floyo ai/workflows?tags=image,upscale\&expand=stats,description\&limit=10" \\ h "authorization bearer \<your api key>" \\ h "accept application/json" example response status 200 workflows retrieved with expanded fields { "workflows" \[ { "id" "workflow 3jq9lmn7rv2txyza", "name" "portrait upscaler", "overview" "upscale portraits while preserving facial details ", "tags" \["image", "upscale", "portrait"], "creator" { "username" "studio", "profile url" "https //www floyo ai/creators/studio" }, "verified" true, "description" "a production ready portrait upscaling workflow optimized for clean detail recovery ", "stats" { "views" 1284, "likes" 213 } } ], "cursor" null, "has more" false } retrieve a workflow retrieve a workflow to get its full details, including its prompt json and node metadata to retrieve a workflow , make an authenticated get request to /workflows/\ workflow id path parameters parameter required type description workflow id yes string unique public id of the workflow, e g , workflow 8wn2kp4mqx7zabcd response attributes attribute type description id string unique public id of the workflow, e g , workflow 8wn2kp4mqx7zabcd object workflow returned object type, always workflow name string workflow name tags array workflow tags verified boolean whether the workflow is verified to run in floyo creator object or null workflow creator information when available, includes username and profile url overview string or null short workflow overview stats object workflow stats, including views and likes nodes data array or null workflow node metadata description string or null detailed workflow description in sanitized html format it can include embedded images and videos prompt object or null workflow api prompt json example request curl x get https //api floyo ai/workflows/\<workflow id> \\ h "authorization bearer \<your api key>" \\ h "accept application/json" example response status 200 workflow retrieved successfully { "id" "workflow qcfalleb51fmpgkz", "object" "workflow", "name" "z image turbo fast image generation in seconds", "tags" \[ "marketing", "photography", "production", "text2image", "z image turbo" ], "description" "\<p>alibaba's team released z image turbo, and the standout feature is speed this 6 billion parameter model generates images in 8 30 seconds on consumer gpus while maintaining quality that rivals much larger models \</p>\<p>\<strong>run z image turbo directly on floyo\</strong> no installation, no local gpu required generate images in your browser in seconds \</p>\<h2>\<strong>how fast is z image turbo?\</strong>\<br>\</h2>\<p>takes only a few seconds (between 3 seconds to 10 seconds) on floyo!\</p>\<p>real generation times from reddit users running locally \</p>\<ul>\<li>\<p>\<strong>rtx 3060 (12gb)\</strong> 30 seconds for 1024x1024\</p>\</li>\<li>\<p>\<strong>rtx 3080 ti\</strong> 17 22 seconds for 1280x1024\</p>\</li>\<li>\<p>\<strong>rtx 7900xt\</strong> 8 seconds for 1024x1024\</p>\</li>\<li>\<p>\<strong>rtx 4070\</strong> 3 4 seconds for 1280x800\</p>\</li>\</ul>\<p>the model achieves these speeds by requiring only \<strong>8 inference steps\</strong> compared to 20 50 steps for most modern image models \</p>\<h2>\<strong>z image turbo specifications\</strong>\</h2>\<ul>\<li>\<p>\<strong>parameters\</strong> 6 billion\</p>\</li>\<li>\<p>\<strong>vram requirements\</strong> 16gb for local use (not needed on floyo)\</p>\</li>\<li>\<p>\<strong>inference steps\</strong> 8 steps\</p>\</li>\<li>\<p>\<strong>generation time\</strong> sub second on h800 gpus, 8 30 seconds on consumer hardware\</p>\</li>\<li>\<p>\<strong>license\</strong> apache 2 0 (fully open source)\</p>\</li>\<li>\<p>\<strong>architecture\</strong> single stream diffusion transformer (s3 dit)\</p>\</li>\<li>\<p>\<strong>developer\</strong> alibaba group\<br>\</p>\</li>\</ul>\<h2>\<strong>what z image turbo does well\</strong>\</h2>\<p>\<strong>photorealistic quality\</strong> the model produces natural looking images with realistic skin textures one reddit user noted \\"\<em>i have to say im really liking the natural look out of the box it seems more like proper photos when going for that without the need for those camera loras \</em>\\"\</p>\<p>according to the official site, z image delivers \\"\<em>photography level realism with fine control over details, lighting, and textures achieves excellent aesthetic quality in composition and overall mood \</em>\\"\</p>\<p>\<strong>bilingual text rendering\</strong> z image turbo can generate readable english and chinese text within images a feature most image models struggle with the official docs confirm it excels at \\"\<em>accurately rendering complex chinese and english text while preserving facial realism and overall aesthetic composition \</em>\\"\</p>\<p>\<strong>world knowledge\</strong> according to the documentation, z image \\"\<em>possesses vast understanding of world knowledge and diverse cultural concepts\\" and \\"uses structured reasoning to inject logic and common sense \</em>\\"\</p>\<p>\<strong>uncensored output\</strong> the model doesn't refuse common generation requests, though it has limitations with certain anatomical features \</p>\<p>from reddit \\"\<em>finally, after sdxl we have a model that can generate proper eyelashes and non plastic skin at the same time \</em>\\" \ u/toclick\</p>\<h2>\<strong>known limitations\</strong>\</h2>\<p>\<strong>prompt consistency\</strong> different seeds can produce similar results for the same prompt, particularly with facial features one user observed \\"\<em>changing the prompt and seed often makes very little difference \</em>\\"\</p>\<p>\<strong>anatomical accuracy\</strong> while the model handles female anatomy well, it struggles with male anatomy \</p>\<p>\<strong>text encoding speed\</strong> initial prompt encoding can take up to a minute when changing prompts workaround from reddit \\"\<em>setting the text encode to cpu instead of default increased the speed for me \</em>\\"\</p>\<p>\<strong>artistic range\</strong> the turbo version prioritizes photorealism over stylistic variety compared to heavily fine tuned models \</p>\<h2>\<strong>what reddit users say about z image turbo\</strong>\</h2>\<p>\\"\<em>i love this model, i'm speechless it's the one we've all been waiting for it's fast (3 4 seconds for 1280 800), powerful (painters and drawers styles etc ), lightweight compared to flux 2 and not censored \</em>\\" u/kaduc21\</p>\<p>\\"\<em>the output is amazing for a 6b distilled model training a bunch of loras and merging them with the base model would improve it a lot \</em>\\" u/shockbum\</p>\<p>\\"\<em>it reminds stable diffusion 1 5 at the release, but better same freedom, no constraints\</em> \\" u/kaduc21\</p>\<p>\\"\<em>speed to aesthetic quality ratio is excellent\</em> \\" u/abnormal human\</p>\<p>\\"\<em>wow! sdxl successor!\</em>\\" u/shockbum\</p>\<p>\\"\<em>i really hope so i still prefer sdxl over any other newer model it's just easier to iterate on and make a variety of pictures instead of waiting a minute or so per image\</em>\\" — u/soultrack\</p>\<h2>\<strong>z image model variants\</strong>\</h2>\<p>\<strong>z image turbo\</strong> (available now) \\"a distilled version of z image with strong capabilities in photorealistic image generation, accurate rendering of both chinese and english text, and robust adherence to bilingual instructions it achieves performance comparable to or exceeding leading competitors with only 8 steps \\" run it now on floyo \</p>\<p>\<strong>z image base\</strong> (coming soon) \\"the non distilled foundation model by releasing this checkpoint, we aim to unlock the full potential for community driven fine tuning and custom development \\"\</p>\<p>\<strong>z image edit\</strong> (coming soon) \\"a continued training variant of z image specialized for image editing it excels at following complex instructions to perform a wide range of tasks, from precise local modifications to global style transformations, while maintaining high edit consistency \\"\</p>\<h2>\<br>\<strong>technical architecture\</strong>\</h2>\<p>z image uses a scalable single stream dit (s3 dit) architecture where text, visual semantic tokens, and image vae tokens are concatenated into one unified input stream this approach is more parameter efficient than dual stream architectures \</p>\<p>the official docs explain \\"in this setup, text, visual semantic tokens, and image vae tokens are concatenated at the sequence level to serve as a unified input stream, maximizing parameter efficiency compared to dual stream approaches \\"\</p>\<p>the speed comes from \<strong>decoupled dmd\</strong> (distribution matching distillation) a technique that compresses the larger base model while preserving quality for few step generation \</p>", "verified" true, "creator" { "username" "floyoofficial", "profile url" "https //www floyo ai/creators/floyoofficial" }, "overview" "fast image generation in seconds", "stats" { "likes" 43, "views" 19888 }, "nodes data" \[ { "url" "https //github com/comfyanonymous/comfyui", "name" "comfyui official", "nodes" \[ "note", "vaeloader", "emptysd3latentimage", "unetloader", "cliploader", "modelsamplingauraflow", "cliptextencode", "ksampler", "vaedecode", "saveimage" ], "models" \[ { "url" "https //huggingface co/black forest labs/flux 1 schnell/resolve/main/ae safetensors", "name" "ae safetensors", "node" "vaeloader" }, { "name" "z image turbo bf16 safetensors", "node" "unetloader" }, { "name" "qwen 3 4b safetensors", "node" "cliploader" } ] } ], "prompt" { "3" { " meta" { "title" "ksampler" }, "inputs" { "cfg" 1, "seed" 261747981770417, "model" \[ "16", 0 ], "steps" 9, "denoise" 1, "negative" \[ "7", 0 ], "positive" \[ "6", 0 ], "scheduler" "simple", "latent image" \[ "13", 0 ], "sampler name" "euler" }, "class type" "ksampler" }, "6" { " meta" { "title" "clip text encode (positive prompt)" }, "inputs" { "clip" \[ "18", 0 ], "text" "photorealistic postcard of a man with a casual wear the postcard is held in a person’s hand in front of a beautiful, realistic modern city skyline at sunset, warm golden hour lighting, soft depth of field elegant cursive writing on the postcard reads ‘zimage, now in floyo’ " }, "class type" "cliptextencode" }, "7" { " meta" { "title" "clip text encode (negative prompt)" }, "inputs" { "clip" \[ "18", 0 ], "text" "blurry ugly bad" }, "class type" "cliptextencode" }, "8" { " meta" { "title" "vae decode" }, "inputs" { "vae" \[ "17", 0 ], "samples" \[ "3", 0 ] }, "class type" "vaedecode" }, "9" { " meta" { "title" "save image" }, "inputs" { "images" \[ "8", 0 ], "filename prefix" "comfyui" }, "class type" "saveimage" }, "13" { " meta" { "title" "emptysd3latentimage" }, "inputs" { "width" 1024, "height" 1024, "batch size" 1 }, "class type" "emptysd3latentimage" }, "16" { " meta" { "title" "load diffusion model" }, "inputs" { "unet name" "z image turbo bf16 safetensors", "weight dtype" "default" }, "class type" "unetloader" }, "17" { " meta" { "title" "load vae" }, "inputs" { "vae name" "ae safetensors" }, "class type" "vaeloader" }, "18" { " meta" { "title" "load clip" }, "inputs" { "type" "lumina2", "device" "default", "clip name" "qwen 3 4b safetensors" }, "class type" "cliploader" } } } status 404 workflow not found { "error" "workflow not found", "message" "the workflow you are looking for does not exist" } errors floyo api uses conventional http response codes to indicate the success or failure of an api request status 400 request validation failed, or the workflow could not be fetched { "error" "failed to fetch workflow", "message" "invalid workflow id" } status 500 an unexpected server error occurred { "error" "internal server error", "message" "unknown error" }