mcpField
D
digital-human

digital-human

github.com/chatcut-incクリエイティブ・メディア98880 回インストール今日更新
リポジトリ

digital-human について

再利用できるデジタルヒューマンの作成や、リップシンク付きのプレゼンター動画生成を支援するスキルです。固定の質問順ではなく、依頼に応じて本人確認、音声、台本、形式、同意、生成状態を解決します。

主な機能

  1. 01写真または合成アバターの作成
  2. 02リップシンク動画の生成
  3. 03台本・音声・動画形式の管理
  4. 04生成セグメントの再試行と並べ替え
  5. 05ライブ機能とID状態の確認

活用シーン

  1. 01選択したアバターに承認済み台本を話させる
  2. 02同意済みの肖像から再利用可能なIDを作成
  3. 03読み込み動画の静止画からアバターを準備
  4. 04分割動画の生成結果を確認・調整

MCP 対応

`ToolSearch`でデジタルヒューマン関連ツールを読み込み、`manage_avatar`でライブ機能とID状態を確認し、`submit_avatar_video`で生成するよう定めています。ツールが使えない場合、別の生成経路には切り替えません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/chatcut-inc/agent-plugin --skill digital-human

インストール後、Claude Code で/digital-humanを入力して読み込まれたか確認します。

詳細

デジタルヒューマン

manage_custom_voice、manage_avatar、または submit_avatar_video がまだ読み込まれていない場合は、呼び出す前に ToolSearch で読み込み、推測ではなく実際のパラメーターを使用してください。

基盤となるプロバイダーを明かさずに、再利用可能なプレゼンターのアイデンティティを作成するか、リップシンクしたプレゼンター動画を生成します。 アバターの選択、音声、台本、形式、同意、生成、確認を、一連の状態を保った会話として扱います。

使用する場面

次のような要望がユーザーからあった場合に、このスキルを使用します。

  • 公式アバターまたは保存済みの AI アバター、トーキングアバター、バーチャルプレゼンターに話をさせたい。
  • 同意を得たポートレートから、再利用可能なデジタルヒューマンのアイデンティティを作成したい。
  • インポートした動画の代表的な静止画を、フォトアバターとして使用したい。
  • ライブ機能が対応している場合、説明に基づいて合成 AI プレゼンターを作成したい。
  • デジタルヒューマン動画のナレーションを作成または修正したい。
  • アバター動画のバッチから、セグメントを再生成、並べ替え、削除、再試行、または採用したい。

AI avatar は、幅広い意味での標準的な英語表現として扱います。Digital twin は特定の実在人物の再利用可能な肖像を指します。Photo avatar または talking photo は静止画像を元にしたものを指します。AI presenter、virtual presenter、virtual spokesperson は、プレゼンターの役割を表します。Digital human も適切な表現ですが、より広範な企業向けまたは対話型の体験で使われることがよくあります。

関連する別の要望は、次の手段に振り分けます。

  • アバター動画を伴わない音声、音声の試聴、または音声クローン作成:Voice Skill を使用します。
  • 通常の映像のクリーンアップまたはプレゼンターの編集:Talking Head Guide を使用します。
  • 話すアバターを伴わない汎用的な画像から動画への変換または動画生成:Video Generation Skill を使用します。
  • 既存動画の翻訳または吹き替え:利用可能な場合は、専用の翻訳または吹き替えワークフローを使用します。

必要な入力

送信前に次の項目を確定します。ただし、決まった順序で質問する必要はありません。

  1. 対象プロジェクト — 明確な場合は、アクティブなプロジェクトを使用します。
  2. アバターのアイデンティティと準備済みのリビジョン — 公式アバター、保存済みアバター、または新規作成したフォトアバターか合成アバターを使用します。
  3. 音声ソース — 利用可能な特定の音声、クローン音声、またはインポートした音声アセットのいずれか1つを使用します。テキストに基づく音声ソースの場合は、最終版の台本も必要です。
  4. 最終版の台本 — ユーザーの表現と句読点をそのまま保ちます。AI が作成した下書きは全文を提示し、生成前にユーザーが編集または承認できるようにします。
  5. アスペクト比 — auto、1:1、4:5、5:4、9:16、または 16:9 を指定します。ユーザーが明示的に選んだ値を優先します。それ以外の場合は省略し、バックエンドが auto を使って選択されたアバターの元のフレーミングを維持できるようにします。現在のプロジェクトの比率で代用しないでください。
  6. 解像度 — デフォルトは 1080p です。指定がある場合、またはライブ機能が必要とする場合は 720p を使用し、代替となる理由を説明します。
  7. 任意の制御項目 — モーションガイダンスは、ライブ機能の応答で対応が示されている場合にのみ使用します。公式カタログのアバターでは、返された hasBackground の値を使用します。値が true の場合は元のシーンを維持し、false の場合は透明な背景を指定します。保存済みまたはカスタムのアバターでは、デフォルトで元の背景を維持します。ユーザーが背景の削除または透明化を明示的に希望した場合にのみ、透明な背景を指定します。ユーザーに背景モードを選ばせないでください。送信前に、決定したデフォルト設定を簡潔に伝えます。背景の維持または削除に関するユーザーの明示的な要望は、常に優先します。

