本文へ移動
cccskills
無料GitHub で公開日本語紹介

varg-podcast-video

2人のAIキャラクターが同じ見た目を保って会話する動画を、スタジオ画像や各場面の映像から組み立て、確認用ストーリーボードとMP4に仕上げます。

原文原文の説明を見る

Makes podcast-style and two-character dialogue videos on varg with AI characters who stay the same in every angle: an empty studio set, one wide master shot built from character references, close-ups and lighting cutaways derived from that master, then 5-second image-to-video scenes in which each character speaks their line with native audio, reviewed on an HTML storyboard and stitched into one MP4. Use when someone asks for a podcast video, an AI podcast, a video podcast with two hosts, an interview, debate or talk-show clip between two characters, a myth-vs-truth or "lie vs truth" explainer, or a short of talking characters trading punchy lines. Not for cutting an existing podcast recording into shorts (find a clipping skill with video-skills), one speaker on a stage (use varg-character-keynote), multi-location ads with real actors (use varg-consistent-characters), or songs (use varg-music-video).

hashgraph-online/awesome-codex-pluginsスター 1,440(GitHub 1,440 + cccskills 0)

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • 2人出演のAIポッドキャストを作りたいとき
  • キャラクター同士の討論動画を作りたいとき
  • 誤解と真実を対比する解説動画
  • 短い掛け合いのショート動画

日本語での紹介

できること

2人のキャラクターが対話するポッドキャスト風動画や短い解説動画を作ります。キャラクターの参照画像をもとに、人物のいないスタジオ画像、2人が映るワイドショット、そこから切り出す各キャラクターのクローズアップや照明を変えたカットを用意します。場面ごとに短い台詞を入れ、5秒の映像と音声を生成します。HTMLのストーリーボードで各場面を確認し、承認した映像を1本のMP4にまとめます。

こんなときに便利

2人が出演するAIポッドキャスト、インタビュー、討論、トークショー風の動画に向いています。「誤解と真実」のような形式の解説や、キャラクター同士が短い台詞を交わすショート動画にも使えます。既存のポッドキャスト録音を短く切り出す用途や、ステージ上の1人語り、歌の動画には向きません。

使い方の例

  • 「この2人のキャラクターで、マルチタスクの誤解を解く短い会話動画を作って」
  • 「この人物画像を使って、2人が意見を交わすポッドキャスト風動画にして」

注意点

VARG_API_KEYとcurl、またはvarg MCP接続が必要です。vargのクレジットを使います。ローカルでMP4を結合する場合はffmpegが必要です。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(1)

  • SKILL.md13.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

varg podcast video

Generate consistent-character podcast and dialogue videos with varg image generation + image-to-video with native audio.

Generation runs on varg: the varg-ai skill (REST at https://api.varg.ai/v2, sign-in and model details) or the varg MCP server (https://mcp.varg.ai/mcp: generate_image, generate_video or call_tool, then get_job). The REST calls below map one-to-one onto the MCP tools.

When to use

  • Two-character conversation videos (podcast, interview, debate)
  • Educational content with a "lie vs truth" format
  • Any multi-scene video where character consistency matters across angles
  • Short-form content (5 s per scene, punchy dialogue lines)

Prerequisites

  • A VARG_API_KEY (the varg-ai skill finds or sets one up) or the varg MCP connection
  • Credits on the varg balance (GET /v2/billing/balance or MCP check_balance)
  • Reference images for each character (photos or AI-generated portraits), uploaded with POST /v2/files so you have URLs

The workflow (8 steps)

Every generation returns a job. Poll GET https://api.varg.ai/v2/jobs/{id} until status is completed; the file is at output.outputs[0].url.

Step 1: Write a short script

Each scene = 5 seconds. One short punchy line per scene. No long monologues.

Scene 1.1 — Host: "So... is multitasking actually a superpower?"
Scene 1.2 — Trickster: "Absolutely. Five tabs, three calls, zero problems."
Scene 1.3 — Trickster: "Focus is overrated. Real pros do everything at once."
Scene 1.4 — Host (truth cutaway, to camera): "Truth: every switch costs focus. One thing at a time gets more done."

Format: Scene X.Y — Character: "short line". Keep lines under 15 words.

Step 2: Generate the studio set (empty)

Generate the background/set as a standalone image with no characters. It becomes the base reference for every later shot.

curl -s -X POST https://api.varg.ai/v2/image \
  -H "Authorization: Bearer $VARG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano_banana_2_1",
    "prompt": "A modern podcast studio interior, wide establishing shot. Dark walnut wood paneled walls, two brown leather armchairs facing each other at an angle, a small dark wood table between them with two black microphones on boom arms. Warm amber recessed lighting. Bookshelf background. No people. Empty studio set.",
    "aspect_ratio": "16:9"
  }'

