Communitygithub.com

shaharsha/アニメエピソード制作

ナレーションや音声付きの縦型アニメーション動画を制作するスキル。写真、チャットのエクスポート、ストーリー案、脚本から、繰り返し登場するキャラクターを用いたアニメ・漫画・コメディエピソード、グループチャット向けショート動画、友人・家族・クラス・チームに関するストーリー動画を、任意のビジュアルスタイル(ヘブライ語RTL/英語)で制作します。字幕やカードが速すぎて読めない、音楽が途中で止まる、エンディングが切れる、セリフが音楽に埋もれる、口の動きが合わない、セリフの前にジェスチャーがある、などの問題も解決します。

アニメエピソード制作 とは?

このスキルは、縦型・音声付き・字幕付きのアニメーションエピソードを制作するための完全なパイプラインを提供します。キャラクターアート、パネル、クローン音声またはライブラリ音声、音楽、画像から動画へのクリップ、リップシンクを統合し、実際のダイアログ音声から各ショットのタイミングを計算するエンジンがすべてを制御します。プロジェクト全体は単一の `episode.json` に保存され、`engine/episode.py` が全フェーズを実行します。Claude Code や Cursor などのAIエージェント向けに設計されており、手動編集スクリプトを作成する代わりにこのエンジンを使用することを前提としています。オーディオがマスターであり、ショットの長さ、字幕のタイミング、リップシンクのパーツはすべて完成したダイアログファイルから取得されます。料金は各フェーズごとに見積もりが可能で、人間の確認(ゲート)が各段階で介入します。

対応~Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/shaharsha/claude-skills/tree/HEAD/skills/producing-animated-episodes

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

アニメエピソード制作 は何をしますか?

概要

縦型・音声付き・字幕付きのアニメーションエピソード:キャラクターアート、パネル、クローンまたはライブラリ音声、音楽、画像から動画へのクリップ、リップシンク。これらを実際のダイアログ音声から各ショットのタイミングを計算するエンジンがカットします。プロジェクト全体は単一の episode.json に保存され、engine/episode.py がすべてのフェーズを実行します。兄弟スキルがプロバイダー作業を行います。

エンジンを使用してください。独自の編集スクリプトを作成しないでください。 タイムライン、オーバーレイ、字幕、右から左へのテキスト、ミックス、持続時間、リップシンク結合はすでに engine/ に含まれています。実際の3.5分のエピソードを再構築して証明済みです:同一フレーム、同一オーディオ、そして元のエピソードが逃していた正確な長さ。手書きの編集では references/troubleshooting.md のすべてのバグを再発見することになります。

オーディオがマスターです。 ショットの長さ、字幕のタイミング、リップシンクのパーツはすべて完成したダイアログファイルから取得されます。テキストからタイミングを推定しないでください。

あなたは見たり聞いたりできません。 フレーム、持続時間、数値をチェックします。人間が似顔絵、声、発音、タイミング、ジョークを判断します。彼らのゲート(確認ポイント)を計画し、守ってください。

必要条件:

  • このスキルの隣に以下のスキルが必要:image-generation、elevenlabs-tts、generating-video-clips。
  • Python 3 と pip install -r <this-skill-dir>/requirements.txt(RAQMでビルドされたPillow、numpy;OpenCVはオプション)。
  • ffmpeg 7 以降。
  • フォント:スタイルと字幕はフォントキー(例では bold、hblack、black)を名前に使用し、fonts がインストール済みの .ttf ファイルにマッピングします。ヘブライ語とラテン語には、Rubik と Heebo(無料、Google Fonts)が適しています;check は欠落している場合にブロックします。
  • 環境変数にキーを設定し、エンジンを実行するすべてのシェルで設定します:OPENAI_IMAGE_API_KEY、ELEVENLABS_API_KEY、GEMINI_API_KEY、FAL_KEY。

APIコールなしでパイプライン全体を確認するには、python3 <this-skill-dir>/engine/episode.py /tmp demo を実行し、作成されたデモプロジェクトで check と build を実行します。

パイプラインとそのゲート(確認ポイント)

各ゲートは停止点です:アーティファクトを送信し、質問し、待ちます。コマンドは python3 <this-skill-dir>/engine/episode.py PROJECT <command> です。費用は2026年10月時点のものです。