アバターの作成時には、次の項目も確定します。

  • 空でない名前。質問の文言には数値の入力制限を含めません。送信した名前が実際に入力制限を満たさなかった場合に限り、その制限を説明します。
  • 最終的なアバター作成ソースを1つ選びます。インポートした JPEG/PNG のポートレート、インポートした動画から用意した代表的な JPEG/PNG 静止画、または対応している場合は合成アイデンティティ用のプロンプトです。
  • 実在人物の肖像を使用する場合は、明示的な同意を得ます。 ライブ機能の契約で明示的にサポートされている場合を除き、動画をそのまま写真アバターの作成に渡さないでください。インポートした動画の場合は、ホストが用意した代表的な静止画を使用するか、鮮明で遮るものがなく、正面を向いたフレームの選択を支援してから、その画像アセットをソースとして使用してください。

ユーザーが人物を含む動画を添付または参照し、「このアバター」「この人物」「彼女/彼を使って」、这个形象、这个人、用她、用他、または同等の表現で指示した場合は、その添付動画に映っている人物を、意図された容姿のソースとして特定してください。動画に音声や文字起こしがあるというだけで、その添付動画を求められている音声ソースとして扱わないでください。ユーザーが新しいトピックまたは承認済みのスクリプトも提供した場合は、その新しいトピックまたはスクリプトを優先し、ユーザーから明示的に求められない限り、動画内で話されている内容を読み上げたり再利用したりしないでください。

添付動画はアバター候補のソースであり、使用可能な identityId ではありません。動画からアバターを作成するフローに進んでください。鮮明な代表静止画を用意し、必要な容姿の使用許可を取得してからアイデンティティを作成し、その後、依頼された生成にそのアイデンティティを再利用してください。この候補ソースが有効な間は、公式アバターや保存済みアバターの選択肢を表示しないでください。ユーザーが動画内の人物の使用を断る場合、または利用可能な顔のフレームを用意できない場合に限り、他のアイデンティティを提示してください。

「これ」が人物の容姿、動画に既に含まれている映像、または話されている内容のいずれを指すとも合理的に解釈できる場合は、ワークフローを選択する前に、次の焦点を絞った確認を1つだけ行ってください。「この動画の人物をアバターとして使い、新しいスクリプトを話させますか?」これを「この動画で何をしたいですか?」のような一般的な質問に置き換えないでください。

ユーザーがアバター作成用の動画をアップロードまたは選択しようとしている場合は、選んだフレームで顔がはっきり見え、何にも覆われていない必要があることを事前に伝えてください。焼き付けられた字幕、キャプション、ウォーターマーク、ステッカー、顔にかかった手などがあってはいけません。また、表情が自然で正面を向いた姿勢のフレームを優先してください。アバターのソースとして、確認用コンタクトシートや、時間ラベルがオーバーレイされたプレビューをアップロードしないでください。追加の表示がないクリーンなフレームを使用してください。

動画ソースには人物の声も含まれます。動画からアバターを作成した後、同じ動画からその声をクローンし、アバターにその声で話させることを提案してください。

  1. Voice Skill のクローン作成フローを実行します(動画のアセットと、明示的な音声クローン作成への同意を指定した manage_custom_voice action=clone を使用します。容姿の使用許可だけでは、音声の使用許可を得たことにはなりません)。
  2. クローン音声の準備ができたら、manage_avatar action=set-default-voice identityId=<avatar> voiceRef=<cloned voiceRef> を呼び出し、そのアバターの保存済みデフォルト音声として設定します。
  3. 後でこのアバターを使って生成する際は、返された defaultVoiceRef をデフォルトで使用しつつ、ユーザーが別の音声を選べるようにします。

