with one click
resemble-detect
// 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
// 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
Guides IA through releasing a new version of a GitHub library end-to-end. Handles SemVer versioning and Keep a Changelog formatting automatically.
Use when: comparing SQL Server tables across instances, data migration validation, ETL verification, row mismatch detection, schema drift, reconciliation report, production vs staging comparison. Uses mssql-python driver with Apache Arrow for fast columnar data transfer and comparison.
capability to parse Simplicité logs from a raw `.txt` file, filter fields to reduce noise, and output the result as structured JSON.
Generate images using AI. Use when asked to generate, create, or make images, textures, icons, sprites, artwork, visual assets, or mockups. Supports OpenAI (gpt-image-2) and Google Gemini (Nano Banana). Requires an API key for the chosen provider.
Make any repo AI-ready — analyzes your codebase and generates AGENTS.md, copilot-instructions.md, CI workflows, issue templates, and more. Mines your PR review patterns and creates files customized to your stack. USE THIS SKILL when the user asks to "make this repo ai-ready", "set up AI config", or "prepare this repo for AI contributions".
Authoring and debugging scripts for Rhinoceros 3D (Rhino 8 and later). Use when asked to write RhinoScript (VBScript / .rvb / .vbs), RhinoPython, or RhinoCommon-based scripts; automate Rhino modeling tasks; build command macros; manipulate Rhino geometry, layers, blocks, or document objects; pick objects from the viewport; control redraw and undo; or load and run scripts from the Rhino Script Editor. Covers `rhinoscriptsyntax`, `scriptcontext`, the `Rhino.*` RhinoCommon namespaces (`Rhino.Geometry`, `Rhino.DocObjects`, `Rhino.Input`, `Rhino.UI`, `Rhino.Display`, `Rhino.FileIO`), and the Rhino 8 unified Script Editor.
| name | resemble-detect |
| description | 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 |
| license | Apache-2.0 |
| compatibility | Requires a Resemble AI API key (https://app.resemble.ai) set as RESEMBLE_API_KEY. All media must be accessible via public HTTPS URLs — local file paths are not supported except for text detection. |
Analyze audio, image, video, and text for synthetic manipulation, AI-generated content, watermarks, speaker identity, and media intelligence using the Resemble AI platform.
"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.
Use this skill whenever the user's request involves any of these:
Do NOT use for text-to-speech generation, voice cloning, or speech-to-text transcription — those are separate Resemble capabilities.
| 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.
RESEMBLE_API_KEY)https://app.resemble.ai/api/v2Authorization: Bearer <RESEMBLE_API_KEY>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. (Exception: POST /text_detect accepts text content inline.)
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.
Detailed request/response schemas for every endpoint are in references/api-reference.md. Consult it before making any API call to verify exact parameter names and response shapes. The sections below cover decision-making; the reference covers exact field formats.
The core capability. Submit audio, image, or video for AI-generated content analysis via POST /detect.
Key flags to consider:
visualize: true — generate heatmap/visualization artifactsintelligence: true — run multimodal intelligence alongside detection (saves a round-trip)audio_source_tracing: true — identify which AI platform synthesized fake audio (only fires on "fake" audio)use_reverse_search: true — enable reverse image search (image only)zero_retention_mode: true — auto-delete media after analysis (for sensitive content)Detection is asynchronous. Poll GET /detect/{uuid} at 2s → 5s → 10s intervals until status is "completed" or "failed". Most complete in 10–60 seconds.
Supported formats: Audio (WAV, MP3, OGG, M4A, FLAC) · Video (MP4, MOV, AVI, WMV) · Image (JPG, PNG, GIF, WEBP)
metrics — use label and aggregated_scoreimage_metrics — use label and score; ifl has an Invisible Frequency Layer heatmapvideo_metrics — hierarchical tree of frame/segment results; video-with-audio returns both metrics and video_metricsSee references/api-reference.md for full response schemas.
| 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."
Rich structured insights about media: speaker info, emotion, transcription, translation, misinformation, abnormalities.
Two ways to run Intelligence:
intelligence: true to POST /detect (preferred; one call)POST /intelligence with a URL (when you only need analysis, not a deepfake verdict)Audio/video structured fields include: speaker_info, language, dialect, emotion, speaking_style, context, message, abnormalities, transcription, translation, misinformation.
Image structured fields include: scene_description, subjects, authenticity_analysis, context_and_setting, abnormalities, misinformation.
After a detection completes, ask natural-language questions via POST /detects/{detect_uuid}/intelligence with { "query": "..." }. Returns a question UUID — poll GET /detects/{detect_uuid}/intelligence/{question_uuid} until completed.
Good questions to suggest:
Prerequisite: The detection must have status: "completed". Submitting a question against a processing or failed detection returns 422.
See references/api-reference.md for full parameters.
When audio is labeled "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.
Known labels: resemble_ai, elevenlabs, real, and others as the model expands.
Important: Source tracing only runs on audio labeled "fake". Real audio produces no source tracing result.
Standalone queries: GET /audio_source_tracings and GET /audio_source_tracings/{uuid}.
Apply invisible watermarks to media for provenance tracking, or detect existing watermarks.
POST /watermark/apply with url, optional strength (0.0–1.0), optional custom_message. Add Prefer: wait for synchronous response, or poll GET /watermark/apply/{uuid}/result. Response includes watermarked_media URL.POST /watermark/detect with url. Audio returns { has_watermark, confidence }; image/video returns { has_watermark }.See references/api-reference.md for exact parameter rules.
Create voice identity profiles and match incoming audio against them.
Beta feature — requires joining the preview program. Inform the user if they encounter access errors.
POST /identity with { audio_url, name }POST /identity/search with { audio_url, top_k }Response returns ranked matches with confidence (higher = stronger) and distance (lower = closer match).
See references/api-reference.md for full schemas.
Detect whether text content is AI-generated or human-written via POST /text_detect.
Beta feature — requires the
detect_beta_userrole or a billing plan that includes thedfd_textproduct.
Key parameters:
text (required, max 100,000 chars)threshold (default 0.5)privacy_mode: true — text content not stored after analysiscallback_url — async notification webhookAdd Prefer: wait for synchronous response, or poll GET /text_detect/{uuid}. Response includes prediction ("ai" or "human") and confidence (0.0–1.0).
See references/api-reference.md for full schema and callback format.
For a comprehensive analysis, combine all capabilities:
{
"url": "https://example.com/suspect.mp4",
"visualize": true,
"intelligence": true,
"audio_source_tracing": true,
"use_reverse_search": true
}
status: "completed"metrics / image_metrics / video_metrics for the verdictintelligence.description for structured media analysis"fake", check audio_source_tracing.label for the source platformPOST /watermark/detect if provenance is relevant{ "url": "..." }label and aggregated_score (audio) or label and score (image/video)POST /watermark/applyPOST /watermark/detect against any copy"fake" label with score 0.51 means something very different from score 0.95"fake"zero_retention_mode for sensitive media — Always suggest this flag when the user indicates the media is sensitive or privateintelligence: true and audio_source_tracing: true on the detection call instead of separate requestsWhen presenting results to users:
| 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 |
zero_retention_mode: true to auto-delete media after analysis. The URL is redacted and media_deleted is set to true post-completion.privacy_mode: true on text detection to prevent text content from being stored after analysis.callback_url, ensure the endpoint is HTTPS and authenticated on the receiving end.