Run Intelligence

POST https://app.resemble.ai/api/v2/intelligence

Analyzes a media file and returns comprehensive intelligence. The API auto-detects whether the input is audio, video, or image.

By default the request is synchronous. If you provide a callback_url, the request becomes asynchronous automatically: the API returns 202 Accepted with the newly created intelligence record, then sends the final result to your callback URL with an outbound HTTP POST.

Request Body

FieldTypeRequiredDescription
media_tokenstringNo*Token for uploaded media file (from secure upload).
urlstringNo*HTTPS URL to media file.
detect_idstringNoUUID of an existing detect to associate.
media_typestringNoExplicit type: audio, image, or video (auto-detected if not provided).
callback_urlstringNoURL that receives the final intelligence payload via HTTP POST. When present, the request runs asynchronously and returns 202 Accepted.

*One of media_token or url is required.

Example

curl --request POST 'https://app.resemble.ai/api/v2/intelligence' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"url": "https://example.com/media/sample.wav"
}'

Asynchronous Example (callback_url)

curl --request POST 'https://app.resemble.ai/api/v2/intelligence' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
"url": "https://example.com/media/sample.wav",
"callback_url": "https://example.com/webhooks/intelligence"
}'

Response

Asynchronous Response (callback_url provided)

When callback_url is present, the API accepts the job immediately and returns a pending intelligence record:

{
"success": true,
"item": {
"uuid": "abc123...",
"media_type": "audio",
"created_at": "2024-01-15T10:30:00Z"
}
}

The final result is then delivered to your callback URL via HTTP POST.

Callback Payload

On success, the callback payload matches the normal intelligence response shape:

{
"success": true,
"item": {
"uuid": "abc123...",
"media_type": "audio",
"description": {
"speaker_info": "Adult male speaker",
"language": "en",
"dialect": "en-US",
"emotion": "confident",
"speaking_style": "conversational",
"context": "Product marketing pitch",
"message": "Introducing a new feature",
"abnormalities": "No anomalies detected",
"transcription": "Welcome back to the Resemble product update...",
"translation": null,
"misinformation": "No misinformation detected",
"fraud": {
"type": "none",
"confidence": 95,
"reasoning": "No fraud indicators detected"
},
"liveness": {
"assessment": "real_person",
"confidence": 88,
"indicators": "Natural breathing patterns, consistent background noise"
},
"digitally_altered": {
"detected": false,
"confidence": 92,
"alterations": "No digital alterations detected"
}
},
"created_at": "2024-01-15T10:30:00Z"
}
}

On failure, the callback includes the persisted intelligence record plus an error field:

{
"success": false,
"item": {
"uuid": "abc123...",
"media_type": "audio",
"description": "Error generating Intelligence report.",
"created_at": "2024-01-15T10:30:00Z"
},
"error": "Gemini API request failed"
}

Audio/Video Response

{
"success": true,
"item": {
"uuid": "abc123...",
"media_type": "audio",
"description": {
"speaker_info": "Adult male speaker",
"language": "en",
"dialect": "en-US",
"emotion": "confident",
"speaking_style": "conversational",
"context": "Product marketing pitch",
"message": "Introducing a new feature",
"abnormalities": "No anomalies detected",
"transcription": "Welcome back to the Resemble product update...",
"translation": null,
"misinformation": "No misinformation detected",
"fraud": {
"type": "none",
"confidence": 95,
"reasoning": "No fraud indicators detected"
},
"liveness": {
"assessment": "real_person",
"confidence": 88,
"indicators": "Natural breathing patterns, consistent background noise"
},
"digitally_altered": {
"detected": false,
"confidence": 92,
"alterations": "No digital alterations detected"
}
},
"created_at": "2024-01-15T10:30:00Z"
}
}

Notes

  • One of media_token or url is required.
  • Requests without callback_url are processed synchronously and return 200 OK.
  • Requests with callback_url are processed asynchronously and return 202 Accepted.
  • Use Get Intelligence to poll for the final result if you do not want to rely on callbacks.

Image Response

{
"success": true,
"item": {
"uuid": "def456...",
"media_type": "image",
"description": {
"scene_description": "Detailed description of what the image depicts",
"subjects": "People, objects, locations identified in the image",
"authenticity_analysis": "Visual artifacts, manipulation indicators, AI generation signs",
"context_and_setting": "Environmental, temporal, situational context",
"abnormalities": "Visual anomalies indicating AI generation or manipulation",
"misinformation": "Misinformation and disinformation analysis results",
"fraud": {
"type": "none",
"confidence": 90,
"reasoning": "No fraud indicators detected"
},
"liveness": {
"assessment": "real_person",
"confidence": 85,
"indicators": "Natural skin texture, consistent 3D geometry"
},
"digitally_altered": {
"detected": false,
"confidence": 88,
"alterations": "No digital alterations detected"
}
},
"created_at": "2024-01-15T10:30:00Z"
}
}

Response Fields

Audio/Video Description Fields

FieldTypeDescription
speaker_infostringInformation about the speaker(s)
languagestringDetected language code
dialectstringDetected dialect
emotionstringDetected emotional tone
speaking_stylestringSpeaking style classification
contextstringContextual analysis of the content
messagestringSummary of the message conveyed
abnormalitiesstringAI generation or manipulation anomalies
transcriptionstringFull transcription of audio content
translationstring | nullTranslation if non-English content detected
misinformationstringMisinformation and disinformation analysis
fraudobjectFraud analysis result
fraud.typestringFraud classification: none, vishing, impersonation, romance_scam, tech_support_scam, financial_fraud, extortion, political_manipulation, synthetic_media_fraud, insurance_fraud, employment_fraud, other
fraud.confidencenumberConfidence score (0-100)
fraud.reasoningstringExplanation of the fraud assessment
livenessobjectLiveness detection result
liveness.assessmentstringOne of real_person, not_real_person, inconclusive
liveness.confidencenumberConfidence score (0-100)
liveness.indicatorsstringBiometric liveness indicators found
digitally_alteredobjectDigital alteration detection result
digitally_altered.detectedbooleanWhether manual digital editing was detected
digitally_altered.confidencenumberConfidence score (0-100)
digitally_altered.alterationsstringDescription of alterations found

Image Description Fields

FieldTypeDescription
scene_descriptionstringDetailed description of the image content
subjectsstringPeople, objects, and locations identified
authenticity_analysisstringVisual artifacts and manipulation indicators
context_and_settingstringEnvironmental and situational context
abnormalitiesstringVisual anomalies indicating AI generation or manipulation
misinformationstringMisinformation and disinformation analysis
fraudobjectFraud analysis result
fraud.typestringFraud classification: none, impersonation, synthetic_media_fraud, political_manipulation, insurance_fraud, other
fraud.confidencenumberConfidence score (0-100)
fraud.reasoningstringExplanation of the fraud assessment
livenessobjectLiveness detection result
liveness.assessmentstringOne of real_person, not_real_person, inconclusive
liveness.confidencenumberConfidence score (0-100)
liveness.indicatorsstringBiometric liveness indicators found
digitally_alteredobjectDigital alteration detection result
digitally_altered.detectedbooleanWhether manual digital editing was detected
digitally_altered.confidencenumberConfidence score (0-100)
digitally_altered.alterationsstringDescription of alterations found