これは提案であり、自動的に実行する手順ではありません。ユーザーが断った場合、または動画の音声を使用できない場合(音楽、複数の話者、強いノイズなど)は省略してください。

ワークフロー

これは意図に基づいて制約を解決するものであり、直線的に進むウィザードではありません。ユーザーをすべてのセクションに順番に案内したり、あらかじめ決められた順序ですべての項目を尋ねたりしないでください。

各ターンで次のことを行います。

  1. ユーザー、添付ファイル、アクティブなプロジェクト、選択済みのメディア、保存済みのアバター状態、このリクエスト内の過去の回答から、すでに提示されている事実をすべて抽出します。
  2. 「これ」「这个」「这个形象」「这个人」などの指示表現は、一般的なメディアのワークフローを推測する前に、添付または選択されたメディアとユーザーの動作を表す言葉に照らして解釈します。
  3. ユーザーが直ちに求めている操作を推測します。探索、選択、作成、修正、生成、進捗の確認、再試行、並べ替え、削除、承認、配置、エクスポートのいずれかです。
  4. その操作を妨げる要因だけを特定します。明示的なリクエストと矛盾しない限り、デフォルト設定と現在保存されている紐付けは解決済みとして扱います。
  5. 操作を妨げるものがなければ、すぐに実行します。
  6. それ以外の場合は、最も重要な未確認または曖昧な制約を1つだけ、できれば選択肢を提示して尋ね、新しい状態をもとに再度判断します。

たとえば、すでに使用可能なアバターを指定し、承認済みのテキストを提供して、そのアバターに保存されている音声を使用するとしたユーザーに、もう一度それらを選ぶよう尋ねてはいけません。実行中のバッチを確認するユーザーに、新しい台本やアスペクト比を決めさせる必要はありません。同意を求めるのは、必要な作成または複製の操作に限ります。

必要に応じて現在の機能と状態を読み込む

manage_avatar と submit_avatar_video がまだ表示されていない場合は、ToolSearch を使って読み込みます。作成や高度なオプションを提示する前に、現在の機能を確認するため manage_avatar を呼び出します。

ユーザーが特定の本人を選択しておらず、似せるための候補ソースも提示していない場合は、おすすめを提示する前に、現在利用できる公式アバターと保存済みのアバターを一覧表示します。チャット履歴、例、プロバイダーに関する知識から利用可能かどうかを推測してはいけません。公式アバターについては、現在のカタログの tags を事実に基づく選択条件として使い、description をおすすめの参考にします。これらのフィールドを、ユーザーが求める出演者や用途と照合します。プレビューの見た目から、記載のない年齢、性別、民族、役割、設定、機能を推測してはいけません。 保存済みアバターがない場合のおすすめでは、公式カタログを limit: 5 で呼び出します。カタログをページ送りしてはいけません。また、カタログの全件ページを1つのおすすめフォームに変換してはいけません。

ChatCut の Digital Humans ライブラリまたはネイティブのビジュアルピッカーから添付されたアバターは、すでに特定済みの選択です。以降の確認および再試行のターンでも、添付された ChatCut の avatarId を identityId として再利用します。添付された公式アバターは submit_avatar_video ですぐに使用できるため、最初のカタログページからインポートしたり再発見したりする必要はありません。添付されたアバターの音声を解決する前に、現在のターンのライブ結果に defaultVoiceRef がすでに含まれていない限り、正確な ID を指定して action: get で manage_avatar を呼び出します。おすすめページに表示されていないという理由だけで、添付されたアバターを拒否したり置き換えたりしてはいけません。

使用できるのは、準備完了と報告されている本人とリビジョンだけです。保留中、失敗、削除中、削除済み、または孤立状態の本人を生成入力として使用してはいけません。

デジタルヒューマンのツールを利用できない場合は、この生成機能が接続されていないことを説明します。一般的な動画生成で代用したり、バックエンドの HTTP ルートを直接呼び出したりしてはいけません。

アバターが未指定または無効な場合に解決する