#フェーズコマンドゲート(人間)費用
1ストーリーと脚本templates/script.template.md からの script.md脚本、およびすべてのセンシティブな話題-
2キャラクター設定書templates/characters.template.md、次に episode.json の characters--
3顔、カード、昇格chars face、chars card key=face.png、chars final keysすべてのカードを1枚のシートで見た似顔絵キャラクターあたり約$0.30
4パネルpanels draft、次に panels final idsすべてのパネルをシートで確認パネルあたり約$0.30
5音声音声ごとに1サンプル(elevenlabs-tts)バッチ前に耳で全ての音声を確認セント単位
6セリフlinesタイムスタンプ付きで耳でセットを確認;名前A/Bセントから数ドル
7音楽と効果音sound音楽セント
8アニマティックbuild(クリップなし:カメラ移動付き静止画)動画費用が発生する前にペースと順序を確認無料
9アニメーションanimate、シート、animate S --takes 2 + animate pick S K で再テイク動作をシートで確認クリップ1秒あたり約$0.10、テイクごと
10リップシンクlipsync prep、設定内の顔ポイント、lipsync runフレームをスポットチェック1秒あたり約$0.13
11編集と納品build、sheet、deliver人間がmp4を視聴無料

各フェーズのコマンド、入力、出力、障害処理:references/pipeline.md。

脚本の書き方

有効だったルール(詳細と実例:references/script-writing.md):

  • 最初の3〜4秒でフック(問題のコールドオープン)、その後にタイトル。30秒未満の場合は、タイトルとエンドカードをストーリーショットのオーバーレイとして配置し、モンタージュは省略します。
  • すべてのレギュラーキャラクターが少なくとも1回は話す。 イントロモンタージュで、各キャラクターが自分の声で約1.2〜1.5秒で一言ずつ話すのは安価で好まれます。
  • 画面内のテキストは読みやすく: 約0.8秒+1文字あたり0.06秒;短いカードは1.2〜1.5秒;最終キャプションは4〜6秒。カードには mindur を設定します。
  • 伏線は早めに張り、回収する。 グループの実際の内輪ネタへのコールバックが最も効果的です。
  • センシティブな話題はユーザーの判断に委ねる。 使用したい個人情報(健康、金銭、人間関係、家族、喧嘩)をすべてリストアップし、それぞれについて質問し、確認されたものだけを使用します。
  • セリフは12語以下、数字は言葉で表記。 画面上のテキストは通常のスペルを維持;発音修正は pronounce に記述します。
  • ナレーションでも音楽と効果音を。 少なくとも1つの音楽ベッドと数個の効果音(カット時のウィッシュ、暴露時のヒット);無音のベッドは未完成に聞こえます。

エピソード.json を一目で

templates/episode.example.json は完全な小規模エピソードです;すべてのキーは references/config-schema.md にあります。最も頻繁に編集する部分:

  • characters:表示名、色、音声、およびキャラクター設定書からのプロンプトフィールド。
  • speakers:描画されない音声(ナレーターなど)({"display": null, "voice": "<id>"} は名前なしで字幕を表示します)。
  • lines:ID、話者、オーディオタグ付きテキスト;1語のセリフに trim と level。
  • shots:画像、セリフ("[email protected]" は前のセリフと重なる)、パッド、mindur、カメラ、fx、sfx、オーバーレイ、クリップオフセットと速度。
  • music_cues:[cue, from shot, to shot, volume, offset]。キューがそのウィンドウより短い場合、ビルドが警告します。
  • lipsync:どのショット、どのセリフをスキップするか、パーツごとに1つの顔ポイント。
  • prompts:異なる外観(3Dカートゥーン、水彩、フォトリアル)のために char_style と panel_style を上書きします。

ビルドとレビュー

  • 修正はまとめて行う。 フルビルドには数分かかります。レビューラウンドからのすべてのノート(セリフのテイク、パッド、クリップオフセット)を収集し、すべてを適用してから一度だけ再ビルドします。
  • セグメントはキャッシュされ追跡されます。 build は、入力が変更されたショットのみを再レンダリングします:新しいクリップやリップシンクバージョン、昇格されたパネル、編集されたセリフ、ショット、スタイル。build --only S05,S06 はそれらのショットを強制;--force はすべてを再レンダリングします。
  • リップシンクされたショットは、そのクリップ、オフセット、速度、またはセリフに変更があった場合にやり直されます: lipsync prep S05 && lipsync run S05。それまでは、ビルドは古いと警告し、生のクリップを使用します。
  • 既存のアセットを再生成するには --force が必要です(sound theme --force、animate S05 --force);それなしでは、既存ファイルは保持され、ギャップのみが埋められます。
  • シートでレビューする。 sheet はショットごとに3フレームを1ページに配置します。人間が時間で瞬間を指定した場合、回答する前にそれらのフレームを抽出して読みます(ffmpeg -ss T -i build/<output>.mp4 -frames:v 1 f.jpg)。
  • ビルドの前に毎回 check を実行: 不足アセット、キー、兄弟スキル、フレームより広いオーバーレイテキスト。
  • 持続時間はすべてのビルド終了時に検証されます。 オーディオがビデオより短い場合、ビルドは失敗し、エンディングが切れるのを防ぎます。
  • 送信前: references/qa-checklist.md。

