# Changelog Source: https://docs.identifai.net/api-reference/changelog Track the changes to the identifAI v1 API ecosystem. Version is in the form *MAJOR.MINOR.PATCH*: - MAJOR is fixed to 1 for v1 API. - The release of new endpoints or changes that affects classification verdicts/scores increment MINOR. - Any other change increments PATCH. ## Version 1.1.3
Latest 2026-04-09
#### Features * Added a `details` field inside image/video submission response payload to provide more information about single detections extracted and analyzed from the media (faces found in image/frame when `with_morphing` option is enabled). ## Version 1.1.2
2026-03-12
#### Features * Added a `details` field inside audio submission response payload to provide more information about single clips extracted from the audio. This field is available with a proper pricing. * Added `ensure_face_per_frame` option in [API used for video classification](./classification/submit-a-video-for-classification) and [API used for video classification from URL](./classification/submit-video-from-url): the flag ensures that the video frames used for classification contain a face, improving the accuracy of the analysis for videos where faces are present when used in combination with `with_morphing`. * Added `with_audio` option in [API used for video classification](./classification/submit-a-video-for-classification) and [API used for video classification from URL](./classification/submit-video-from-url): the flag enables the analysis of the audio track of the video, but you must be enabled in your pricing plan to use it. When enabled, the system will analyze the audio track of the video for deepfake detection, providing a more comprehensive analysis of the video content. ## Version 1.1.1
2026-01-30
#### Features * When a `webhook_url` is provided during submission and the send fails (e.g., due to network issues or invalid URL), the system will now retry sending the webhook notification up to **3 times** with a delay of **10s** between attempts. This enhancement improves the reliability of webhook notifications for clients relying on them for real-time updates. * Fixed `api_version` value in the response payload of the [APIs used for polling results](./classification/get-classification-result) to correctly reflect the current API version when the analysis is in `new` status. ## Version 1.1.0
2026-01-29
#### Features * The following fields have been added to the response payloads of the [APIs used for polling results](./classification/get-classification-result): * **Status**: indicates the status of the analysis (in progress, completed, or failed) * **Errors**: in case of a failed analysis, indicates the reason for the failure * **API Version**: reports the API version at the time of the analysis, allowing comparisons between analyses produced by different backend versions * **Revelio Onboarding II** model internal artificial/human **thresholds tuning**: the internal thresholds used to classify images as artificial or human-generated have been adjusted to improve detection accuracy based on recent evaluation data. ## Version 1.0.0
2025-01-01
### Initial Release Welcome to the first version of the identifAI API. This release brings powerful AI detection capabilities to your applications. #### Features * **Image Classification**: Detect AI-generated images using our multiple model ensemble (Revelio-IV, etc.). * **Video & Audio Analysis**: specialized endpoints for video and speech deepfake detection. * **Asynchronous Processing**: Webhook-ready workflow with submission and result polling. * **Partner API**: Endpoints for user management and credit handling. # Get multiple image classifications results Source: https://docs.identifai.net/api-reference/classification/get-all-classifications GET /api/classifications Retrieve multiple image classification results by providing a list of identifiers. **Note:** This endpoint also has an alias available at `/api/classifications_image`. # Get multiple audio classifications results Source: https://docs.identifai.net/api-reference/classification/get-all-classifications-audio get /api/classifications_audio Retrieve multiple audio classification results by providing a list of identifiers. # Get multiple video classifications results Source: https://docs.identifai.net/api-reference/classification/get-all-classifications-video get /api/classifications_video Retrieve multiple video classification results by providing a list of identifiers. # Get an image AI heatmap Source: https://docs.identifai.net/api-reference/classification/get-classification-heatmap get /api/classification/heatmap/{identifier} Retrieve the AI heatmap for a specific image. **Note:** This endpoint also has an alias available at `/api/classification_image/heatmap/{identifier}`. # Get single image classification result Source: https://docs.identifai.net/api-reference/classification/get-classification-result get /api/classification/{identifier} Retrieve the classification result for a specific image. **Note:** This endpoint also has an alias available at `/api/classification_image/{identifier}`. # Get single audio classification result Source: https://docs.identifai.net/api-reference/classification/get-classification-result-speech get /api/classification_audio/{identifier} Retrieve the classification result for a specific audio. # Get single video classification result Source: https://docs.identifai.net/api-reference/classification/get-classification-result-video get /api/classification_video/{identifier} Retrieve the classification result for a specific video. # Override audio classification Source: https://docs.identifai.net/api-reference/classification/override-audio-classification post /api/classification_audio/{hash}/override Submit an override for an audio classification. The hash parameter uniquely identifies the submitted audio file. If the same audio (so the same hash) is uploaded multiple times, the override will be applied to all submissions that share this hash. # Override image classification Source: https://docs.identifai.net/api-reference/classification/override-image-classification post /api/classification/{hash}/override Submit an override for an image classification. The hash parameter uniquely identifies the submitted image file. If the same image (so the same hash) is uploaded multiple times, the override will be applied to all submissions that share this hash. **Note:** This endpoint also has an alias available at `/api/classification_image/{hash}/override`. # Override video classification Source: https://docs.identifai.net/api-reference/classification/override-video-classification post /api/classification_video/{hash}/override Submit an override for a video classification. The hash parameter uniquely identifies the submitted video file. If the same video (so the same hash) is uploaded multiple times, the override will be applied to all submissions that share this hash. # Classify a speech Source: https://docs.identifai.net/api-reference/classification/submit-a-speech-for-classification post /api/classification_audio Submit a speech for classification 🔁 Response format varies based on the `Accept` header: `Accept: application/json` → `{ "identifier": "..." }` Other values (e.g. `text/plain`) → plain text with just the identifier string. # Classify a video Source: https://docs.identifai.net/api-reference/classification/submit-a-video-for-classification post /api/classification_video Submit a video for classification 🔁 Response format varies based on the `Accept` header: `Accept: application/json` → `{ "identifier": "..." }` Other values (e.g. `text/plain`) → plain text with just the identifier string. # Classify an image Source: https://docs.identifai.net/api-reference/classification/submit-an-image-for-classification post /api/classification Submit an image to be classified as human or artificial. 🔁 Response format varies based on the `Accept` header: `Accept: application/json` → `{ "identifier": "..." }` Other values (e.g. `text/plain`) → plain text with just the identifier string. **Note:** This endpoint also has an alias available at `/api/classification_image`. # Classify an image from URL Source: https://docs.identifai.net/api-reference/classification/submit-image-from-url post /api/image_fromurl Submit an image to be classified as human or artificial. 🔁 Response format varies based on the `Accept` header: `Accept: application/json` → `{ "identifier": "..." }` Other values (e.g. `text/plain`) → plain text with just the identifier string. # Classify a speech from URL Source: https://docs.identifai.net/api-reference/classification/submit-speech-from-url post /api/audio_fromurl Submit a speech for classification 🔁 Response format varies based on the `Accept` header: `Accept: application/json` → `{ "identifier": "..." }` Other values (e.g. `text/plain`) → plain text with just the identifier string. # Classify a video from URL Source: https://docs.identifai.net/api-reference/classification/submit-video-from-url post /api/video_fromurl Submit a video for classification 🔁 Response format varies based on the `Accept` header: `Accept: application/json` → `{ "identifier": "..." }` Other values (e.g. `text/plain`) → plain text with just the identifier string. # Check infrastructure health Source: https://docs.identifai.net/api-reference/infrastructure/health get /api/health This API is useful to check the infrastructure status. It does not require authentication and it is not rate limited. The response includes a `status` field with one of these values: - `ok`: all monitored infrastructure components are fully operational. - `degraded`: the service is reachable, but one or more components are operating with reduced functionality. # Make an API call Source: https://docs.identifai.net/api-reference/introduction Start making your API calls now! You can learn how our system works in the [Classification API](../classification) section. ## Rate limits The number of requests you can make per minute depends on your subscription plan. ## Quotas The number of requests you can make depends on the type of request and the number of credits available in your subscription. Each image (or video frame) costs 1 credit. Additional requests (such as morphing, tampering, heatmap, etc.) may increase the credit cost per image. ## Version policy Breaking updates to the API will be released under a new version (for example, `/api/v2/...`) and announced in advance by our marketing team. Any deprecation of older versions will also be communicated ahead of time to allow customers to migrate to the new version. ## Authentication All API endpoints are authenticated using an API Key. Include your API Key in the request header as follows: ``` X-API-Key: your_api_key_here ``` ## Get an API Key To have an API Key you need to create an account on our platform or log in if you already have one. Need help with registration? Follow our tutorial. Log in and get your API Key. You can get your API Key following these istructions: [Quickstart#get-your-api-key](../quickstart#get-your-api-key) ## Make an API call Make an API call using our endpoints. Before you can make any API call you need to get an api-key. Start an image classification and find out if your image is real or artificially generated! Find out how to start a video classification and discover whether your video is authentic or artificially generated Get the results of an image classification. Get the video classification results. # Create or update user Source: https://docs.identifai.net/api-reference/partner/create-new-user post /api/partner/user Creates a new user or updates an existing one. Partners can only create or update users under their partnership. # Get pricings Source: https://docs.identifai.net/api-reference/partner/get-pricings get /api/partner/pricings Fetch the list of available pricing plans. # Retrieve users Source: https://docs.identifai.net/api-reference/partner/retrieve-users get /api/partner/users Fetches a list of users based on the specified filters. # Send creation email Source: https://docs.identifai.net/api-reference/partner/send-creation-email post /api/partner/send_creation_email Sends an email to the specified user containing a password reset link or account activation instructions. # Rate Limits Source: https://docs.identifai.net/api-reference/rate-limits Learn about the rate limits for the identifAI API to ensure optimal performance and avoid service interruptions. The API enforces rate limits to maintain fair usage and ensure the stability of the service for all users. Understanding these limits will help you design your applications effectively and avoid hitting rate limit errors. # API Rate Limits To ensure fair usage and maintain optimal performance for all users, the identifAI API enforces rate limits on all endpoints. If you exceed these limits, you will receive a `429` error response. ## Default Rate Limits By default, each API key is subject to the following limits: If you exceed these limits, your requests will be temporarily blocked and you will receive a response like: ```json theme={null} { "message": "Too Many Attempts." } ``` ## Best Practices * Design your integration to handle `429` errors gracefully by implementing retries with exponential backoff. * Monitor your usage and adjust your request rate to stay within the allowed limits. * If you require higher or custom rate limits for your application, please contact us and we will evaluate your request. # Get user credits Source: https://docs.identifai.net/api-reference/user/user-credits get /api/user/credits Get user credits # Changelog Source: https://docs.identifai.net/api-v2/changelog Track the changes to the identifAI v2 API ecosystem. Version is in the form *MAJOR.MINOR.PATCH*: - MAJOR is fixed to 2 for v2 API. - The release of new endpoints or changes that affects classification verdicts/scores increment MINOR. - Any other change increments PATCH. ### Beta Release Welcome to the identifAI API V2 Beta. This version introduces new experimental features for tampering detection. ## Version 2.4.0
Latest 2026-07-03
#### Features * New API endpoint for [sample download](./submissions/download-sample). ## Version 2.3.1
2026-06-25
#### Features * Added blank pages filtering when submitting documents with anti-tampering API. Blank pages will be ignored and not analyzed. ## Version 2.3.0
2026-05-18
#### Features * Introduced API rate limiting. You can request a higher limit by contacting support. ## Version 2.2.0
2026-04-09
#### Features * **Improved performances and accuracy** of anti-tampering analysis pipeline. ## Version 2.1.0
Beta 2026-03-12
#### Features * Improved anti-tampering analysis results including **more specialized models** and more **metadata analysis**. ## Version 2.0.0
Beta January 2026
#### Features * **Tampering Detection**: Analyze tickets and digital assets for signs of manipulation. * **Ticket Analysis**: Dedicated endpoints for submitting and retrieving ticket analysis results. # Make an API call Source: https://docs.identifai.net/api-v2/introduction Start making your API calls now! The V2 APIs are **experimental** and available only to a **limited** number of users. To request access or for more information, please contact us at [support@identifai.net](mailto:support@identifai.net) ## Authentication All API endpoints are authenticated using an API Key. ## Get an API Key You can get your API Key by creating an account on our platform [IdentifAI](https://web.identifai.net). Log in and get your API Key. Need help with registration? Follow our tutorial. ## Make an API call Make an API call using our endpoints. Before you can make any API call you need to get an api-key. Start tickets analysis and find out whether they have been tampered or not! Get the results of a tickets analysis. # Sample download URL Source: https://docs.identifai.net/api-v2/submissions/download-sample get /api/v2/submissions/{type}/{identifier}/download Redirects to a pre-signed URL to download the file associated with the specified submission. # Get tickets analysis results Source: https://docs.identifai.net/api-v2/tampering/get-tickets-analysis-results get /api/v2/tampering/tickets/{batch_id} Retrieve the tampering detection results for the given batch. # Submit tickets for analysis Source: https://docs.identifai.net/api-v2/tampering/submit-tickets-for-analysis post /api/v2/tampering/tickets Submit a batch of ticket images for **tampering** detection. Each ticket can have an external ID that will be returned in the response for easier tracking. # Brief guide to models Source: https://docs.identifai.net/classification/brief-guide-to-models ## Images and videos Revelio is currently the model with the most effective architecture in many contexts. V01 and Brokenwand are on the platform for coverage reasons for specific scenarios (old generators no longer widely used). ### Revelio: * **Technology**: This is a technology that allows training a specialized model, combining the semantic part of the image with the intrinsic characteristics of the image at the pixel level. Unlike the V0X family, it does not analyze the specific detail of all pixels, preferring a "high-level" analysis combined with the semantic value extracted from the image. The advantage is greater precision on certain types of images at the expense of reliability on images not aligned with those in the training set. * **Dataset**: Multi-generator dataset featuring photorealistic AI-generated images. The oldest generators date back to 2023 and we maintain a continuous integration pipeline, updating Revelio with the latest architectural signatures from emerging generators. . ### Revelio-Onboarding: * **Technology**: Same technology as in Revelio. Compared to morphing, it recognized more modern faceswap techniques * **Dataset**: Multi-vector facial dataset featuring high-fidelity synthetic or manipulated human faces. We maintain a continuous integration pipeline, updating Revelio Onboarding with the latest architectural signatures—from deep-swapping and latent-space editing to full-scale identity synthesis. ### Ellen: * **Technology**: The model's architecture is specifically designed to detect traces left by photo editing tools, mainly in the context of image compression. It is a model that responds affirmatively only in the presence of photo editing; in other cases, it is not considered (it is listed under "excluded models"). * **Dataset**: Dual-stream dataset featuring original and digitally altered (tampered) pairs. The model learns to detect localized anomalies resulting from copy-move operations and advanced splicing techniques. ### V01 (legacy) * **Technology**: Older model along with Brokenwand. It is a model based on a technology that allows working on "general" aspects of an image, regardless of the type of image displayed. These are therefore "generalist" models and therefore allow analyzing a good number of image types but with usually lower reliability compared to models like Revelio. * **Dataset**: A legacy reference corpus featuring photorealistic synthetics generated between Q1 and Q4 2023. This dataset captures the foundational architectural signatures of early-to-mid-stage Latent Diffusion and GAN-based synthesis. ### Morphing (legacy): * **Technology**: This is a different technology from the previous ones, whose objective is to identify faces as a first step, and then analyze their features in search of distortions compared to the real image. It is a model that, when it correctly detects a face, allows determining if it has been transformed in some of its features. It is less effective in the case of completely generated faces; in case of no faces, this model can be ignored. * **Dataset**: A legacy dataset of altered faces, generated using classical geometric warping and latent-space synthesis prevalent through 2023. This dataset serves as a forensic baseline for detecting synchronized landmark-based manipulations and early-stage generative morphing. ## Audio (speech) IdentifAIs employs multiple models to detect deepfake speeches. ### Shared Dataset Each model relies on a distinct technological approach, while all are trained on a shared multimodal dataset composed of high-fidelity authentic speech samples and their synthetic counterparts. The dataset spans the evolution of neural speech synthesis—from legacy concatenative methods to modern diffusion-based vocoders. We maintain a continuous integration pipeline to ensure that the dataset is regularly updated with the latest generation and voice manipulation techniques. ### Underlying Technologies * *Zebra II (legacy)*: the model architecture is designed to distinguish between authentic and artificial audio. It leverages a supplementary model to perform numerical feature transformations of the audio signal prior to classification; * *Phantom*: this model focuses on raw audio analysis. Phantom detects subtle artifacts that other methods may overlook, while its specialized training ensures robustness in unpredictable real-world conditions. * *Quiet*: this model features a complex architecture composed of a modular system of specialized detectors, governed by a dynamic router that assigns the most appropriate expert module to each task. This design provides critical adaptability against next-generation deepfakes; Quiet is currently the most effective model in most contexts. Given the inherent variability and complexity of speech (e.g., voice types, speech patterns, frequency ranges, acoustic environments), performance should always be evaluated with these factors in consideration. # Classify an image Source: https://docs.identifai.net/classification/classify-image How to start an image classification You can classify an image either from a **file** or a **URL**.
This section explains how to make a request using a file. For a URL, the process is similar, with the main difference being the [endpoint](../api-reference/classification/submit-image-from-url) to call in *step 1*. ## Submission guidelines Given the highly variable nature of images, it is recommended to follow these simple guidelines: * Send the "closest" image to the source to the system: this means, for example, not sending screenshots or photos of screens. * Image analysis models are not currently trained to recognize photos of documents: therefore, the result, in case of submission of images of that type, is not reliable. * In the case of images taken from social media, the most accurate results are obtained by sending images without overlaid texts or modifications typical of social sharing. * If available from other sources, avoid submitting social links due to the post-processing of various platforms. ## Submit an image using the API To classify an image, you need to make a **POST** request to `/api/classification` with the required parameters (for details on the parameters, refer to the [API Reference](../api-reference/classification/submit-an-image-for-classification) section). ```bash theme={null} curl --request POST \ --url https://backend.identifai.net/api/classification \ --header 'Content-Type: multipart/form-data' \ --header 'X-Api-Key: ' \ --header 'Accept: application/json' \ --form "image=@/path/to/sample.jpg" \ --form with_morphing=false\ --form with_tampering=false ``` In response you will receive the identifier of the classified image. You can also [classify an image from URL](../api-reference/classification/submit-image-from-url)! ### Retrieve the results Use the provided identifier to retrieve the classification results by making a **GET** request to `/api/classification/{identifier}` (for details on how to structure this request, see the [API Reference](../api-reference/classification/get-classification-result) section). ```bash theme={null} curl --request GET \ --url https://backend.identifai.net/api/classification/{identifier} \ --header 'X-Api-Key: ' ``` The response will contain the classification results for the image in JSON format. In the response, you will find a results array, which includes the classification results for each model used, and a verdicts array, which contains the results for each heuristic applied. The classification may not be finished yet! If the classification is not yet complete, continue sending the GET request until the result is available. ## Heatmap The heatmap functionality (provided by the Ardē model) aims to assist in analyzing image details. An image submitted without a heatmap might be detected as human, while an analysis of the same image with a heatmap could highlight artificial traits. This is due to how the models interpret the images provided as input. If the heatmap is available for your user, you can request the heatmap analysis by providing the argument `with_heatmap=true` ```bash theme={null} curl --request POST \ --url https://backend.identifai.net/api/classification \ --header 'Content-Type: multipart/form-data' \ --header 'X-Api-Key: ' \ --header 'Accept: application/json' \ --form "image=@/path/to/sample.jpg" \ --form with_heatmap=true \ --form with_morphing=false \ --form with_tampering=false ``` The heatmap computation will take a while. Upon completion, the result will also include a model named `Ardē`: ```json theme={null} { "results": { "model": "Ardē", "unknown": false, "elapsed_time": 5.606042385101318, "classification": [ { "label": "human", "score": 0.8 }, { "label": "artificial", "score": 0.2 } ] } } ``` The `score` value represent the total area that is human or artificial. In the example, the result means that 20% of the image was classified as artificial. You can also downlaod the heatmap as a colored image by using the appropriate [endpoint](../api-reference/classification/get-classification-heatmap). ## Guidelines on interpreting results Regarding the interpretation of the result, the advice is to focus on: * Revelio as the main result for the verdict (platform's default choice), with higher confidence if faces and people are present. * Aide for a detailed analysis with the support of the heatmap feature. * Morphing to be considered only in the presence of faces. * Ellen, if the image comes from sources where the use of photo editing tools has been ascertained in the past. * V01 and Brokenwand only in the case of very old images (and therefore potentially generated with systems no longer in use today). In addition, for heatmap analysis, we recommend to: * Pay close attention to the size of the submitted images: heatmap analysis is particularly demanding from a computational point of view and processing time increases significantly based on image size. The guideline recommends submitting images with a resolution lower than 2k (or 4 megapixels). ## See also Find out how to start a video classification and discover whether your video is authentic or artificially generated Find out how to start a speech classification and discover whether your speech is authentic or artificially generated # Classify a speech Source: https://docs.identifai.net/classification/classify-speech How to start a speech classification You can classify a speech either from a **file** or a **URL**.
This section explains how to make a request using a file. For a URL, the process is similar, with the main difference being the [endpoint](../api-reference/classification/submit-speech-from-url) to call in *step 1*. ## Submission guidelines Given the highly variable nature of audio, it is advisable to follow these simple guidelines: * Send to the system audio containing only speech, as the analysis models are currently trained to recognize speech and not other types of audio (such as music or noise); * For greater accuracy, it is suggested to send audio of an appropriate duration to the system, such as at least 10 seconds and not less than 3 seconds; * The most accurate results are obtained by sending clean audio to the system, thus avoiding background noise (traffic noise or excessively loud noise, which could compromise the analysis). ## Submit a speech using API To classify a speech, you need to make a **POST** request to `/api/classification_audio` with the required parameters (for details on the parameters, refer to the [API Reference](../api-reference/classification/submit-a-speech-for-classification) section). ```bash theme={null} curl --request POST \ --url https://backend.identifai.net/api/classification_audio \ --header 'Content-Type: multipart/form-data' \ --header 'X-Api-Key: ' \ --form "audio=@/path/to/sample.mp3" ``` In response you will receive the identifier of the classified speech. You can also [classify a speech from URL](../api-reference/classification/submit-speech-from-url)! ### Retrieve the results Use the provided identifier to retrieve the classification results by making a **GET** request to `/api/classification/{identifier}` (for details on how to structure this request, see the [API Reference](../api-reference/classification/get-classification-result) section). ```bash theme={null} curl --request GET \ --url https://backend.identifai.net/api/classification_audio/{identifier} \ --header 'X-Api-Key: ' ``` The response will contain the classification results for the speech in JSON format. In the response, you will find a results array, which includes the classification results for each model used, and a verdicts array, which contains the results for each heuristic applied. The classification may not be finished yet! If the classification is not yet complete, continue sending the GET request until the result is available. ## Guidelines on interpreting the results As for interpreting the results, the advice is to focus on: * Phantom as the primary result for the verdict (platform's default choice); * Zebra II as the secondary result for the verdict; ### See also Find out how to start an image classification and discover whether your image is authentic or artificially generated Find out how to start a video classification and discover whether your video is authentic or artificially generated # Classify a video Source: https://docs.identifai.net/classification/classify-video How to start a video classification You can classify a video either from a **file** or a **URL**.
This section explains how to make a request using a file. For a URL, the process is similar, with the main difference being the [endpoint](../api-reference/classification/submit-video-from-url) to call in *step 1*. ## Submission guidelines Video analysis involves processing the video to extract specific frames. For this, the guidelines to follow are similar to those for images: * Send the video "closest" to the source to the system: this means, for example, not sending a video of a photo for photo analysis, or a video filmed from another video. * In the case of videos taken from social media, the most accurate results are obtained by sending videos without superimposed texts or modifications typical of social shares. * If available from other sources, avoid submitting social links due to the post-processing of various platforms. During submission, it is possible to exclude morphing models. We advise against enabling the morphing model in the absence of faces to avoid the risk of false positives. ## Frame extraction strategy selection Only for videos, it is necessary to select a frame extraction strategy: these will then be analyzed by the detection models. The frame extraction strategies are described below: ### Time-spaced With this mode, N frames (depending on the "Maximum number of frames" selection) are extracted, equally spaced along the duration of the video. In order to enable this, you must add the following parameters: ``` frames=(5|10|30) key_frames=false ``` `frames` controls how many frames to extract at least. You can select between 5, 10 and 30. A higher number of analyzed frames corresponds to a higher number of credits used for the analysis. ### Key frames * Key frames - Default: with this mode, up to N iframes are extracted. These frames represent sudden scene changes in the video and are therefore potentially of interest for analyzing different scenes. * Key frames - Color: with this mode, up to N frames are extracted that represent the "average" frame of a scene, calculated based on the colors within the image. * Key frames - Flow: with this mode, up to N frames are extracted that represent the "stillest" frame of a scene, calculated relative to the previous frame of the scene. ``` frames=(5|10|30) key_frames=true key_frames_method=(iframe|color|flow) ``` `frames` controls how many frames to extract at least. You can select between 5, 10 and 30. A higher number of analyzed frames corresponds to a higher number of credits used for the analysis. ## Submit a video using the API To classify a video, you need to make a **POST** request to `/api/classification_video` with the required parameters (for details on the parameters, refer to the [API Reference](../api-reference/classification/submit-a-video-for-classification) section). ```bash theme={null} curl --request POST \ --url https://backend.identifai.net/api/classification_video \ --header 'Content-Type: multipart/form-data' \ --header 'X-Api-Key: ' \ --form "video=@/path/to/sample.mp4" \ --form frames=5 \ --form with_morphing=false\ --form with_tampering=false ``` In the response you will receive the identifier of the classified video. You can also [classify a video from URL](../api-reference/classification/submit-video-from-url)! ### Retrieve the results Use the provided identifier to retrieve the classification results by making a **GET** request to `/api/classification_video/{identifier}` (for details on how to structure this request, see the [API Reference](../api-reference/classification/get-classification-result-video) section). ```bash theme={null} curl --request GET \ --url https://backend.identifai.net/api/classification_video/{identifier} \ --header 'X-Api-Key: ' ``` The response will provide the classification results for the video in JSON format. For video classification, the video is divided into frames. In the response, you will find a results array that includes the classification outcomes for each model applied to each analyzed frame, and a verdicts array containing the results for each heuristic used. The classification may not be finished yet! If the classification is not yet complete, continue sending the GET request until the result is available. ## Guidelines on interpreting the results The results of the video contains both the global verdicts and the individual result on the single analyzed frames. We suggest looking at [interpreting image result](./classify-image) ## Heatmaps on video For heatmaps on video, the considerations are the same as those on [images](./classify-image). The only addition is that to analyze the heatmap, you need to click on Frames and analyze the heatmap of each individual frame. ### See also Start an image classification and find out if your image is real or artificially generated! Find out how to start a speech classification and discover whether your speech is authentic or artificially generated # Dashboard Source: https://docs.identifai.net/dashboard An overview of our platform's dashboard Your Dashboard is the central hub where you can **manage your activity on our platform** and start classifications. Below, we’ll introduce you to the **key sections** of the dashboard, each designed to help you navigate the platform with **ease**. ## Main Page: Your Activity Overview The main page provides an at-a-glance summary of your classifications and key insights. Here’s what you’ll find: * Quick Stats: See the number of images or videos you’ve classified. * Navigation Links: Easily access all core features of the platform. identifAI usage diagram ## Classifications Page: Where the Magic Happens The Classifications Page is where you contribute to the platform by analyzing and classifying images and videos. identifAI usage diagram ## Credit Usage Page: Manage Your Credits The Credit Usage Page helps you keep track of your activity credits. This section includes: * Credit Balance: See how many credits you’ve used. * Detailed History: View a log of actions and corresponding credit changes. * Recharge Options: Add more credits if needed to continue using our APIs. identifAI usage diagram Credits are essential for accessing our APIs. Keep an eye on your balance to ensure uninterrupted access. # FAQ Source: https://docs.identifai.net/faq Find answers to common questions about our platform Welcome to our FAQ page! Below, you’ll find **answers to common questions** about our platform, services, and processes. If you don’t find the information you’re looking for, feel free to **contact our support team**. Please note that **this section is still under construction**, and we are continuously adding more content to address your queries. **We sincerely apologize for the inconvenience!**
At the moment, we don’t have detailed information available here. We are actively working to complete this page to better serve you with clear and helpful answers to your questions. 😊
**We sincerely apologize for the inconvenience!**
At the moment, we don’t have detailed information available here. We are actively working to complete this page to better serve you with clear and helpful answers to your questions. 😊
**We sincerely apologize for the inconvenience!**
At the moment, we don’t have detailed information available here. We are actively working to complete this page to better serve you with clear and helpful answers to your questions. 😊
**We sincerely apologize for the inconvenience!**
At the moment, we don’t have detailed information available here. We are actively working to complete this page to better serve you with clear and helpful answers to your questions. 😊
**We sincerely apologize for the inconvenience!**
At the moment, we don’t have detailed information available here. We are actively working to complete this page to better serve you with clear and helpful answers to your questions. 😊
**We sincerely apologize for the inconvenience!**
At the moment, we don’t have detailed information available here. We are actively working to complete this page to better serve you with clear and helpful answers to your questions. 😊
## Didn’t Find What You’re Looking For? If your question wasn’t answered here, don’t hesitate to [contact us](mailto:info@identifai.net). We’re here to help! 😊 # MCP Server Source: https://docs.identifai.net/integrations/mcp-server Connect AI agents and assistants directly to identifAI through the Model Context Protocol. ## What is the Model Context Protocol? The **Model Context Protocol (MCP)** is an open standard that allows AI assistants — such as Claude, Cursor, or any MCP-compatible agent framework — to call external tools and services at runtime. Think of it as a structured bridge between a language model and the APIs it needs to interact with. An **MCP server** is a lightweight service that exposes a set of named **tools** to an AI client. When an AI assistant is connected to an MCP server, it can invoke those tools autonomously: decide when to call them, pass the right parameters, and interpret the results — all without requiring you to build a custom integration from scratch. The identifAI MCP Server wraps the entire identifAI REST API and exposes it as a collection of ready-to-use tools that any MCP-compatible client can discover and call. Since the MCP server is remote and the protocol is JSON-based, all file samples are transferred as base64-encoded strings. This can cause issues with large files (especially videos), as base64 encoding increases the payload size and may hit server or client limits. For large files, it is strongly recommended to use the "by URL" classification tools (e.g., classify\_image\_url, classify\_video\_url, classify\_audio\_url) to avoid transfer problems and ensure reliable processing. *** ## Why use identifAI over MCP? ### For AI-native workflows If you are building or deploying AI agents, chatbots, or copilots, MCP integration is the fastest path to equipping them with AI-content detection capabilities. Rather than writing API glue code, you describe a task in natural language and the agent handles the rest: > *"Check whether this image is AI-generated before publishing it."* > *"Analyse this audio clip and tell me if it's synthetic."* ### Common use cases Block the publication of AI-generated images, videos, or audio on social platforms, forums, marketplaces, and online communities. Verify the authenticity of photos, videos, and audio in newsrooms, press agencies, and source verification workflows. Detect deepfakes and manipulations in onboarding, identity verification, and KYC processes for banks, insurance, and fintech. Protect intellectual property and copyright by detecting AI content in advertising campaigns, digital assets, and media archives. Prevent ad fraud and fake ads by detecting AI-generated content in marketing campaigns and advertising networks. Safeguard the reputation of broadcasters, TV, and radio by verifying the genuineness of content before airing. ### Advantages over a raw REST integration | | REST API | MCP Server | | ------------------ | ----------------------------- | ---------------------------------------------- | | Integration effort | Custom HTTP client code | Zero glue code — just add to your agent config | | Agent-friendly | Requires custom tool wrapping | Natively discoverable by MCP clients | | Multi-modal | Separate endpoints per type | All 17 tools in a single server | | Async polling | Manual polling loop | Tool handles the workflow | ## Requirements Before connecting to the identifAI MCP server you need: 1. **An identifAI API key.** Register at [https://web.identifai.net](https://web.identifai.net/), then go to the dashboard, click the user icon in the top-right corner, and select **"Api-Key"**. 2. **An MCP-compatible client** — Claude Desktop, Cursor, or any framework agent that supports the Model Context Protocol. Your API key is passed **per request** as a tool parameter. The server never stores or caches it — each tool call authenticates independently directly against the identifAI REST API. *** ## Public MCP server endpoint For production use, you can connect directly to our **public MCP server** at: > **[https://mcp.identifai.net](https://mcp.identifai.net)** This endpoint is always available and ready to serve requests from any MCP-compatible agent or assistant. No local deployment is required unless you want a private instance. Simply configure your agent to use `https://mcp.identifai.net` as the MCP server URL. *** ## Available tools The server exposes **17 tools** organised by media type. | Tool | Description | | ----------------------------------------- | -------------------------------------------------- | | `identifai/classify_image` | Submit an image file for AI-content classification | | `identifai/classify_image_url` | Submit an image URL for AI-content classification | | `identifai/get_image_classification` | Retrieve the result of a classification by ID | | `identifai/get_all_image_classifications` | Retrieve multiple image classification results | | `identifai/get_classification_heatmap` | Get a heatmap highlighting AI-generated regions | | `identifai/override_image_classification` | Manually override a classification result | | Tool | Description | | ----------------------------------------- | --------------------------------------------------- | | `identifai/classify_video` | Submit a video file for AI-content classification | | `identifai/classify_video_url` | Submit a video URL for AI-content classification | | `identifai/get_video_classification` | Retrieve the result of a video classification by ID | | `identifai/get_all_video_classifications` | Retrieve multiple video classification results | | `identifai/override_video_classification` | Manually override a video classification result | | Tool | Description | | ----------------------------------------- | ---------------------------------------------------- | | `identifai/classify_audio` | Submit an audio file for AI-content classification | | `identifai/classify_audio_url` | Submit an audio URL for AI-content classification | | `identifai/get_audio_classification` | Retrieve the result of an audio classification by ID | | `identifai/get_all_audio_classifications` | Retrieve multiple audio classification results | | `identifai/override_audio_classification` | Manually override an audio classification result | | Tool | Description | | ---------------------------- | ------------------------------------------------------ | | `identifai/get_user_credits` | Retrieve the remaining credit balance for your account | Classification jobs are **asynchronous**. After submitting a file or URL, use the corresponding `get_*_classification` tool with the returned job ID to poll for the result. MCP-compatible agents handle this automatically when instructed to wait for completion. *** ## Integration example: Claude Desktop The quickest way to get started is to connect Claude Desktop directly to the **public identifAI MCP server** — no local deployment required. 1. Open (or create) the Claude Desktop configuration file: * **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json` * **Windows:** `%APPDATA%\Claude\claude_desktop_config.json` 2. Add the identifAI server to the `mcpServers` section: ```json theme={null} { "mcpServers": { "identifAI": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.identifai.net/"] } } } ``` Make sure you have `npx` installed (included with Node.js) to start the mcp-remote server via command. 3. Restart Claude Desktop. You should now see **identifAI** listed in the connected tools panel. 4. In the Claude Desktop chat, try a prompt like: > *"Using identifAI with API key sk-xxxxxxxx, classify this image and tell me if it's AI-generated: [https://example.com/sample.jpg](https://example.com/sample.jpg)"* Claude will call `identifai/classify_image_url`, receive the job ID, then automatically poll `identifai/get_image_classification` and return the verdict with its confidence score. You can include your API key directly in the prompt, or ask the assistant to use a key you have stored in a system prompt or environment variable — depending on how your agent is configured. *** ## Next steps Follow the quickstart guide to create an account and retrieve your API key. Browse the full REST API documentation for all available endpoints. Learn how image classification works end-to-end. Learn how video classification works end-to-end. # Introduction Source: https://docs.identifai.net/introduction identifAI an advanced solution for image and video classification. Logo Light Logo Dark > **identifAI** is the advanced solution that allows you to distinguish in just a few moments whether an image or video is **real** or **artificially generated**. > \ > Our mission is to ensure **transparency** and inform users about the nature of digital content, promoting a more **trustworthy and secure digital ecosystem**.