Step 3: Generate character clothing (if needed)

If a character needs clothing different from their reference photo, generate the outfit as a standalone image:

curl -s -X POST https://api.varg.ai/v2/image \
  -H "Authorization: Bearer $VARG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano_banana_2_1",
    "prompt": "A dark elegant Victorian-style outfit on a mannequin. Black and dark red velvet tailcoat, high collar, dark crimson vest. Gothic aristocratic aesthetic. No person, just the clothing. Studio product photography.",
    "aspect_ratio": "1:1"
  }'

Step 4: Generate the wide shot (both characters)

Pass all references together in files: character 1 + character 2 + clothing + studio. With files, nano_banana_2_1 edits from the references.

CRITICAL: Do NOT describe the characters' appearance in the prompt. Reference them by position ("left character from ref 1", "right character from ref 2 wearing outfit from ref 3"). Describing appearance conflicts with the ref image and produces a different person.

curl -s -X POST https://api.varg.ai/v2/image \
  -H "Authorization: Bearer $VARG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano_banana_2_1",
    "prompt": "Two characters sitting in leather armchairs facing each other in this podcast studio. Left character from ref 1. Right character from ref 2 wearing the outfit from ref 3. Small table with microphones between them. Warm lighting.",
    "files": [
      { "url": "HOST_REF_URL" },
      { "url": "TRICKSTER_REF_URL" },
      { "url": "TRICKSTER_CLOTHES_URL" },
      { "url": "STUDIO_URL" }
    ],
    "aspect_ratio": "16:9"
  }'

This wide shot becomes the base reference for all camera angles.

Step 5: Generate camera angles from the wide shot

Pass the wide shot as the first reference. The prompt must say:

"Exact same scene as the reference image — same room, same characters, same positions, same lighting, same set. ONLY change: [camera move]. Do NOT rearrange anything. Do NOT move characters. Do NOT change the set."

# Close-up on character A
curl -s -X POST https://api.varg.ai/v2/image \
  -H "Authorization: Bearer $VARG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano_banana_2_1",
    "prompt": "Exact same scene as the reference image — same room, same characters, same positions, same lighting, same everything. ONLY change: move camera closer to the left character. Same angle, just tighter framing. Do NOT rearrange anything. Do NOT move characters. Do NOT change the set.",
    "files": [
      { "url": "WIDE_SHOT_URL" },
      { "url": "CHARACTER_A_REF" }
    ],
    "aspect_ratio": "16:9"
  }'

# Close-up on character B
# Same, but "move camera closer to the right character" + pass character B's ref

# Truth cutaway (lighting change)
# "Exact same scene — ONLY changes: shift lighting from warm to cold blue, the left character turns their head to look directly at camera. Do NOT rearrange anything."

What works:

  • Close-up on character A (camera moves closer)
  • Close-up on character B (camera moves closer)
  • Lighting shift (warm → cold blue)

What does NOT work:

  • Over-the-shoulder shots (OTS): the model rearranges characters and breaks positions
  • Describing new appearance details in the prompt: produces a different character

Show the stills to the user and get approval before any video. Stills cost a few credits each; video clips cost ten times more or more.

Step 6: Image-to-video with native audio

CRITICAL: Put the dialogue line directly in the video prompt and ask for native audio. The model voices the line itself; no separate TTS.

curl -s -X POST https://api.varg.ai/v2/video \
  -H "Authorization: Bearer $VARG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling_v4",
    "prompt": "The man in the grey sweater leans forward toward the microphone and says: \"So... is multitasking actually a superpower?\" He gestures with open hands, eyes widen with curiosity, natural talking motion.",
    "files": [{ "url": "CLOSEUP_HOST_URL" }],
    "duration": 5,
    "aspect_ratio": "16:9",
    "audio": true
  }'

