Feel free to reach techsupport@surepass.io for any technical support or guidance.
ai_generated_score between 0 and 1, providing a calibrated probability rather than a binary flag — giving your application full control over threshold-based decisioningai_generated_score and deepfake_score fields, covering a broader spectrum of synthetic media threatsai_generators signals to surface which AI generation tools or fingerprints were detected in the image, enabling more granular fraud intelligencemodel parameter, allowing you to choose the detection approach best suited to your use caseai_generated_score threshold, routing borderline cases to human reviewAuthorization header as Bearer TOKEN.https://sandbox.surepass.apphttps://kyc-api.surepass.app| Header | Required | Description |
|---|---|---|
Authorization | Yes | JWT Bearer token. Format: Bearer <YOUR_JWT_TOKEN>. Use the sandbox token for sandbox and the production token for production. |
Content-Type | Yes | Must be set to multipart/form-data. Required because the request includes a file upload alongside form fields. Do not set this manually in most HTTP clients — it is set automatically with the correct multipart boundary. |
multipart/form-data request body containing a file upload and a model selector field.| Parameter | Type | Required | Description |
|---|---|---|---|
file | file | Yes | The image file to be analyzed for AI generation or deepfake manipulation. Submit as a binary file part with content type application/octet-stream. |
model | string | Yes | The detection model to use for analysis. Pass "genai" to use the generative AI detection model, "deepfake" to use the Deepfake detection model or "combined" to use all the Models |
| Parameter | Type | Description |
|---|---|---|
data | object | Contains the AI image detection result payload for this request. |
data.client_id | string | A server-generated unique session identifier for this detection request. Useful for support queries and audit logging. |
data.model | string | The detection model used to analyze the submitted image, reflecting the model value passed in the request (e.g., "genai"). |
data.ai_generated_score | number | A probability score between 0 and 1 indicating the likelihood that the submitted image was generated by an AI model. Values closer to 1 indicate a higher probability of AI generation. |
data.deepfake_score | number | null | A probability score between 0 and 1 indicating the likelihood that the submitted image has been deepfake-manipulated. Returns null when deepfake analysis is not applicable or not performed for the selected model. |
data.ai_generators | object | An object containing signals or fingerprints identifying specific AI generation tools detected in the image. Returns an empty object {} if no specific generators are identified. |
data.media_uri | string | The filename or URI of the submitted media file as received by the server. |
data.type | object | An object summarizing the detection type scores. Contains ai_generated as a key with its corresponding probability score as the value. |
data.type.ai_generated | number | The AI-generated probability score, mirroring the value in data.ai_generated_score. |
data.media | object | An object containing metadata about the submitted media. |
data.media.uri | string | The filename or URI of the submitted media file, mirroring the value in data.media_uri. |
status_code | integer | HTTP-equivalent numeric status code. 200 indicates successful processing. |
success | boolean | Top-level flag indicating whether the request was processed successfully. true on success. |
message | string | Human-readable status message. Returns "Success" on successful processing. |
message_code | string | Machine-readable message identifier for programmatic response handling. Returns "success" on success. |
{
"data": {
"client_id": "ocr_ai_image_detection_zjibQobuHPwKdsoekjOo",
"model": "genai",
"ai_generated_score": 0.001,
"deepfake_score": null,
"ai_generators": {},
"media_uri": "image.png",
"type": {
"ai_generated": 0.001
},
"media": {
"uri": "image.png"
}
},
"status_code": 200,
"success": true,
"message": "Success",
"message_code": "success"
}{
"data": null,
"status_code": 401,
"success": false,
"message": "Unauthorized",
"message_code": "unauthorized"
}Authorization header is missing, malformed, or the JWT token is expired or invalid. Verify that a valid Bearer token for the correct environment (sandbox or production) is included in the request.ai_generated_score acceptance threshold before going live — a commonly used starting point is to reject scores above 0.8, flag scores between 0.5 and 0.8 for manual review, and auto-approve scores below 0.5; calibrate based on your risk tolerancedeepfake_score is null, do not surface this as an error to users — it simply means deepfake analysis was not applicable for the selected model or image typeclient_id values alongside submission metadata to enable traceability and support investigations for flagged submissionsai_generated_score may constitute an adverse action. Implement a human review step for borderline cases, particularly in regulated KYC, lending, or insurance workflows.curl --location 'https://kyc-api.surepass.app/api/v1/ocr/ai-image-detection' \
--header 'Authorization: Bearer <token>' \
--form 'file=@""' \
--form 'model=""'{
"data": {
"client_id": "ocr_ai_image_detection_zjibQobuHPwKdsoekjOo",
"model": "genai",
"ai_generated_score": 0.001,
"deepfake_score": null,
"ai_generators": {},
"media_uri": "image.png",
"type": {
"ai_generated": 0.001
},
"media": {
"uri": "image.png"
}
},
"status_code": 200,
"success": true,
"message": "Success",
"message_code": "success"
}