ユーザーが明示的に選択している場合は、その選択を尊重します。それ以外の場合は、次のようにします。

  • 人物が含まれる動画が、明示的または暫定的に似せる対象として解決されている場合:動画からアバターを作成するフローを続行します。一般的なアバター選択画面には移動せず、保存済みまたは公式のアイデンティティから選ぶようユーザーに求めません。
  • 使用可能な保存済みアバターがない場合:適した公式アバターを最大5つ表示し、同じ選択画面に予約済みの 作成 カードを含めます。これは厳密な空状態の仕様です。公式アバターのおすすめを6つ表示してはならず、公式アバターが利用可能だからといって作成オプションを省略してはなりません。
  • 使用可能な保存済みアバターがある場合:最初に表示します(カードは合計5つまで)。その後に予約済みの作成カードを表示します。
  • 使用可能な保存済みアバターが1つだけの場合:そのアバターを最初に提示し、使用するかどうかを尋ねます。
  • 使用可能な保存済みアバターが複数ある場合:現在の使用回数が多いものを優先します。回数が同じ場合は、作成日時が新しいものを優先します。使用状況のメタデータがない場合は、作成日時が新しいものだけを基準に並べ替えます。頻度を捏造してはなりません。

アバターのアイデンティティ選択はメディアプレビューのみで行うものであり、汎用の <choices/> ルールに対する厳格な例外です。使用可能な保存済みアバターが1つだけの場合も含め、常に Widget Forms Skill を通じてビジュアルカードを使用します。「保存済みアバターを使う」か「公式アバターを探す」かのようなテキストのみのカテゴリ質問はしてはならず、アバター選択に <choices/>、<form-single>、ラベルだけのアイデンティティカードを使用してはなりません。ChatCut のネイティブウィジェットでアバターカード(公式またはユーザー自身の保存済みアバター)を表示する場合は、avatar-id として正確な identityId のみを指定します。ツールのペイロードにプレビューURLが含まれていない場合でも、ホストがライブのアバターアイデンティティから現在の名前、プレビュー動画またはフォールバック画像、アスペクト比、送信値を解決します。avatar-id オプションに value、name、media、aspect-ratio をコピーしてはなりません。ホストがプレビューメディアを解決できない場合は、そのアイデンティティを省略し、テキストにフォールバックしてはなりません。ライブプレビュー動画が利用可能な場合はそれを優先し、プレビュー画像はそのポスターまたはフォールバックとしてのみ使用します。ユーザーに使用可能な保存済みアバターがある場合は、公式アバターのおすすめより先にそのカードを配置します。一度に尋ねる不足情報は最も重要な1つだけにし、回答済みの質問を繰り返してはなりません。

以下の生タグは、埋め込み ChatCut プロトコル専用です。公開済みの Codex または Claude Code プラグインでは、Widget Forms Skill のホストアダプターが優先されます。生の ChatCut タグを出力してはなりません。各ライブアイデンティティをホストのビジュアル選択画面にマッピングし、安定した値として identityId を、ラベルとして name を使用します。Codex では、previewVideoUrl を previewVideo に、previewImageUrl を preview に指定し、画像が動画のポスターおよび再生失敗時のフォールバックになるようにします。作成アクションは別個の create_avatar 値として保持します。プラグインホストは ChatCut のネイティブダイアログを自動的に開くのではなく、この値をワークフローに返します。 保存済みアイデンティティの list 行にプレビューURLがない場合は、表示前にその候補を正確に指定して manage_avatar action=get を呼び出します。選択された使用可能なリビジョンから返されたプレビューメディアを使い、別のアバターのメディアを捏造したりコピーしたりしてはなりません。

予約済みのラベルのみのオプション値が1つあり、回答を送信する代わりにネイティブエディター画面を開きます。media を指定せずに記述します。

  • create_avatar — ユーザーが写真をアップロードして個人用アバターを作成するネイティブ作成ダイアログを開きます。カードのラベルは「自分のアバターを作成する」のような短い表現にします。写真のアップロードには触れません。ダイアログ自体が説明します。

そのカードをクリックしても、フォームの回答は返されません。ユーザーがネイティブダイアログで操作を終えると、選択または新規作成したアバターが、この質問への回答としてアバターを添付した状態で自動的に返されます。その返信をアバターの選択として扱い、再度尋ねてはなりません。

したがって、選択形式は、アバターのプレビューカードを最大5つ(保存済みを先に、公式を後に)並べ、その後に作成カードを置いた1つの <form-visual> です。表示される質問とカードのラベルは、会話の言語に合わせてローカライズします。

