{"info":{"title":"Z-Image Turbo ControlNet","version":"1.0.0","description":"OpenAPI schema for z-image/turbo/controlnet"},"openapi":"3.1.0","components":{"schemas":{"Input":{"type":"object","title":"Input","required":["prompt","image_url"],"properties":{"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","x-order":8,"description":"The same seed and the same prompt given to the same version of the model will output the same image every time."},"prompt":{"type":"string","title":"Prompt","x-order":0,"description":"The prompt describing the image to generate."},"image_url":{"type":"string","title":"Image URL","format":"uri","x-order":1,"description":"URL of the control/reference image that guides structural conditioning. Its aspect ratio also drives the output size."},"image_size":{"anyOf":[{"$ref":"#/components/schemas/ImageSize"},{"$ref":"#/components/schemas/ImageSizeEnum"}],"title":"Image Size","default":"auto","x-order":3,"description":"Output size. Use a preset string (e.g. 'landscape_16_9') or a custom {width, height} object. 'auto' derives the size from the control image's aspect ratio."},"num_images":{"type":"integer","title":"Number of Images","default":1,"maximum":4,"minimum":1,"x-order":9,"description":"The number of images to generate. Each generated image is billed."},"preprocess":{"anyOf":[{"$ref":"#/components/schemas/PreprocessEnum"},{"type":"null"}],"title":"Preprocess","default":"none","x-order":2,"description":"How to preprocess the control image before conditioning. 'none' uses the image directly; 'canny' extracts edges; 'depth' estimates a depth map; 'pose' extracts body pose."},"control_end":{"type":"number","title":"Control End","default":0.8,"maximum":1,"minimum":0,"x-order":6,"description":"Fraction of the denoising process at which ControlNet conditioning ends."},"acceleration":{"allOf":[{"$ref":"#/components/schemas/AccelerationEnum"}],"title":"Acceleration","default":"regular","x-order":11,"description":"The acceleration level to use. Higher acceleration is faster but may reduce quality."},"control_scale":{"type":"number","title":"Control Scale","default":0.75,"maximum":1,"minimum":0,"x-order":4,"description":"How strongly the control image conditions the result (0 = ignore control, 1 = strongest conditioning)."},"control_start":{"type":"number","title":"Control Start","default":0,"maximum":1,"minimum":0,"x-order":5,"description":"Fraction of the denoising process at which ControlNet conditioning begins."},"output_format":{"allOf":[{"$ref":"#/components/schemas/OutputFormatEnum"}],"title":"Output Format","default":"png","x-order":10,"description":"The format of the generated image."},"num_inference_steps":{"type":"integer","title":"Number of Inference Steps","default":8,"maximum":8,"minimum":1,"x-order":7,"description":"The number of inference steps to perform."},"enable_safety_checker":{"type":"boolean","title":"Enable Safety Checker","default":true,"x-order":13,"description":"If set to true, the safety checker will be enabled."},"enable_prompt_expansion":{"type":"boolean","title":"Enable Prompt Expansion","default":false,"x-order":12,"description":"If true, the prompt is automatically expanded/enriched before generation. Enabling this increases the price by a small per-request surcharge."}}},"Output":{"type":"array","items":{"type":"string","format":"uri"},"title":"Output"},"ImageSize":{"type":"object","title":"ImageSize","properties":{"width":{"type":"integer","title":"Width","default":512,"maximum":14142,"description":"The width of the generated image.","exclusiveMinimum":0},"height":{"type":"integer","title":"Height","default":512,"maximum":14142,"description":"The height of the generated image.","exclusiveMinimum":0}}},"ImageSizeEnum":{"enum":["square_hd","square","portrait_4_3","portrait_16_9","landscape_4_3","landscape_16_9","auto"],"type":"string","title":"ImageSizeEnum","description":"Preset image sizes."},"PreprocessEnum":{"enum":["none","canny","depth","pose"],"type":"string","title":"PreprocessEnum","description":"ControlNet preprocessor: none (use image directly), canny (edge map), depth (depth map), pose (body pose)."},"AccelerationEnum":{"enum":["none","regular","high"],"type":"string","title":"AccelerationEnum","description":"The acceleration level to use."},"OutputFormatEnum":{"enum":["jpeg","png","webp"],"type":"string","title":"OutputFormatEnum","description":"The format of the generated image."}}}}