Prompt structure for video:

[Character description] [action/gesture] and says: "[exact dialogue line]" [more action]
  • "audio": true is varg's unified native-audio switch. Without it, or on a model without native audio, the clip is silent. A flat "provider_options": {"varg": {"generate_audio": true}} is dropped by the API.
  • One image in files = the first frame. Each close-up from step 5 is the start of its scene.
  • Model choice: kling_v4 (default here, native audio, integer 3–30 s); seedance_2_5 for hero close-ups (best faces and lip movement, higher price); heygen_video_1 for cheap drafts (sound is built in, 5–15 s). minimax_h3_max has no native audio on varg's current routes, so it comes back silent.
  • Price one clip with POST /v2/estimate (same body) or MCP estimate_cost before the batch, quote it in credits, and wait for the user's go.

Add action to every scene; without action the video is a static talking head:

  • Leans forward/back, gestures, picks up an object, waves a hand, crosses arms
  • Snaps fingers, points, draws in the air, taps the table
  • Eye roll, head tilt, eyebrow raise, a smirk forming

Voice drift. Native audio picks the voice per clip, so a character can sound different from scene to scene. If that happens, generate each character's lines with eleven_v4 and one fixed voice (POST /v2/speech), then lip-sync each close-up with sync_v3 (a silent clip + the line) or minimax_h3_max_lipsync (the still + the line).

Step 7: Build an HTML storyboard

Create an HTML file with all videos embedded. Include:

  • A "Play all" button that plays the scenes in sequence
  • Each scene: video (320×180) + character tag + dialogue line + duration
  • Color coding: warm scenes (red border), truth cutaways (blue border)
<video src="VIDEO_URL" controls playsinline></video>
// Play all in sequence
function playAll() {
  let i = 0;
  function next() {
    if (i >= videos.length) return;
    videos.forEach(v => v.pause());
    const v = videos[i];
    v.currentTime = 0;
    v.muted = false;
    v.play();
    v.scrollIntoView({ behavior: 'smooth', block: 'center' });
    v.onended = () => { i++; next(); };
  }
  next();
}

Step 8: Stitch the approved scenes into one MP4

Locally, with the clips downloaded in order:

printf "file '%s'\n" scene_1_1.mp4 scene_1_2.mp4 scene_1_3.mp4 > list.txt
ffmpeg -f concat -safe 0 -i list.txt -c:v libx264 -c:a aac -r 30 episode.mp4

Or on varg, with the ffmpeg tool (POST /v2/ffmpeg, MCP call_tool with tool ffmpeg):

{ "model": "ffmpeg",
  "command": "-i {{in_1}} -i {{in_2}} -i {{in_3}} -filter_complex \"[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=3:v=1:a=1[v][a]\" -map \"[v]\" -map \"[a]\" -c:v libx264 -c:a aac {{out_1}}",
  "input_files": { "in_1": "SCENE_1_1_URL", "in_2": "SCENE_1_2_URL", "in_3": "SCENE_1_3_URL" },
  "output_files": { "out_1": "episode.mp4" } }

Captions, if wanted: transcribe the episode (POST /v2/transcription, word timestamps included) and burn them in, or rebuild the episode as a cloud render with <Captions> (see varg-ai).

Key rules (learned the hard way)

  1. Never describe appearance in edit prompts. Pass ref images and say "character from ref 1". Describing appearance = a different person.
  2. The wide shot is the base for all angles. Pass it as the first ref and say "exact same scene, ONLY change the camera".
  3. No OTS shots. The model rearranges characters. Use close-ups instead.
  4. Dialogue goes in the video prompt, and the video model voices it.
  5. "audio": true on a model with native audio; otherwise the video is silent.
  6. 5 seconds per scene: short lines, one idea per scene. Long monologues don't fit.
  7. Add physical action: gestures, objects, movement. Static talking heads are boring.
  8. Generate clothes separately if a character's ref photo has the wrong outfit, and pass them as an extra ref.
  9. Truth cutaway = lighting change only: same positions, just warm → blue + the character looks at camera.
  10. Keep prompts byte-identical when re-running: identical requests are free cache hits.

