AI Image Detector
AI Image Detector Async
Submit an image URL for AI-generated content detection. Results are delivered asynchronously via webhook.
PUT
Submit an image URL for AI-generated content detection. The endpoint is asynchronous - it returns
201 Created immediately, and the detection results are delivered to your webhook URL once processing is complete.
Use this endpoint when you have a publicly reachable image URL and prefer a fire-and-forget submission. For an immediate, synchronous response with the image uploaded directly in the request, use AI Image Detection instead.
Authentication is required. See Login for how to obtain a bearer token.
This is a new endpoint and the official Copyleaks SDKs (Python, JavaScript, Java, C#, PHP, Ruby) don’t yet expose a wrapper method for the async flow. The code samples below call the HTTP API directly. SDK support is planned - until then, use the raw HTTP pattern.
Path parameters
string
required
A unique scan id provided by you. We recommend using the same id in your database to represent the scan in the Copyleaks database - this helps debug incidents and avoid duplicate scans for the same image. See criteria for creating a Scan ID.
>= 3 characters <= 36 charactersMatch pattern: [a-z0-9] !@$^&-+%=_(){}<>';:/.",~`|Headers
Body parameters
string
required
Publicly accessible URL of the image file to analyze.Example:
"https://example.com/my-image.png"string
required
The name of the image file including its extension.Supported extensions:
.jpg, .jpeg, .png, .webp, .tiff, .bmp, .heic, .heifExample: "image1.png"string
required
The AI image detection model to use for analysis.
- AI Image 1 Ultra:
"ai-image-1-ultra"
"ai-image-1-ultra"string
The type of detection overlay to return alongside the detection result. Use this when you want a pixel-level visualization of which regions of the image were flagged as AI-generated.Supported values:
"heatmap"- gradient overlay highlighting AI-generated regions with intensity proportional to confidence.
"heatmap"array
Optional. A list of objects to locate and segment within the image. When provided, the result delivered to your webhook additionally includes a
detectedObjects array - one entry per object found in the image, each with its Run-Length Encoded (RLE) segmentation mask.Each entry wraps the object name in an object ({ "object": "face" }) so future per-entry fields can be added without a breaking change.- Maximum 3 entries.
- Each entry’s
objectvalue must be a non-empty string of at most 32 characters.
[{ "object": "face" }, { "object": "hand" }]array
Optional custom headers to include when Copyleaks fetches the image from the provided
url. Each entry is a two-element array: ["Header-Name", "Header-Value"].Example: [["X-Custom-Auth", "my-token"]]object
required
Webhook configuration for receiving the async results.
boolean
default:"false"
Use sandbox mode to test your integration with the Copyleaks API without consuming any credits. Submit images for AI detection and receive mock results simulating the API. Intended for development purposes only.
string
An optional string payload that Copyleaks will include in the webhook response, allowing you to correlate the callback with your internal data.Example:
"order-id-12345"Webhook payload
When processing completes, Copyleaks sends aPOST request to your webhook URL with the detection results. The payload follows the same shape as the synchronous AI Image Detection response.
When the request included objectDetection, the payload additionally contains a detectedObjects array - one entry per object found in the image. Objects that were requested but not found are omitted, so look entries up by object rather than by position.
array<object>
Present only when
objectDetection was supplied in the request. One entry per object located in the image.