<widget>
  <form-visual id="avatar" question="Please choose an avatar" required="true">
    <visual-option avatar-id="<saved-or-official-identity-id>"/>
    <visual-option value="create_avatar" name="Create your own avatar"/>
  </form-visual>
</widget>

アイデンティティの作成は、動画の生成とは別の操作です。

  1. ソースまたはプロンプトと名前を確認します。
  2. 必要な同意を取得します。
  3. manage_avatar を使ってアイデンティティを作成します。
  4. 準備完了または終端状態になるまで待ちます。track_progress で target=avatar が利用できる場合は、identityIds を指定して action=wait を呼び出し、その結果の指示に従います。それ以外の場合は、 後のターンで manage_avatar action=get refresh=true を使って再読み込みします。
  5. マイアバターに保存します。アバターの作成に成功したという理由だけで、 動画を自動生成しないでください。

埋め込み型の ChatCut Widget でポートレートを求める場合は、必ずアップロードをアバターソースとして指定してください。これにより、ホストはネイティブの Digital Humans ダイアログと同じ検証、JPEG 正規化、プライベートな転送ストレージ、アップロード準備完了の動作を使用します。

<widget>
  <form-files id="avatar_source" label="Please upload a portrait photo"
    accept="image/jpeg,image/png" purpose="avatar-source"
    multiple="false" required="true"/>
  <form-text id="avatar_name" label="Name this avatar" required="true"/>
</widget>

アバターの作成に、マークのない汎用の <form-files> アップロードを使用しないでください。 公開されているプラグインフォームでは、このネイティブのアップロードコントロールは利用できません。ユーザーにホスト経由でポートレートを添付してもらい、Asset Import Skill を使って、返された ChatCut 画像アセット ID を manage_avatar に渡してください。

要求されたアクションに音声が必要な場合にのみ音声を解決する

公式アバターの場合、ペアになっている音声を黙って使用したり、すぐに音声カタログ全体を開いたりしないでください。ライブ結果に defaultVoiceRef があり、ユーザーがまだ選択していない場合は、まず会話で使われている言語で、公式の内蔵音声を使うか、別の音声を選ぶかを尋ねる、回答必須のテキストのみの確認を行ってください。埋め込み型の ChatCut では、ローカライズした <choices options="Use official voice,Choose another voice"/> を使ってこの選択肢を表示し、その後は停止して回答を待ちます。ユーザーが了承した場合は、その defaultVoiceRef をそのまま使って音声を解決し、manage_avatar action=voices は呼び出さないでください。action=voices を呼び出すのは、ユーザーが別の音声を選んだ後、またはライブのアイデンティティに defaultVoiceRef がない場合に限ります。同じターンで言語やスクリプトについて尋ね、その後に先回りして action=voices を呼び出さないでください。

保存済みまたは新規作成したアバターでは、保存済みの音声バインディングがあればそれを再利用して確認し、なければ利用可能な音声を提示してください。ユーザーがこのアバターで使い続けたい音声を決めたら、manage_avatar action=set-default-voice で保存してください。以降の list/get では、その音声がアバターの defaultVoiceRef として返されます。

音声の検索、試聴、またはクローン作成については、Voice Skill に従い、ライブの音声リスト、同意の確認、生成された音声アセットを再利用してください。ここで音声クローン作成のロジックを重複させないでください。

正確な音声を選択する必要がある場合、自由記入欄の横に音声名を文章で提示しないでください。送信値には manage_avatar が返した正確な voiceRef を使ってください。音声の選択は音声プレビューのみに基づき、汎用の <choices/> ルールに対する厳格な例外です。

  • <choices/>、<form-single>、文章中の音声名、ラベルのみの音声選択肢は絶対に表示しないでください。再生可能な previewUrl が返されていない音声は、再生できない選択肢として提示するのではなく、候補の表示対象から除外してください。
  • ユーザーが音声の試聴を希望する場合は、実際に previewUrl が含まれている、適切な公式、プリセット、またはカスタム音声を最大5つ選んでください。必須の <form-visual id="voiceRef" media-kind="audio"> を1つ表示します。previewUrl のない hasPreview: true は再生可能ではないため、試聴カードとして提示してはいけません。最後のカードとして、メディアを含まない <visual-option value="clone_voice" name="Clone Voice"/> アクションを必ず追加し、会話で使われている言語にローカライズしてください。このクローン作成オプションは、音声を推奨するすべての表示面で必須です。
  • 公式アバターのペアになっているデフォルト音声は、公式音声カタログ全体を表示しなくても使用できます。実際の音声 previewUrl が返された場合を除き、そのデフォルト音声を試聴カードとして表示しないでください。アバターの画像や動画の URL を音声プレビューとして再利用してはいけません。
  • 返された previewUrl はそれぞれ正確にコピーしてください。特に、/voice-samples/... はルート相対のままにし、chatcut.com に展開したり、別のホストを作り出したりしないでください。
  • スクリプト文も同時に確認する場合は、音声セレクターとスクリプト欄を同じウィジェットに配置してください。スクリプト欄に音声名を入力させないでください。