Cost estimate

Rough credits from the varg catalog (October 2026); quote the exact figure from POST /v2/estimate / estimate_cost.

ItemCredits (~)
Studio set image8
Clothing ref image8
Wide shot image8
3 close-up / cutaway images24
9 video scenes, 5 s each at 720p (kling_v4)~750+
Total per question (9 scenes)~800

Video is almost all of the cost. heygen_video_1 drafts cost a fraction of that; seedance_2_5 costs more than twice as much.

File structure

podcast/
  script.md                 # Full script (all questions)
  storyboard.html           # HTML review page with embedded videos
  ref_host.png              # Character reference
  ref_trickster.png         # Character reference
  studio_set.png            # Studio background
  trickster_clothes.png     # Clothing reference
  wide.png                  # Wide shot (base for angles)
  cu_host.png               # Close-up, host
  cu_trickster.png          # Close-up, trickster
  truth.png                 # Truth cutaway (blue light)
  scenes/                   # Generated clips, one per scene
  episode.mp4               # Stitched result

Related skills

varg-ai (sign-in, models, REST and cloud render), varg-consistent-characters (the same people across several locations, with captions and QA), varg-character-keynote (one speaker on a stage), video-skills (find a skill for another format, e.g. clipping a real podcast).

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

accelerate-local-work

無料概要あり

複数の独立したローカル作業を安全性と依存関係を確認して実行計画にまとめ、対応環境では並列化やAppleシリコン向け処理の選択を支援します。

  • ビルドやテストの独立した処理を並列化したいとき
  • 複数段階の作業計画を安全に実行したいとき
  • Appleシリコン向け処理の候補を確認したいとき
hashgraph-online/awesome-codex-plugins1,4362026年10月27日 更新

ad-creative-testing

無料概要あり

TikTokやMeta広告の勝ちパターンを分解し、異なる切り口のテスト案や予算、評価時期を整理して、数値から継続・修正・停止を判断するスキルです。

  • 勝ち広告を分解して次のテスト案を作りたいとき
  • 広告の本数やテスト予算を決めたいとき
  • 似た広告案の成果が変わらない原因を探したいとき
hashgraph-online/awesome-codex-plugins1,4402026年10月30日 更新

add

無料概要あり

将来の読み手が理由を知りたくなる未決定や暫定対応を、技術的負債として登録し、後から項目ごとに整理できるスキルです。

  • 暫定対応を負債として記録したいとき
  • TODOや未完了作業を管理したいとき
  • 負債の影響箇所や解消条件を残したいとき
hashgraph-online/awesome-codex-plugins1,4402026年10月30日 更新

adk-framework-adapters

無料概要あり

LangChain、EINO、AutoGen、AgentScope、CrewAI向けのコード雛形やAPI対応、プロジェクト構成を参照し、バージョン確認を踏まえてAIエージェント開発を支援します。

  • 指定したフレームワークで雛形を作りたいとき
  • 複数のエージェントフレームワークを比較したいとき
  • ツール定義やメモリ設定の例を参照したいとき
hashgraph-online/awesome-codex-plugins1,4362026年10月26日 更新

agent-debug-fixer

無料概要あり

エラーやテスト失敗、画面の異常などを再現して原因を特定し、テストで確認しながら影響を絞った修正を進めるデバッグ用スキルです。

  • テスト失敗の根本原因を調べたいとき
  • 画面や機能の不具合を小さく修正したいとき
  • 再発防止のテストを先に用意したいとき
hashgraph-online/awesome-codex-plugins1,4402026年10月30日 更新

agent-dev-workshop

無料概要あり

対話を通じてAI Agentの要件整理から設計、ツール定義、コード生成、動作確認まで6段階で進め、実行可能なプロジェクトを作ります。

  • Agentの要件と設計を整理したいとき
  • 実行可能なAgentの試作品を作りたいとき
  • ツールやPromptの構成を決めたいとき
hashgraph-online/awesome-codex-plugins1,4362026年10月26日 更新

hashgraph-online のスキルをすべて見る

このスキルの問題を報告する