# Flux Canny Pro Flux Canny Pro Model delivers accurate edge detection for precise outlines and detailed image edits ## API Information - **Model Slug:** flux-canny-pro - **Branded URL:** https://www.eachlabs.ai/black-forest-labs/flux-canny/flux-canny-pro - **Provider:** Black Forest Labs - **Category:** Image to Image - **Output Type:** image - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Fixed price per execution: $0.05 - **Estimated Processing Time:** 15 seconds - **Last Updated:** 2026-04-06 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/flux-canny-pro ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.0500 - **Pricing Details:** Fixed price per execution: $0.05 ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Fixed price per execution: $0.05 | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text prompt for image generation | | control_image | string | Yes | - | image/jpeg, image/png, image/jpg, image/webp | Image to use as control input. Must be jpeg, png, or webp. | | seed | integer | No | - | - | Random seed. Set for reproducible generation | | steps | integer | No | 50 | 15–50 | Number of diffusion steps. Higher values yield finer details but increase processing time. | | prompt_upsampling | boolean | No | false | - | Automatically modify the prompt for more creative generation | | guidance | number | No | 30 | 1–50 | Controls the balance between adherence to the text as well as image prompt and image quality/diversity. Higher values make the output more closely match the prompt but may reduce overall image quality. Lower values allow for more creative freedom but might produce results less relevant to the prompt. | | safety_tolerance | integer | No | 2 | 1–6 | Safety tolerance, 1 is most strict and 6 is most permissive | | output_format | string | No | jpg | jpg,png | An enumeration. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "flux-canny-pro", "input": { "prompt": "a photo of a car on a city street", "control_image": "https://storage.googleapis.com/magicpoint/inputs/flux-canny-pro-input.webp" } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated image)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "X-API-Key: YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `X-API-Key` | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **flux-canny-pro — Image-to-Image AI Model** flux-canny-pro from Black Forest Labs empowers precise image editing by leveraging advanced Canny edge detection to generate accurate outlines and structured transformations from input images. Part of the innovative flux-canny family, this **image-to-image AI model** excels in maintaining structural integrity while applying creative modifications, ideal for developers seeking an **AI image editor API** with reliable edge control. Users provide a reference image and text prompt to produce high-resolution outputs up to 4MP, revolutionizing workflows in **Black Forest Labs image-to-image** applications like sketch-to-render or photo restyling. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `X-API-Key: YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.