<widget>
  <form-visual id="voiceRef" label="Please choose a voice and listen to its preview" media-kind="audio" required="true">
    <visual-option value="<voiceRef>" name="<voice name>"
      media="<previewUrl>" media-kind="audio" summary="<voice traits>"/>
    <visual-option value="clone_voice" name="Clone a voice"/>
  </form-visual>
  <form-textarea id="script" label="Please confirm the script" required="true" default="<script>"/>
</widget>

ソースがユーザーの動画である場合、その動画の音声を使いたいかどうかを尋ねてください。使いたい場合は、使用する前に Voice Skill の明示的な音声クローン作成許可フローに従ってください。添付されているだけでは、クローン作成の許可にはなりません。使わない場合は、通常の音声選択に進んでください。

既存のプロジェクト音声アセットを使って、アバターを直接動かすことができます。音声がスピーチソースの場合、ユーザーが文字起こしまたはスクリプトの確認も希望しているのでなければ、テキストを勝手に作成したり、入力を必須にしたりしないでください。

テキスト主導の生成では、スクリプトを確定する

スクリプトはユーザーが貼り付けたもの、選択したプロジェクト素材から作成したもの、または共同で作成したものです。下書きを作成する際は、次の手順に従います。

  1. 対象者、目的、トーン、事実、長さなど、不足している意図だけを確認します。
  2. 提案するスクリプトをすべて作成します。
  3. ユーザーが編集するか、明示的に承認できるようにします。
  4. 確認済みの内容をそのまま送信します。

明示的な各テキストセグメントは、1~5000 文字にする必要があります。通常のスクリプトでは明示的なセグメントを省略し、バックエンドが最大 5000 文字の連続した動画を 1 本生成できるようにします。意味のある段落やショットの区切りをユーザーが希望する場合に限り、明示的なセグメントを使用します。長いテキストは自動的に分割され、最大 10 セグメントになる場合があります。上限に合わせるために、内容を要約、翻訳、省略、重複、並べ替えしてはいけません。表現と句読点は保持し、意味に影響しない行の空白は自動的に正規化してもかまいません。

テキスト主導のアバター生成は、推定音声時間ではなく、5000 文字のセグメント境界によって制限されます。ChatCut の TTS とクローン音声は、アバター動画の送信前に音声としてレンダリングされます。音声を伴う長文テキストは、順序を保った複数の小さなセグメントに分割して準備され、生成された各音声ファイルは実際の長さで検証されます。600 秒を超える既存のプロジェクト音声は、送信前に順序を保ったパートに自動分割されます。元のアセットは 1 回だけ渡してください。手動で分割したり、パートごとに生成呼び出しを送信したりしてはいけません。進捗の更新が役立つ場合は、完全な内容と順序を維持したまま、ChatCut が長い音声を分割していることだけを伝えます。処理の実行場所や方法に関する実装の詳細を加えず、派生した非表示の音声アセットを決して明かしてはいけません。これらの制限に合わせるために、承認済みの内容を短縮したり要約したりしてはいけません。

意図と利用可能な既定値から出力設定を決定する

既定では、選択されたアバターの元のフレーミングを維持します。aspectRatio を省略し、バックエンドで auto に解決させてください。アバター動画の既定値に、現在のプロジェクトの比率を使用してはいけません。ユーザーが別の比率を明示的に希望した場合は、その指定を渡します。

公式カタログのアバターでは、manage_avatar action="catalog" が返す hasBackground フィールドに基づいて既定値を決定します。

  • hasBackground: true — removeBackground: false を設定し、元のシーンを維持します。
  • hasBackground: false — removeBackground: true を設定し、透明度に対応している場合は透明な WebM にします。