人間と協力する

  • すべてのアーティファクトをファイル送信ツールで送り、Finderで表示するよう提案します;パスを印刷するだけではダメです。最終ステップは deliver とそのファイルの送信です。
  • オーディオについては、何をどこで聞くべきかを伝えます("0:41で、Daniの名前は正しく聞こえますか?")。聞いたと主張しないでください。
  • 発音と音声の選択は彼らの判断です:タイムスタンプ付きのA/Bファイル(elevenlabs-tts)。
  • 有料フェーズの前に費用見積もりを提示し、後に累計を提示します。

何かがおかしい場合

症状修正方法
カードやキャプションが速すぎて読めないmindur / post を上げる:短いカードは約1.2〜1.5秒、最終キャプションは4〜6秒
タイトルが両端で切れているcheck が警告;スタイルの size を下げるか wrap を追加
セクションが終わる前に音楽が止まるビルドが警告済み:キューの seconds を上げ、sound <cue> --force;またはセクションを2つのキューに分割
エンディングが切れているエンジンでは発生しません(正確な長さのミックス、持続時間チェック);手動muxの場合は deck-to-video を参照
セリフが音楽に埋もれているそのセリフに対して level_clips.py --report を実行し、より強いテイクを取得;そのキューの音量を下げる
キャラクターがセリフの前に指さしたり動作するclip_off で後ろにずらすか、ショットを分割し clip_cam で最初の部分をクロップ
口が単語と同期して動かないリップシンクフェーズ;間違った口が動いている場合は、その顔ポイントを修正
グループショットで一人の顔が大きいOpenCVをインストール(顔が均等化されます)、またはプロップが隣を隠しているカードを mirror
ヘブライ語が逆順または結合されずに表示されるRAQMなしのPillow:check が修正方法を表示
名前や外来語の発音が間違っているpronounce エントリ、耳でA/B確認

原因を含む詳細:references/troubleshooting.md。

関連スキル

  • image-generation:キャラクターカードとパネル("繰り返し登場するキャラクターとストーリーパネル")。
  • elevenlabs-tts:音声、一言セリフ、発音、音楽と効果音。
  • generating-video-clips:クリップ、テイクシート、リップシンク。
  • deck-to-video:スライド動画向けの同じffmpegノウハウ。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

shaharsha/deck-to-video

Use when turning a slide deck plus per-slide narration audio into an mp4 video — a self-playing/self-presenting deck video, "slides to video", "presentation to mp4", a shareable WhatsApp/Slack/Drive video of a narrated deck, or when a slide video needs a per-slide progress bar / countdown / slide counter. Also use when a slide video should highlight, glow or spotlight the element being talked about in time with the voice, or when narration and on-screen animation need syncing. Also use when...

shaharsha/generating-video-clips

Use when turning a still image, illustration, comic panel or character art into a short animated clip (image-to-video), choosing a video model or provider (Gemini Omni, Veo, Seedance, Kling, ElevenLabs Flows) or hitting their API gates, lip-syncing a character's mouth to existing dialogue audio (Sync, fal.ai, active speaker), or fixing a generated clip with artifacts - duplicated props, a door or a second figure appearing, hands through bodies, glowing eyes, a gesture repeated at the start,...

shaharsha/image-generation

Generate logos, icons, UI mockups, hero images, product shots, and other design assets using OpenAI GPT Image 2.5 (Sunburst, Flare) or Google Gemini (Nano Banana 2, Nano Banana Pro, Nano Banana 2 Lite). Use whenever the user asks to create, design, generate, mock up, render, or illustrate a visual asset, needs a transparent PNG, or asks for image prompt engineering. Picks the right model and quality for the job, writes a model-specific prompt following the official prompting rules of each...

関連スキル