resemble-detect について
resemble-detectは、Resemble AIを使って合成メディアやウォーターマーク、話者情報を分析するメディア鑑識スキルです。真正性の判断は、完了した検出結果に基づく必要があります。
主な機能
- 01音声・画像・動画のディープフェイク検出
- 02音声の合成元追跡
- 03メディアと話者情報の分析
- 04不可視ウォーターマークの付与・検出
- 05話者アイデンティティの照合
- 06AI生成テキストの検出
活用シーン
- 01メディアがAI生成か確認
- 02偽音声の合成プラットフォームを追跡
- 03話者・感情・文字起こしを分析
- 04話者の身元やメディアの透かしを検証
MCP 対応
Resemble MCP サーバーに接続すると、ドキュメントの参照・検索やAPI仕様の取得にツールを利用できます。スキルにはResemble APIを呼び出すワークフローも記載されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ github/ awesome-copilot --skill resemble-detectインストール後、Claude Code で/resemble-detectを入力して読み込まれたか確認します。
同梱ファイルLICENSEreferences/api-reference.md
詳細
Resemble Detect — ディープフェイク検出とメディアの安全性
Resemble AI プラットフォームを使用して、音声、画像、動画、テキストを分析し、合成による改変、AI 生成コンテンツ、ウォーターマーク、話者の識別情報、メディアインテリジェンスを検出します。
基本原則 — 絶対遵守の原則
「検出結果が完了する前に、メディアが本物か偽物かを決して断定しないでください。」
メディアの真正性について、推測、推論、憶測をしてはいけません。真正性に関する主張はすべて、label、score、status: "completed" が返された Resemble の検出ジョブが完了していることを根拠とする必要があります。検出がまだ processing の場合は、完了するまで待ってください。failed の場合は、その旨を伝えてください。自分の判断で代用してはいけません。
使用する場面
ユーザーのリクエストに次のいずれかが含まれる場合は、このスキルを使用してください。
- 音声、動画、画像、テキストが AI 生成または改変されたものかを確認する
- あらゆるメディア形式のディープフェイクを検出する
- メディアの真正性や来歴を検証する
- 音声を合成した AI プラットフォームを特定する(ソース追跡)
- メディアにウォーターマークを適用または検出する
- 話者情報、感情、文字起こし、誤情報についてメディアを分析する
- 検出結果について自然言語で質問する
- 既知の音声プロファイルと照合して話者の身元を一致または検証する
- AI 生成または機械生成のテキストを検出する
- 「ディープフェイク」「偽造検出」「合成メディア」「音声認証」「ウォーターマーク」「メディアフォレンジック」「真正性の確認」「ソース追跡」「これは本物か」「AI 生成テキスト」「テキスト検出」への言及
テキスト読み上げの生成、音声クローニング、音声の文字起こしには使用しないでください。 これらは Resemble の別の機能です。
機能の選択ツリー
| ユーザーの目的 | 使用する機能 | API エンドポイント |
|---|---|---|
| メディアが AI 生成/ディープフェイクかを確認する | ディープフェイク検出 | POST /detect |
| 偽の音声をどの AI プラットフォームが生成したかを知る | 音声ソース追跡 | POST /detect(フラグを指定) |
| メディアから話者情報、感情、文字起こしを取得する | インテリジェンス | POST /intelligence |
| 完了した検出について質問する | 検出インテリジェンス | POST /detects/{uuid}/intelligence |
| メディアに不可視のウォーターマークを適用する | ウォーターマーク適用 | POST /watermark/apply |
| メディアにウォーターマークが含まれているか確認する | ウォーターマーク検出 | POST /watermark/detect |
| 既知のプロファイルと照合して話者の身元を検証する | 身元検索 | POST /identity/search |
| テキストが AI 生成かを確認する | テキスト検出 | POST /text_detect |
| 今後の照合に使う音声の身元プロファイルを作成する | 身元作成 | POST /identity |
複数の機能が当てはまる場合(例:ユーザーがディープフェイク検出とインテリジェンスの両方を希望する場合)は、別々にリクエストせず、intelligence: true フラグを使って単一の POST /detect 呼び出しにまとめてください。
必須のセットアップ
- API キー:Resemble AI ダッシュボードから取得した Bearer トークン(
RESEMBLE_API_KEYとして設定) - ベース URL:
https://app.resemble.ai/api/v2 - 認証ヘッダー:
Authorization: Bearer <RESEMBLE_API_KEY> - メディア要件:すべてのメディアは、一般公開されている HTTPS URL に配置する必要があります
ユーザーが URL ではなくローカルファイルパスを指定した場合は、まずファイルを一般公開されている HTTPS URL でホストする必要があることを伝えてください。ローカルファイルを API にアップロードしようとしてはいけません。(例外:POST /text_detect はテキストコンテンツをインラインで受け付けます。)
利用可能な MCP ツール
Resemble MCP サーバーに接続している場合は、直接 API を呼び出す代わりに、以下のツールを使用してください。
| ツール | 目的 |
|---|---|
resemble_docs_lookup | detect のサブトピックに関する包括的なドキュメントを取得します |
resemble_search | すべてのドキュメントを検索します |
resemble_api_endpoint | 任意のエンドポイントの正確な OpenAPI 仕様を取得します |
resemble_api_search | キーワードでエンドポイントを検索します |
resemble_get_page | 特定のドキュメントページを読み込みます |
resemble_list_topics | 利用可能なトピックを一覧表示します |
ツールの使用パターン:トピックに "detect" を指定して resemble_docs_lookup を使い、全体像を把握してから、API 呼び出しを行う前に resemble_api_endpoint で正確なリクエスト/レスポンススキーマを確認してください。
API リファレンス全文
すべてのエンドポイントの詳細なリクエスト/レスポンススキーマは、references/api-reference.md に記載されています。API 呼び出しの前に参照し、正確なパラメーター名とレスポンスの形式を確認してください。以下のセクションでは判断方法を説明し、リファレンスでは正確なフィールド形式を説明します。
フェーズ 1:ディープフェイク検出
中核となる機能です。POST /detect を使って音声、画像、動画を送信し、AI 生成コンテンツを分析します。
検討する主なフラグ:
visualize: true— ヒートマップ/可視化アーティファクトを生成しますintelligence: true— 検出と並行してマルチモーダルインテリジェンスを実行します(往復の通信を減らせます)audio_source_tracing: true— 偽の音声を合成した AI プラットフォームを特定します(音声が"fake"の場合のみ実行されます)use_reverse_search: true— 逆画像検索を有効にします(画像のみ)zero_retention_mode: true— 分析後にメディアを自動削除します(機密コンテンツ向け)
検出は非同期で行われます。status が "completed" または "failed" になるまで、GET /detect/{uuid} を 2 秒 → 5 秒 → 10 秒の間隔でポーリングしてください。ほとんどの場合、完了までに 10~60 秒かかります。
対応形式: 音声(WAV、MP3、OGG、M4A、FLAC) · 動画(MP4、MOV、AVI、WMV) · 画像(JPG、PNG、GIF、WEBP)
結果の読み取り
- 音声 — 判定結果は
metricsにあります。labelとaggregated_scoreを使用します - 画像 — 判定結果は
image_metricsにあります。labelとscoreを使用します。iflには Invisible Frequency Layer のヒートマップがあります - 動画 — 判定結果は
video_metricsにあり、フレーム/セグメントの結果を階層ツリーで表示します。音声付き動画ではmetricsとvideo_metricsの両方が返されます
レスポンススキーマの全容については、references/api-reference.md を参照してください。
スコアの解釈
| スコア範囲 | 解釈 |
|---|---|
| 0.0 – 0.3 | 本物/実際のメディアであることを強く示しています |
| 0.3 – 0.5 | 判断できません。追加分析を推奨します |
| 0.5 – 0.7 | 合成メディアの可能性が高いため、確認対象として扱います |
| 0.7 – 1.0 | 合成/AI 生成である可能性が非常に高いです |
スコアは必ず文脈を添えて提示してください。「検出スコアは 0.87 で、この音声が AI 生成である可能性が非常に高いことを示しています」と伝え、「偽物です」とだけ伝えることは避けてください。
フェーズ 2:インテリジェンス — メディア分析
メディアに関する、話者情報、感情、文字起こし、翻訳、誤情報、異常などの豊富な構造化インサイトを取得できます。
インテリジェンスを実行する方法は 2 通りあります。
- 検出と組み合わせる —
POST /detectにintelligence: trueを追加します(推奨:1 回の呼び出しで完了します) - 単独で実行する — URL を指定して
POST /intelligenceを実行します(ディープフェイクの判定ではなく、分析だけが必要な場合)
音声・動画の構造化フィールド: speaker_info、language、dialect、emotion、speaking_style、context、message、abnormalities、transcription、translation、misinformation。
画像の構造化フィールド: scene_description、subjects、authenticity_analysis、context_and_setting、abnormalities、misinformation。
検出インテリジェンス — 結果について質問する
検出の完了後、{ "query": "..." } を指定して POST /detects/{detect_uuid}/intelligence を呼び出すと、自然言語で質問できます。質問 UUID が返されます。completed になるまで GET /detects/{detect_uuid}/intelligence/{question_uuid} をポーリングしてください。
提案する質問の例:
- 「検出結果を平易な言葉で要約してください」
- 「これが AI によって生成されたことを示す具体的な指標は何ですか?」
- 「音声と動画の検出結果はどのように異なりますか?」
- 「信頼度はどの程度で、どのような意味がありますか?」
- 「分析に矛盾点はありますか?」
前提条件: 検出の status が "completed" である必要があります。処理中または失敗した検出に対して質問を送信すると、422 が返されます。
パラメーターの詳細については、references/api-reference.md を参照してください。
フェーズ 3:音声ソースの特定
音声が "fake" と判定された場合、どの AI プラットフォームが生成したかを特定します。
POST /detect リクエストで audio_source_tracing: true を設定して有効化します。結果は検出レスポンスの audio_source_tracing.label に表示されます。
既知のラベル:resemble_ai、elevenlabs、real など。モデルの拡張に伴い、ほかのラベルも追加されます。
重要: ソースの特定は "fake" と判定された音声に対してのみ実行されます。実際の音声では、ソース特定の結果は返されません。
単独でクエリするには、GET /audio_source_tracings および GET /audio_source_tracings/{uuid} を使用します。
フェーズ 4:電子透かし
メディアに目に見えない電子透かしを適用して来歴を追跡するか、既存の電子透かしを検出します。
- 適用:
url、任意のstrength(0.0~1.0)、任意のcustom_messageを指定してPOST /watermark/applyを呼び出します。同期レスポンスを取得するにはPrefer: waitを追加するか、GET /watermark/apply/{uuid}/resultをポーリングします。レスポンスにはwatermarked_mediaの URL が含まれます。 - 検出:
urlを指定してPOST /watermark/detectを呼び出します。音声の場合は{ has_watermark, confidence }、画像・動画の場合は{ has_watermark }が返されます。
パラメーターの正確なルールについては、references/api-reference.md を参照してください。
フェーズ 5:アイデンティティ — 話者認証(ベータ版)
音声のアイデンティティプロファイルを作成し、受信した音声と照合します。
ベータ機能 — プレビューに参加する必要があります。アクセスエラーが発生した場合は、ユーザーにその旨を伝えてください。
- プロファイルを作成:
{ audio_url, name }を指定してPOST /identityを呼び出します - 検索:
{ audio_url, top_k }を指定してPOST /identity/searchを呼び出します
レスポンスには、confidence(高いほど一致度が高い)と distance(低いほど一致度が高い)を含む、一致候補の順位付きリストが返されます。
スキーマの詳細については、references/api-reference.md を参照してください。
フェーズ 6:テキスト検出
POST /text_detect を使用して、テキストコンテンツが AI によって生成されたものか、人間が書いたものかを検出します。
ベータ機能 —
detect_beta_userロール、またはdfd_text製品が含まれる請求プランが必要です。
主なパラメーター:
text(必須、最大 100,000 文字)threshold(デフォルト:0.5)privacy_mode: true— 分析後にテキストコンテンツは保存されませんcallback_url— 非同期通知用の Webhook
同期応答には Prefer: wait を指定するか、GET /text_detect/{uuid} をポーリングしてください。応答には prediction("ai" または "human")と confidence(0.0~1.0)が含まれます。
完全なスキーマとコールバック形式については、references/api-reference.md を参照してください。
推奨ワークフロー
メディアの完全なフォレンジック分析(最も徹底的)
包括的に分析するには、すべての機能を組み合わせます。
- すべてのフラグを有効にして検出を送信します。
{ "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を読み取ります - 構造化されたメディア分析について、
intelligence.descriptionを読み取ります - 音声に
"fake"のラベルが付いている場合は、audio_source_tracing.labelでソースプラットフォームを確認します - 不明点があれば、Detect Intelligence で追加の質問をします
- 来歴の確認が重要な場合は、
POST /watermark/detectでウォーターマークを確認します
簡易的な真正性チェック(最速)
- 最小限の検出を送信します:
{ "url": "..." } - 完了するまでポーリングします
labelとaggregated_score(音声の場合)、またはlabelとscore(画像/動画の場合)を確認します- スコアの意味を添えて結果を報告します
来歴確認のワークフロー(コンテンツクリエイター向け)
- 元のコンテンツにウォーターマークを適用します:
POST /watermark/apply - ウォーターマーク付きメディアを配布します
- 後で、任意のコピーに対して
POST /watermark/detectを実行し、来歴を確認します
注意すべき兆候 — 中止して再評価してください
- 検出結果なしに真正性を断定する — 視覚または聴覚による確認だけを根拠に、メディアが本物または偽物だと言ってはいけません
- スコアを無視してラベルだけを報告する — スコア 0.51 の
"fake"ラベルと、スコア 0.95 の場合では意味が大きく異なります - ローカルファイルのパスを API に送信する — API では一般にアクセス可能な HTTPS URL が必要です(テキスト検出には該当しません)
- テキスト検出に 100,000 文字を超えるテキストを送信する — チャンクに分割するか、ユーザーに上限を伝えてください
- 過度に頻繁にポーリングする — 2 秒間隔で開始し、指数関数的に間隔を延ばしてください。1 秒未満の間隔でループしてはいけません
- 検出完了前に Detect Intelligence の質問をする — 422 エラーが発生します
- 「real」の音声でソーストレースが行われると期待する — ソーストレースは
"fake"と判定された音声に対してのみ実行されます - ベータ機能(Identity、Text Detection)を本番環境で利用できる状態だとみなす — ベータ版であることをユーザーに伝えてください
- 機密メディアで
zero_retention_modeを無視する — ユーザーがメディアは機密または非公開だと伝えた場合は、必ずこのフラグを提案してください - フラグを組み合わせられるのに、API を個別に複数回呼び出す — 個別にリクエストするのではなく、検出時に
intelligence: trueとaudio_source_tracing: trueを指定してください
応答の提示に関するガイドライン
ユーザーに結果を提示するときは、次の点に従ってください。
- 判定結果を最初に伝える — 「この検出では、この音声は AI によって生成された可能性が高いと示されています(スコア:0.87)」
- スコアの意味を説明する — 上記のスコア解釈表を使用してください
- 制限事項に触れる — 検出結果は確率的なものであり、絶対的な証明ではありません
- 次に取れる具体的な行動を示す — 必要に応じて、インテリジェンスへの問い合わせ、ソーストレース、またはウォーターマークの確認を提案してください
- 判定が不確定な場合(0.3~0.5) — 結果が不確定であることを明示し、異なるパラメーターでの追加分析または手動確認を推奨してください
- 検出結果を法的証拠として提示しない — 検出結果は分析ツールであり、フォレンジック認証ではありません
エラー処理
| エラー | 原因 | 解決策 |
|---|---|---|
| 400 | リクエスト本文が無効、または url がありません | 必須パラメーターを確認してください |
| 401 | API キーが無効、または指定されていません | RESEMBLE_API_KEY を確認してください |
| 404 | Detection UUID が見つかりません | 作成レスポンスに含まれる UUID を確認してください |
| 422 | Detection が完了していません(Intelligence の場合) | Detection のステータスが completed になるまで待ってください |
| 429 | レート制限に達しました | 待機時間を指数的に延ばしながら再試行してください |
| 500 | サーバーエラーです | 1 回再試行してから、ユーザーに報告してください |
プライバシーとコンプライアンスに関する注意事項
- ゼロ保持モード:
zero_retention_mode: trueを設定すると、分析後にメディアを自動削除します。URL は伏せられ、完了後にmedia_deletedが true に設定されます。 - テキストプライバシーモード:テキスト Detection で
privacy_mode: trueを設定すると、分析後にテキストコンテンツが保存されないようにできます。 - データの取り扱い:メディア URL とテキストコンテンツは、デフォルトで保存されます。GDPR やコンプライアンスに配慮が必要なワークフローでは、ゼロ保持(メディア)またはプライバシーモード(テキスト)を有効にしてください。
- コールバックのセキュリティ:
callback_urlを使用する場合、エンドポイントが HTTPS であり、受信側で認証が行われることを確認してください。