ControlNet Preprocess Canny
ControlNet Preprocess Canny converts an input image into a high-contrast Canny edge map for ControlNet conditioning. It is best suited to workflows that need clear object boundaries, strong silhouette retention, and tightly constrained structure during guided image generation or editing.

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: controlNetPreprocessIdentifier 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
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.
ttl
integermin: 60Time-to-live (TTL) in seconds for generated content. Only applies when
outputTypeisURL.
includeCost
booleandefault: falseInclude task cost in the response.
Inputs
Input resources for the task (images, audio, etc). These must be nested inside the inputs object.
inputs object.inputs»imageimage
stringrequiredImage input (UUID, URL, Data URI, or Base64).
Core Parameters
Primary parameters that define the task output.
model
stringrequiredvalue: runware:controlnet-preprocess@cannyIdentifier of the model to use for generation.
Learn more3 resources
Settings
Technical parameters to fine-tune the inference process. These must be nested inside the settings object.
settings object.settings»highThresholdCannyhighThresholdCanny
integermin: 1max: 255default: 200High threshold for Canny edge detection.
Learn more1 resource
settings»lowThresholdCannylowThresholdCanny
integermin: 0max: 255default: 100Low threshold for Canny edge detection.
Learn more1 resource