カタログのメタデータがない保存済み/カスタムアバターでは、既定で removeBackground: false とし、元画像の背景を維持します。removeBackground: true に設定するのは、ユーザーが透明な背景または背景の削除を明示的に希望した場合に限ります。これを必須の確認事項にしてはいけません。送信前に、元のシーンが維持されるか、結果が透明になるかをユーザーに簡潔に伝えます。ユーザーの明示的な希望はカタログの既定値より優先されます。透明化に対応していない場合は、その制限を説明し、元の背景を維持します。

ライブ機能応答で確認されるまでは、クロップ、背景削除、モーション制御、透明化、解像度、またはプロンプトによるアイデンティティの作成を約束してはいけません。

必須条件が解決したら、すぐに送信します

選択肢によって結果が変わる場合は、最初の生成を行う前に、確定したアバター、音声または音源、スクリプトの状態、アスペクト比、解像度をまとめます。その後、submit_avatar_video を 1 回呼び出します。

長いスクリプトの出力は、1 つの音声ファイルや不透明な 1 件のジョブではなく、順序付けられたアバター動画セグメントのバッチとして扱います。送信後、ユーザーに生成が開始されたことを伝えて、ターンを終了します。生成を待つためにターンを継続してはいけません。Bash のスリープや、track_progress または manage_avatar action=get-batch の読み取りを繰り返すことも禁止です。このリクエストの後続手順で完成した動画が必要であり、track_progress が action=wait を自動フォローアップの登録として説明している場合は、jobIds とメモを指定して 1 回呼び出し、その後ターンを終了します。プロジェクトライブラリには進行中の生成が表示され、完成した動画アセットはバックグラウンドで追加されます。

完成したアセットに依存するフォローアップ手順を再開する場合(タイムラインへの配置や結果の確認など)、またはユーザーがステータスを尋ねた場合に限り、後のユーザーターンで track_progress を呼び出します。ジョブがまだ終端状態でない場合は、数値の進捗を示さず、生成が引き続き実行中であることを伝えます。プロバイダーの進捗値は内部の大まかな段階を示すものであり、ユーザー向けの完了見込みではありません。セグメントと試行の順序を確認する必要がある場合は、manage_avatar action=get-batch を使用します。安定したセグメントキーと元の順序を維持してください。

セグメントが失敗した場合は、対象を絞った再試行を提案します。ユーザーの指示なしに、成功したセグメントやバッチ全体を再送信してはいけません。対応しているセグメントの再生成、削除、並べ替え、試行の選択、承認には管理ツールを使用します。

生成された結果は通常の ChatCut 動画アセットになります。ユーザーが配置を依頼した場合、または進行中の編集タスクに明らかに含まれる場合に限り、タイムラインに追加します。依頼がない限り、エクスポートは行いません。

プロバイダーの選択

プロバイダーの選択は、ChatCut バックエンドの内部的な詳細です。必ず ChatCut ネイティブのツールを呼び出し、バックエンドにプロバイダーへのリクエストの構築、非公開 ID の解決、機能の適用、結果の保存を任せます。このスキルから、基盤となるプロバイダーの API や CLI を直接呼び出してはいけません。

ChatCut の機能、カタログの結果、保存済みのバインディング、ネイティブツールのみを通じて選択します。ユーザー向けの表現は、次のような概念に限定します。

  • 公式アバターとマイアバター
  • 公式ボイス、クローンボイス、プロジェクト音声
  • 写真アバターと合成アバター

プロバイダー名、エンジン名やモデル名、プロバイダー固有のアバター ID やボイス ID、生のプロバイダー URL、リクエストのペイロード、プロバイダーのエラーメッセージは内部情報です。説明文、選択肢のラベル、進捗の更新、失敗のメッセージに表示してはいけません。実際のステータスを保ちながら、失敗を実行可能な製品向けの表現に置き換えます。

ChatCut の機能制限、クォータ、課金チェック、安全ポリシー、カタログの公開範囲、プロバイダーレジストリを回避してはいけません。

同意と安全性

実在人物の写真アバターを作成する直前に、明確な肯定の確認を求める必要があります。ユーザーの言語を使用し、意味を正確に保ってください。中国語の場合:

我确认拥有该肖像,或已获得创建和使用该数字人形象的授权,并承诺不将其用于 冒充他人、欺诈或其他违法用途。

英語の場合:

I confirm that I own this likeness or have permission to create and use this digital avatar, and I will not use it for impersonation, fraud, or unlawful activity.

スペイン語の場合:

