IP Detection
Check prompts and/or existing assets against the team’s enabled IP-detection filters, without generating anything. Advisory only: the call never blocks and nothing is stored. The payload is analyzed as ONE input set, so the answer is a single merged verdict — call the route once per item to know which item trips a filter. Videos are analyzed through their extracted frames; audio and 3d assets are returned in skippedAssetIds and are never checked. Available on the Enterprise plan only; a team with no enabled filter gets evaluatedFilters: 0 and is charged nothing. Billed on the provider tokens the check sends — the prompt plus every analyzed image, once per enabled filter — with a 1 CU minimum, reported under ipDetection.creativeUnitsCharged and surfaced in GET /v1/usages as ip-detection.
Parameters
The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)
IP Detection
import os
from scenario_sdk import Scenario
client = Scenario(
api_key=os.environ.get("SCENARIO_SDK_API_KEY"), # This is the default and can be omitted
api_secret=os.environ.get("SCENARIO_SDK_API_SECRET"), # This is the default and can be omitted
)
response = client.generate.ip_detection()
print(response.ip_detection){
"ipDetection": {
"action": "allowed",
"analyzedImagesCount": 0,
"creativeUnitsCharged": 0,
"evaluatedFilters": 0,
"findings": [
{
"category": "artist-style",
"confidence": 0,
"filterId": "filterId",
"filterName": "filterName",
"flagged": true,
"reason": "reason",
"entities": [
"string"
]
}
],
"flagged": true,
"hasDetectorError": true
},
"skippedAssetIds": [
"string"
]
}Returns Examples
{
"ipDetection": {
"action": "allowed",
"analyzedImagesCount": 0,
"creativeUnitsCharged": 0,
"evaluatedFilters": 0,
"findings": [
{
"category": "artist-style",
"confidence": 0,
"filterId": "filterId",
"filterName": "filterName",
"flagged": true,
"reason": "reason",
"entities": [
"string"
]
}
],
"flagged": true,
"hasDetectorError": true
},
"skippedAssetIds": [
"string"
]
}