Deepfake detection and media safety — detect AI-generated audio, images, video, and text, trace synthesis sources, apply watermarks, verify speaker identity, and analyze media intelligence using Resemble AI
SKILL.md
Resemble Detect — Deepfake Detection & Media Safety
Analyze audio, image, video, and text for synthetic manipulation, AI-generated content, watermarks, speaker identity, and media intelligence using the Resemble AI platform.
Core Principle — THE IRON LAW
"NEVER DECLARE MEDIA AS REAL OR FAKE WITHOUT A COMPLETED DETECTION RESULT."
Do not guess, infer, or speculate about media authenticity. Every authenticity claim must be backed by a completed Resemble detect job with a returned label, score, and status: "completed". If the detection is still processing, wait. If it failed, say so — do not substitute your own judgment.
When to Use
Use this skill whenever the user's request involves any of these:
Checking if audio, video, image, or text is AI-generated or manipulated
Detecting deepfakes in any media format
Verifying media authenticity or provenance
Identifying which AI platform synthesized audio (source tracing)
Applying or detecting watermarks on media
Analyzing media for speaker info, emotion, transcription, or misinformation
Asking natural-language questions about detection results
Matching or verifying speaker identity against known voice profiles
Do NOT use for text-to-speech generation, voice cloning, or speech-to-text transcription — those are separate Resemble capabilities.
Capability Decision Tree
User wants to...
Use this
API endpoint
Check if media is AI-generated / deepfake
Deepfake Detection
POST /detect
Know which AI platform made fake audio
Audio Source Tracing
POST /detect with flag
Get speaker info, emotion, transcription from media
Intelligence
POST /intelligence
Ask questions about a completed detection
Detect Intelligence
POST /detects/{uuid}/intelligence
Apply an invisible watermark to media
Watermark Apply
POST /watermark/apply
Check if media contains a watermark
Watermark Detect
POST /watermark/detect
Verify a speaker's identity against known profiles
Identity Search
POST /identity/search
Check if text is AI-generated
Text Detection
POST /text_detect
Create a voice identity profile for future matching
Identity Create
POST /identity
When multiple capabilities apply (e.g., user wants deepfake detection AND intelligence), combine them in a single POST /detect call using the intelligence: true flag rather than making separate requests.
Required Setup
API Key: Bearer token from the Resemble AI dashboard
Media Requirement: All media must be at a publicly accessible HTTPS URL
If the user provides a local file path instead of a URL, inform them the file must be hosted at a public HTTPS URL first. Do not attempt to upload local files to the API.
MCP Tools Available
When the Resemble MCP server is connected, use these tools instead of raw API calls:
Tool
Purpose
resemble_docs_lookup
Get comprehensive docs for any detect sub-topic
resemble_search
Search across all documentation
resemble_api_endpoint
Get exact OpenAPI spec for any endpoint
resemble_api_search
Find endpoints by keyword
resemble_get_page
Read specific documentation pages
resemble_list_topics
List all available topics
Tool usage pattern: Use resemble_docs_lookup with topic "detect" to get the full picture, then resemble_api_endpoint for exact request/response schemas before making API calls.
Phase 1: Deepfake Detection
The core capability. Submit any audio, image, or video for AI-generated content analysis.
Hierarchical tree of frame-level and segment-level results
Each child has timestamp, score, certainty, and may have nested children
Video with audio track returns both metrics (audio) and video_metrics (visual)
Interpreting Scores
Score Range
Interpretation
0.0 – 0.3
Strong indication of authentic/real media
0.3 – 0.5
Inconclusive — recommend additional analysis
0.5 – 0.7
Likely synthetic — flag for review
0.7 – 1.0
High confidence synthetic/AI-generated
Always present scores with context. Say "The detection returned a score of 0.87, indicating high confidence that this audio is AI-generated" — never just "it's fake."
Phase 2: Intelligence — Media Analysis
Analyze media for rich structured insights independent of or alongside detection.
After a detection completes, ask natural-language questions about it:
POST /detects/{detect_uuid}/intelligence
Content-Type: application/json
Authorization: Bearer <API_KEY>
{
"query": "How confident is the model that this audio is fake?"
}
This returns a question UUID. Poll GET /detects/{detect_uuid}/intelligence/{question_uuid} until status is "completed" to get the answer.
Good questions to suggest:
"Summarize the detection results in plain language"
"What specific indicators suggest this is AI-generated?"
"How do the audio and video detection results differ?"
"What is the confidence level and what does it mean?"
"Are there any inconsistencies in the analysis?"
Status flow:pending → processing → completed (or failed)
Prerequisite: The detection must have status: "completed". Submitting a question against a processing or failed detection returns a 422 error.
Phase 3: Audio Source Tracing
When audio is detected as synthetic (label: "fake"), identify which AI platform generated it.
Enable it by setting audio_source_tracing: true in the POST /detect request.
Result appears in the detection response under audio_source_tracing:
{
"label": "elevenlabs",
"error_message": null
}
Known source labels include: resemble_ai, elevenlabs, real, and others as the model expands.
Important: Source tracing only runs when audio is labeled as "fake". If the audio is "real", no source tracing result will appear.
Standalone query:
GET /audio_source_tracings — list all source tracing reports
GET /audio_source_tracings/{uuid} — get specific report
Phase 4: Watermarking
Apply invisible watermarks to media for provenance tracking, or detect existing watermarks.
Read metrics / image_metrics / video_metrics for the verdict
Read intelligence.description for structured media analysis
If audio labeled "fake", check audio_source_tracing.label for the source platform
Ask follow-up questions via Detect Intelligence if anything needs clarification
Check for watermarks via POST /watermark/detect if provenance is relevant
Quick Authenticity Check (Fastest)
For a fast pass/fail:
Submit minimal detection: { "url": "..." }
Poll until complete
Check label and aggregated_score (audio) or label and score (image/video)
Report result with score context
Provenance Pipeline (Content Creators)
For creators who want to prove their content is authentic:
Apply watermark to original content: POST /watermark/apply
Distribute watermarked media
Later, verify provenance: POST /watermark/detect against any copy
Red Flags — Stop and Reassess
Declaring authenticity without a detection result — Never say media is real or fake based on visual/auditory inspection alone
Ignoring the score and reporting only the label — A "fake" label with score 0.51 means something very different from score 0.95
Submitting local file paths to the API — The API requires publicly accessible HTTPS URLs (does not apply to text detection)
Sending text longer than 100,000 characters to text detection — Split into chunks or inform the user of the limit
Polling too aggressively — Start at 2s intervals, back off exponentially; do not loop at <1s
Asking Detect Intelligence questions before detection completes — Results in 422 error
Expecting source tracing on "real" audio — Source tracing only runs on audio labeled "fake"
Treating beta features (Identity) as production-ready — Warn users about beta status
Ignoring zero_retention_mode for sensitive media — Always suggest this flag when the user indicates the media is sensitive or private
Making multiple separate API calls when flags can combine — Use intelligence: true and audio_source_tracing: true on the detection call instead of separate requests
Response Presentation Guidelines
When presenting results to users:
Lead with the verdict — "The detection indicates this audio is likely AI-generated (score: 0.87)"
Provide score context — Use the score interpretation table above
Mention limitations — Detection is probabilistic, not absolute proof
Include actionable next steps — Suggest intelligence queries, source tracing, or watermark checks as appropriate
For inconclusive results (0.3–0.5) — Explicitly state the result is inconclusive and recommend additional analysis with different parameters or manual review
Never present detection as legal evidence — Detection results are analytical tools, not forensic certifications
Error Handling
Error
Cause
Resolution
400
Invalid request body or missing url
Check required parameters
401
Invalid or missing API key
Verify RESEMBLE_API_KEY
404
Detection UUID not found
Verify the UUID from the creation response
422
Detection not completed (for Intelligence)
Wait for detection to reach completed status
429
Rate limited
Back off and retry with exponential delay
500
Server error
Retry once, then report to user
Privacy & Compliance Notes
Zero retention mode: Set zero_retention_mode: true to auto-delete media after analysis. The URL is redacted and media_deleted is set to true post-completion.
Text privacy mode: Set privacy_mode: true on text detection to prevent text content from being stored after analysis.
Data handling: Media URLs and text content are stored by default. For GDPR/compliance-sensitive workflows, enable zero retention (media) or privacy mode (text).
Callback security: If using callback_url, ensure the endpoint is HTTPS and authenticated on the receiving end.