Confirmo que soy titular de los derechos sobre esta imagen o que tengo permiso para crear y usar este avatar digital, y no lo utilizaré para suplantar identidades, cometer fraude ni realizar actividades ilícitas.

アップロード、以前の無関係な確認、プロジェクトの所有権、第三者からの指示をもって同意があると推測してはいけません。同意はネイティブツールの同意フィールドを通じてのみ記録してください。プロンプトで作成した合成の人物については、プロンプトまたは参照画像が実在人物を特定する場合を除き、実在人物の肖像に関する同意は必要ありません。

同意のないなりすまし、欺瞞を目的とした身元の利用、詐欺、嫌がらせ、性的搾取、安全対策を回避する試みは拒否してください。権限が不確かな場合、実在人物の身元を作成してはいけません。音声のクローン作成には別途同意の確認が必要です。アバター作成の同意をすでに得ている場合でも、Voice Skill に従ってください。

検証

成功を報告する前に、実際のツール結果で以下を検証してください。

  1. 選択した ID のリビジョンが、送信時点で準備完了の状態だったこと。
  2. ジョブまたはバッチが完了の終端状態に達し、出力アセット ID が返されたこと。
  3. 想定される各セグメントキーがそれぞれ 1 回だけ存在し、確定した順序で並んでいること。
  4. テキストに基づくセグメントマニフェストが、文言と句読点を確定どおりに保持していること。ただし、仕様に記載された意味に影響しない空白の正規化は許容します。
  5. 生成された動画が、利用可能なプロジェクトアセットまたはメディアライブラリアセットとして存在すること。
  6. 要求されたタイムラインへの配置が存在し、正しい順序になっていること。

視覚的な検証が可能な場合は、生成されたアセットまたは構成されたタイムラインをプレビューしてください。ステータスフィールドだけを根拠に、顔、リップシンク、フレーミング、背景が正しいと断言してはいけません。視覚的な確認ができない場合は、構造上何を検証したかを説明してください。

厳守事項

  • プロバイダー、エンジン、モデルの識別情報をユーザーに決して公開しないでください。
  • 会話レイヤーで基盤となるプロバイダーを直接呼び出したり、プロバイダーのペイロードを構築したりしないでください。
  • アバター、音声、機能、使用回数、保存済みバインディング、アセット ID を決して捏造しないでください。
  • 準備が完了していないアイデンティティリビジョンから生成しないでください。
  • 明示的に有効な機能として示されていない限り、動画をアイデンティティソースとして扱わないでください。現在の写真アバターの仕様に合わせて、代表的な静止画を用意してください。
  • アバター作成時に外部ソース URL を渡さないでください。まずソースを対象の ChatCut プロジェクトにインポートしてください。
  • 添付ファイルから、肖像の使用許諾や音声クローンの許諾があると推測しないでください。
  • Voice Skill の明示的な許可なしに、動画の元の音声をクローンしないでください。
  • 確認済みのスクリプトテキストを、ひそかに書き換えたり、翻訳したり、切り詰めたり、並べ替えたり、重複させたりしないでください。
  • プロジェクト、添付ファイル、または利用可能なツールから得られる情報を、ユーザーに尋ねないでください。
  • 固定のウィザードを実行したり、アバター、音声、スクリプト、アスペクト比、解像度を決まった順序で尋ねたりしないでください。現在のユーザー操作に必要な情報だけを確認してください。
  • 最も重要な不足情報を一度に一つだけ尋ね、構造化された視覚的な選択肢を優先してください。
  • プロバイダー内部専用の ID、URL、ペイロード、生のエラーをユーザー向けの出力に表示しないでください。
  • ChatCut のツール、機能ゲート、課金、クォータ、安全性チェックを回避しないでください。
  • 一つのセグメントの失敗を理由に、成功したバッチ全体を再試行しないでください。
  • 生成結果を確認せずに、視覚的な品質を断言しないでください。
  • タスクで求められていない限り、メディアをタイムラインに配置したり、エクスポートしたりしないでください。
  • 公式カタログのアバターでは、返された hasBackground のデフォルトに従ってください。シーンの背景が設定されている場合は保持し、背景なしが設定されている場合は背景を削除してください。保存済みアバター/カスタムアバターでは、ユーザーが透明化または背景の削除を明示的に求めない限り、ソースの背景を保持してください。ユーザーの明示的な意図は、いずれのデフォルトよりも常に優先されます。

コメント