Z-Image

Z-Image is a powerful open-source image generation model with 6 billion parameters built on a scalable single-stream diffusion transformer architecture. It delivers high visual fidelity, strong prompt adherence, and diverse stylistic output for text-to-image and image-to-image tasks, and serves as the full-capacity foundation for distilled variants like Z-Image-Turbo.

Complete technical specification for integration
Ready-to-use code snippets for common workflows
API Options
Platform-level options for task execution and delivery.
taskType
stringrequiredvalue: imageInferenceIdentifier for the type of task being performed
taskUUID
stringrequiredUUID v4UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.
outputType
stringdefault: URLImage output type.
Allowed values3 values
outputFormat
stringdefault: JPGSpecifies the file format of the generated output. The available values depend on the task type and the specific model's capabilities.
- `JPG`: Best for photorealistic images with smaller file sizes (no transparency).
- `PNG`: Lossless compression, supports high quality and transparency (alpha channel).
- `WEBP`: Modern format providing superior compression and transparency support.
**Transparency**: If you are using features like background removal or LayerDiffuse that require transparency, you must select a format that supports an alpha channel (e.g., `PNG`, `WEBP`, `TIFF`). `JPG` does not support transparency.Allowed values3 values
outputQuality
integermin: 20max: 99default: 95Compression quality of the output. Higher values preserve quality but increase file size.
webhookURL
stringURISpecifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.
Learn more1 resource
- WebhooksPLATFORM
- Webhooks
deliveryMethod
stringdefault: syncDetermines how the API delivers task results.
Allowed values2 values
- Returns complete results directly in the API response.
- Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse.
Learn more1 resource
- Task PollingPLATFORM
uploadEndpoint
stringURISpecifies a URL where the generated content will be automatically uploaded using the HTTP PUT method. The raw binary data of the media file is sent directly as the request body. For secure uploads to cloud storage, use presigned URLs that include temporary authentication credentials.
Common use cases:
- Cloud storage: Upload directly to S3 buckets, Google Cloud Storage, or Azure Blob Storage using presigned URLs.
- CDN integration: Upload to content delivery networks for immediate distribution.
// S3 presigned URL for secure upload https://your-bucket.s3.amazonaws.com/generated/content.mp4?X-Amz-Signature=abc123&X-Amz-Expires=3600 // Google Cloud Storage presigned URL https://storage.googleapis.com/your-bucket/content.jpg?X-Goog-Signature=xyz789 // Custom storage endpoint https://storage.example.com/uploads/generated-image.jpgThe content data will be sent as the request body to the specified URL when generation is complete.
safety
objectContent safety checking configuration for image generation.
Properties1 property
safety»checkContentcheckContent
booleandefault: falseEnable or disable content safety checking.
ttl
integermin: 60Time-to-live (TTL) in seconds for generated content. Only applies when
outputTypeisURL.
includeCost
booleandefault: falseInclude task cost in the response.
numberResults
integermin: 1max: 20default: 1Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
acceleratorOptions
objectAdvanced caching mechanisms to speed up generation.
Properties12 properties
acceleratorOptions»cacheEndStepcacheEndStep
integermin: 1Absolute step number to end caching. Must be greater than
cacheStartStepand less than or equal tosteps.
acceleratorOptions»cacheEndStepPercentagecacheEndStepPercentage
integermin: 1max: 100Percentage of steps to end caching. Alternative to
cacheEndStep. Must be greater thancacheStartStepPercentage.
acceleratorOptions»cacheMaxConsecutiveStepscacheMaxConsecutiveSteps
integermin: 1max: 5default: 3Limits the maximum number of consecutive steps that can use cached computations before forcing a fresh computation.
acceleratorOptions»cacheStartStepcacheStartStep
integermin: 0Absolute step number to start caching. Must be less than
cacheEndStep.
acceleratorOptions»cacheStartStepPercentagecacheStartStepPercentage
integermin: 0max: 99Percentage of steps to start caching. Alternative to
cacheStartStep. Must be less thancacheEndStepPercentage.
acceleratorOptions»fbCachefbCache
booleandefault: falseFirst Block Cache (FBCache) acceleration. Reuses feature block computations across steps.
acceleratorOptions»fbCacheThresholdfbCacheThreshold
floatmin: 0max: 1step: 0.01default: 0.25Controls the sensitivity threshold for determining when to reuse cached computations. Lower values reuse more aggressively.
acceleratorOptions»teaCacheteaCache
booleandefault: falseTeaCache acceleration for transformer-based models. Estimates step differences to skip redundant computations.
acceleratorOptions»teaCacheDistanceteaCacheDistance
floatmin: 0max: 1step: 0.01default: 0.5Controls the aggressiveness of the TeaCache feature. Lower values prioritize quality, higher values prioritize speed.
acceleratorOptions»dbCachedbCache
booleandefault: falseDB Cache (CacheDiT) acceleration. Caches and reuses intermediate transformer block outputs to skip redundant computations.
acceleratorOptions»dbCacheThresholddbCacheThreshold
floatmin: 0max: 1step: 0.01default: 0.25Controls the sensitivity threshold for DB Cache. Lower values reuse cached blocks more aggressively, higher values prioritize quality.
acceleratorOptions»dbCacheSkipIntervaldbCacheSkipInterval
integermin: 1default: 5Controls how many steps to skip between cache refreshes. Higher values skip more steps for faster generation at the cost of quality.
Inputs
Input resources for the task (images, audio, etc). These must be nested inside the inputs object.
inputs object.Core Parameters
Primary parameters that define the task output.
model
stringrequiredvalue: runware:z-image@0Identifier of the model to use for generation.
Learn more3 resources
positivePrompt
stringrequiredmin: 2max: 10000Text prompt describing elements to include in the generated output.
Learn more1 resource
- PromptsLEARN
- Prompts
negativePrompt
stringmin: 2max: 3000Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1).
Learn more1 resource
width
integerrequiredmin: 128max: 2048step: 16Width of the generated media in pixels.
Learn more2 resources
height
integerrequiredmin: 128max: 2048step: 16Height of the generated media in pixels.
Learn more2 resources
seed
integermin: 0max: 9223372036854776000Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
Learn more1 resource
- SeedLEARN
- Seed
steps
integermin: 1max: 50Total number of denoising steps. Higher values generally produce more detailed results but take longer.
Learn more1 resource
- StepsLEARN
- Steps
scheduler
stringScheduler to use for the diffusion process.
Allowed values75 values
Learn more2 resources
CFGScale
floatmin: 0max: 20step: 0.01Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt.
Learn more1 resource
- Cfg ScaleLEARN
- Cfg Scale
strength
floatmin: 0max: 1step: 0.01default: 0.8Strength of the transformation. Lower values result in more influence from the original input.
maskMargin
integermin: 32max: 128Extra context pixels around the masked region during inpainting. The model zooms into the masked area with these additional pixels for better integration.
Learn more1 resource
outpaint
objectPixel extensions for each boundary direction of the source image. At least one direction is required.
Learn more1 resource
Properties4 properties
lora
array of objectsmin items: 1With LoRA (Low-Rank Adaptation), you can adapt a model to specific styles or features by emphasizing particular aspects of the data. This technique enhances the quality and relevance of generated content and can be especially useful when the output needs to adhere to a specific artistic style or follow particular guidelines.
Multiple LoRA models can be used simultaneously to achieve different adaptation goals.
Examples1 example
"lora": [ { "model": "<lora-model-air>", "weight": 0.8 } ]Learn more1 resource
- LorasLEARN
Properties3 properties
lora»modelmodel
stringrequiredLoRA model identifier.
lora»weightweight
floatmin: -4max: 4step: 0.01default: 1Strength of the LoRA influence. A value of 0 means no influence. Higher values increase the influence, and negative values can be used to steer away from the LoRA's style.
lora»transformertransformer
stringdefault: bothTransformer stages to apply LoRA. Some video models use separate high-noise and low-noise processing stages, and LoRAs can be selectively applied to optimize their effectiveness.
Allowed values3 values
- Apply LoRA only to the high-noise processing stage (coarse structure and early generation steps).
- Apply LoRA only to the low-noise processing stage (fine details and later generation steps).
- Apply LoRA to both stages for full coverage.
- Loras
controlNet
array of objectsmin items: 1With ControlNet, you can provide a guide image to help the model generate images that align with the desired structure. This guide image can be generated with our ControlNet preprocessing tool, extracting guidance information from an input image. The guide image can be in the form of an edge map, a pose, a depth estimation or any other type of control image that guides the generation process via the ControlNet model.
Multiple ControlNet models can be used at the same time to provide different types of guidance information to the model.
Examples1 example
"controlNet": [ { "model": "<controlnet-model-air>", "guideImage": "c64351d5-4c59-42f7-95e1-eace013eddab", "weight": 0.7, "startStep": 0, "endStep": 20, "controlMode": "controlnet" } ]Learn more2 resources
Properties8 properties
controlNet»modelmodel
stringrequiredControlNet model identifier.
controlNet»weightweight
floatmin: -4max: 4step: 0.01default: 1Strength of the ControlNet influence. A value of 0 means no influence. Higher values increase the influence, and negative values can be used to steer away from the guide image.
controlNet»guideImageguideImage
stringrequiredReference image for ControlNet guidance (UUID, URL, Data URI, or Base64).
controlNet»controlModecontrolMode
stringdefault: balancedControlNet guidance mode.
Allowed values3 values
- Equal weight between ControlNet and prompt.
- Prioritize ControlNet guidance.
- Prioritize prompt guidance.
controlNet»endStependStep
integermin: 1Absolute step number to end ControlNet influence. Must be greater than
startStepand less than or equal tosteps.
controlNet»endStepPercentageendStepPercentage
integermin: 1max: 100Percentage of steps to end ControlNet influence. Must be greater than
startStepPercentage.
controlNet»startStepstartStep
integermin: 0Absolute step number to start ControlNet influence. Must be less than
endStep.
controlNet»startStepPercentagestartStepPercentage
integermin: 0max: 99Percentage of steps to start ControlNet influence. Must be less than
endStepPercentage.
Features
Standalone addons and post-processing features.
ultralytics
objectConfiguration object for Ultralytics face enhancement during generation. This feature uses face detection and inpainting to improve facial details in the same generation step, without requiring post-processing.
Face enhancement is available for Stable Diffusion 1.X, SDXL, and FLUX models. The system automatically detects faces and applies targeted refinement to improve quality while maintaining consistency with the overall generation.
Properties9 properties
ultralytics»CFGScaleCFGScale
floatmin: 0max: 50step: 0.1default: 8Face refinement guidance scale.
ultralytics»confidenceconfidence
floatmin: 0max: 1step: 0.01default: 0.9Confidence threshold for detection.
ultralytics»inpaintSizeinpaintSize
integermin: 128max: 2048default: 1024Image size (in pixels) to use for each inpainting region. YOLO detects faces, crops the region, and scales it to this size before running diffusion. Set so most faces land in the 2–4× range of their original pixel size. Going beyond 8× may degrade identity resemblance.
ultralytics»maskBlurmaskBlur
integermin: 0max: 100default: 5Mask feathering amount. Higher values create softer transitions between the enhanced face region and surrounding areas.
ultralytics»maskPaddingmaskPadding
integermin: 0max: 20default: 5Padding around detected face in pixels. Expands the refinement area to include surrounding context like hair and neck.
ultralytics»negativePromptnegativePrompt
stringNegative prompt for detection.
ultralytics»positivePromptpositivePrompt
stringPositive prompt for detection.
ultralytics»stepssteps
integermin: 1max: 100default: 20Number of face refinement steps.
ultralytics»strengthstrength
floatmax: 1step: 0.01default: 0.3Refinement strength. Lower values preserve more of the original, higher values allow more aggressive reconstruction.