Communitygithub.com

VoxFlow スキル — ハブ

ユーザーがテキスト読み上げ(TTS)、VoxFlow音声検索、AIストーリーのサンプル、VoxFlowのインストール/認証/クォータ設定を行うためのエントリーポイント音声ツールキット。

VoxFlow スキル — ハブ とは?

VoxFlowは200以上の音声で40以上の言語をサポートするテキスト読み上げ(TTS)CLIツールであり、音声合成、音声クローン、長文ナレーション、AIストーリー生成、クォータ管理などの機能を提供します。このスキルはVoxFlowのエントリーポイントであり、インストール、認証、音声検索、基本的なTTSワークフロー(say、narrate、story)をカバーします。ポッドキャスト、ショート動画、スライス動画、カード動画、文字起こしなどの専門的なタスクには、それぞれ専用のサブスキル(voxflow:podcast、voxflow:video、voxflow:slice、voxflow:card、voxflow:transcribe)が用意されています。AIエージェントは、音声IDを推測する前に必ず「voxflow voices」で検索し、クォータ制限を事前に確認し、古いCLIは自動アップグレードするルールに従って、ユーザーに代わってVoxFlowを操作します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/VoxFlowStudio/skills/tree/HEAD/skills/hub

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

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

ドキュメント

VoxFlow スキル — ハブ は何をしますか?

voxflow upgrade 自体が Unknown command でエラーになった場合(CLIが1.12.0より前)、npm i -g voxflow@latest && voxflow skills install --all にフォールバックします — これが最初のブートストラップの唯一の方法です。

このルールは交渉の余地がありません:古いCLIはユーザーが期待する機能(例:クローン音声の一覧表示)を静かに無効にします。アップグレードが先、作業はその後です。

VoxFlowは200以上の音声で40以上の言語のテキスト読み上げと、完全なオーディオ/ビデオパイプラインを実現します。このスキルはエントリーポイントです:インストール、認証、音声検索、そしてシンプルな say / narrate / story ワークフローを担当します。

専門的なタスクには、以下に切り替えてください:

  • ポッドキャスト(複数話者による対話)→ voxflow:podcast
  • ショート動画 / AIクリップ / ナレッジカード(picstory、present、slides、explain)→ voxflow:video
  • 記事 → 縦型カード動画(スライス) — 13テーマ(paper-slide / editorial-mag / bold-poster / notion-card / brutalist / glass-dark / editorial-stencil / broadsheet / blueprint / daisy-pastel / showa-catalog / photo-feature / atmospheric)、ウェブアプリ + Remotion → voxflow:slice
  • 共有可能なカード画像&ナレーション付きカード動画(HTML/CSS + Playwrightエクスポート、オプションで voxflow card render でナレーション付きMP4)→ voxflow:card
  • 文字起こし、字幕翻訳、吹き替え、要約、公開(asr、asr-jobs、translate、dub、video-translate、summarize、publish)→ voxflow:transcribe

インストールとログイン

一度インストールすれば、ユーザーに再度尋ねる必要はありません:

npm install -g voxflow
voxflow login          # ブラウザを開く — Google またはメール OTP

トークンは ~/.config/voxflow/token.json にキャッシュされます。CIの場合は、VOXFLOW_TOKEN を設定してください。

認証

voxflow login        # ブラウザベース、1回限り
voxflow status       # 自分は誰か + 残りクォータ
voxflow logout

音声検索 — 合成前には必ず実行

音声IDを推測してはいけません。まず検索します。

voxflow voices --lang zh --gender female
voxflow voices --lang en
voxflow voices --search "narrator"
voxflow voices --all

公開カタログにはログイン不要です。出力には音声ID、言語、性別、短い説明が含まれます。

ユーザー自身のクローン音声を一覧表示

ユーザーが「用我的克隆声音 / use my cloned voice / 用我之前克隆的」のように言った場合、公開の voxflow voices カタログにはクローン音声は含まれません — 認証されたエンドポイントに問い合わせる必要があります:

voxflow voices --mine

クローン音声のID、名前、再生時間、作成時刻を表示します(ログイン必須)。ユーザーにクローン音声がないと結論付ける前に、必ずこれを実行してください — Web UIの「我的声音」タブと --mine が唯一の情報源です。

人気の音声ID(適切なデフォルト)

IDスタイル言語
v-female-R2s4N9qJ温柔姐姐 (優しい女性)zh
v-male-s5NqE0rZ自然男声 (自然な男性)zh
v-male-Bk7vD3xP威严霸总 (威厳のある男性)zh
v-female-m1KpW7zE傲娇学姐 (ツンデレ女性)zh
v-female-T8m4WxP7Chenwen (ネイティブ英語女性)en

音声クローン(clone)

ローカルの音声ファイル(30秒以上、wav/mp3)から音声をクローンします。すべてのコマンドで使用可能な永続的な音声IDを返します。

voxflow clone --input recording.wav --name "My Voice"
# → Voice cloned successfully!
# → Voice ID: My_Voice_xxxxx_01

ファイルがない場合?ブラウザベースの録音用にWeb UIを開きます:

voxflow clone
# → Opens https://www.voxflow.studio/app#voice-clone
フラグデフォルト備考
--input <file>(なし)クローン元の音声ファイル。指定しない場合はWeb UIを開く
--name <name>ファイル名人間が読める音声名(1~50文字)

ヒント:

  • 静かな部屋で、通常の話すペース、BGMなし → 最良の結果
  • 60秒が最適、最低30秒
  • 「演技」しない — ナチュラルな話し声の方がブロードキャスト音声よりクローンに適しています

クローン後、任意の場所で音声IDを使用:--voice <id>

テキスト読み上げ(say / synthesize)

基本コマンド。1つのスニペット → 1つの音声ファイル。

voxflow say "你好世界" -o hello.mp3
voxflow say "Hello world" --voice v-female-T8m4WxP7 -o greeting.mp3
voxflow say "慢速朗读" --speed 0.8 -o slow.mp3
voxflow say "高质量音频" --format wav -o output.wav
フラグデフォルト範囲 / 値
--voice <id>v-female-R2s4N9qJvoxflow voices の任意の音声ID
--format <fmt>pcmpcm(WAV)、wav、mp3
--speed <n>1.00.5 – 2.0
--volume <n>1.00.1 – 2.0
--pitch <n>0-12 – 12
--output <path>自動命名書き込み可能な任意のパス

合成後、自動再生:open output.mp3(macOS)。

長文テキスト(narrate)

ドキュメントや長い文字列を文単位に分割し、それぞれを合成して1つのファイルに連結します。

voxflow narrate --input article.txt -o narration.wav
voxflow narrate --input readme.md --voice v-male-Bk7vD3xP -o readme_audio.wav
voxflow narrate --text "第一段。第二段。第三段。" -o paragraphs.mp3
echo "Hello world" | voxflow narrate -o hello.wav

最適な用途:長いドキュメント、記事、READMEファイル、メールニュースレター。

Markdownは自動的に除去されます(見出し、リンク、コードフェンスなど) — 事前にクリーニングする必要はありません。

AIストーリー(story)

LLMがトピックに関する短編ストーリーを書き、それをナレーションします。

voxflow story "一只会飞的小猫" -o story.mp3
voxflow story "space adventure" --lang en -o adventure.wav

最適な用途:おやすみなさいストーリー、コンテンツサンプル、デモ。

クォータ

無料枠:月10,000クォータ(毎月リセット)。招待によるボーナスプールは期限切れになりません。

操作コスト
1 TTSコール(say)~50
narrateセグメントあたり約50
story(短編)~350-1000
podcast(中編)~2,800(2Kスクリプト + 約16 × 50 TTS)
picstory 5シーン~2,850

高コストな操作の前には必ず確認:

voxflow status

よくあるシナリオ

「把这段话念出来」

voxflow say "用户输入的文字" -o /tmp/out.mp3 && open /tmp/out.mp3

「用温柔女声读这个文件」

voxflow voices --lang zh --gender female
voxflow narrate --input file.txt --voice v-female-R2s4N9qJ -o /tmp/narration.mp3

「讲个睡前故事」

voxflow story "小狐狸的星星种子" --lang zh -o /tmp/bedtime.mp3 && open /tmp/bedtime.mp3

「多语言朗读」

voxflow voices --lang en --gender female   # 英語の音声を選択
voxflow voices --lang ja --gender female   # 日本語の音声を選択
voxflow say "English text" --voice <en_id> -o /tmp/en.mp3
voxflow say "日本語テキスト" --voice <ja_id> -o /tmp/ja.mp3

クリエイティブなワークフロー(TTSをエージェントのライティングと組み合わせる)

エージェントがまずコンテンツを書き、各パートを say または narrate で合成します。

オーディオ絵本(有声绘本)

  1. 6ページの子供向けストーリーを書く。
  2. 各ページに対して:インラインSVGイラストを生成(400×300)。
  3. voxflow say "page text" --voice v-female-R2s4N9qJ --speed 0.85 -o /tmp/page_N.mp3
  4. mp3ファイルを読み込み、base64エンコードし、HTMLにインライン埋め込み。
  5. 各ページに音声再生ボタンがある単一の自己完結型HTMLファイルを出力。
  6. open /tmp/storybook.html

記事 → 音声ブリーフィング

# エージェントがURLを取得し、要約、その後:
voxflow say "summary text" --voice v-male-s5NqE0rZ -o /tmp/briefing.mp3

ドキュメントナレーション

voxflow narrate --input README.md --voice v-female-R2s4N9qJ --speed 0.9 -o /tmp/readme.mp3

Git日次レポート音声

  1. git log --oneline --since="1 day ago"
  2. エージェントが要約。
  3. voxflow say "today's summary..." -o /tmp/daily.mp3

模擬面接

  1. エージェントがトピックに関する3つの面接質問を生成。
  2. 各質問に対して:voxflow say "question N..." --voice v-male-Bk7vD3xP -o /tmp/q_N.mp3
  3. 順次再生。

前提条件

  • Node.js ^20.19.0 || >=22.12.0
  • voxflow CLI ≥ 1.12.0(voxflow voices --mine 用 — ユーザーのクローン音声を一覧表示)
  • ffmpeg — 動画関連コマンドのみ(voxflow:video、voxflow:transcribe を参照)
  • ログイン 任意のAPI呼び出しに必要 — voxflow login

自動アップグレードシグナルの仕組み

CLI自体が、npmに新しいバージョンがある場合にstderrに <voxflow-hint type="cli-outdated" ...> を出力します。スキル上部の <CRITICAL-AUTO-UPGRADE> ルールで既にカバーされています — このセクションはタグの見た目の参考です:

<voxflow-hint v="1" type="cli-outdated" current="1.10.21" latest="1.13.0" action="voxflow upgrade -y" />

24時間に最大1回出力されます(~/.config/voxflow/update-check.json にキャッシュ)。チェックを無効にしたいユーザー向け:VOXFLOW_NO_UPDATE_CHECK=1(または業界標準の環境変数 NO_UPDATE_NOTIFIER=1)。

また、ユーザーが既知の古いバージョンを使用していて、高コストな作業を開始する前に確認したい場合は、voxflow upgrade --check で明示的にポーリングすることもできます(副作用なし)。

フィードバックとサポート(AIが自動的に実行可能)

voxflowコマンドが失敗した場合や、ユーザーが問題を報告したいと言った場合、あなた(AIエージェント)が直接Issueを提出してください — ユーザーに手動でやらせないでください。

AIワークフロー

# 直接提出 — ブラウザもTTYも不要。
# `gh` CLIが利用可能な場合はそれを使用(直接GitHub Issue作成)。
# ghがインストールされていない場合は、事前入力されたURLを出力する。
voxflow feedback --bug \
  --title "asr crashes on 2-hour wav files" \
  --body "Error: timeout after 30s\n\nCommand: voxflow asr long.wav\nExpected: transcript\nActual: Fatal error: request timeout"
# stdout → 作成されたGitHub IssueのURL(またはghがインストールされていない場合は事前入力されたURL)

システム情報(CLIバージョン、OS、Node)は自動的に本文に追加されます。

フラグ

フラグ説明
--bug / --feature / --generalIssueの種類
--title <text>タイトル — 非対話モードをトリガー
--body <text>説明本文
--print-url提出せずにURL出力を強制(ghが利用可能な場合でも)

ユーザー起動(対話型)

voxflow feedback          # 対話型プロンプト → ghまたはブラウザで提出
voxflow feedback --bug    # 種類プロンプトをスキップ、残りは対話型

自動的に提出するタイミング

  • CLIコマンドが致命的/予期しないエラーで終了した場合 → バグ報告を提案
  • ユーザーが「这个不好用」/「report this」/「提个 issue」と言った場合 → --title を指定して直接提出

サードパーティの音声やテンプレートのインストール(add)

voxflow add <recipe-name>                  # 音声プリセットまたはパイプラインテンプレートをインストール
voxflow add --list                         # 利用可能なレシピを参照
voxflow add chico/my-recipe --force        # カスタム作者の名前空間からインストール

ユーザーが特定の名前付きレシピ(例:dub-anime-jp-zh)のインストールを依頼した場合に使用します。現在レジストリは限られています — --list が404を返す場合、そのレシピは完全なURLで参照する必要があるか、レジストリがまだ公開されていない可能性があります。

ルール

  1. 音声は使用前に検索 — 音声IDをでっち上げてはいけません。常に最初に voxflow voices を実行します。
  2. クォータを確認 — ポッドキャスト(約5K)、picstory(約3K)、バッチジョブの前に:voxflow status。
  3. 合成後の自動再生:open output.mp3(macOS)/ xdg-open(Linux)。
  4. トークンやシークレットをログに出力してはいけません。
  5. コマンドが失敗した場合、再試行する前に voxflow <cmd> --help を実行してフラグを確認します。

スキルを切り替えるタイミング

  • ユーザーが「podcast」/「对话」/「多人对谈」と言った場合 → voxflow:podcast を読み込む。
  • ユーザーが「short video」/「知识卡片」/「小红书」/「TikTok」/「AI clip」/「render」と言った場合 → voxflow:video を読み込む。
  • ユーザーが「Slice」/「切片视频」/「文章转视频」/「PaperSlide」/「paperslide」/「paper-slide」(レガシー)/「纸面手绘风」/「文章转知识短视频」/「知乎长文转视频」/「公众号转视频」と言った場合 → voxflow:slice を読み込む。
  • ユーザーが「transcribe」/「字幕」/「dub」/「translate this video」/「SRT」と言った場合 → voxflow:transcribe を読み込む。

Individual skills in this repo

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

VoxFlowStudio/skills

Use when the user wants to turn text content into a set of polished, shareable visual CARD IMAGES or narrated card VIDEOS — knowledge cards, quote cards, 小红书图文, carousel cards, poster cards — rendered as HTML/CSS and exported via Playwright at ratios like 1:1 / 3:4 / 9:16; optionally produces a narrated MP4 video from those cards via `voxflow card render` (per-card TTS + FFmpeg static-image clips with optional subtitle bar / intro+outro cards / BGM mix). Triggers: card / 卡片 / 知识卡 / 文字卡片 / 金句卡 / 图文卡片 / 卡片生成 / make cards / card video / 卡片视频. For article → Slice-themed card VIDEO use voxflow:slice; for short videos / AI clips use voxflow:video; for podcasts use voxflow:podcast.

VoxFlowStudio/skills

Use when the user wants to turn a long article / note / report into a vertical 1080×1920 card video — VoxFlow Slice. 13 themes — paper-slide (纸面), editorial-mag (编辑刊), bold-poster (大字海报), notion-card (Notion 卡), brutalist (粗野), glass-dark (玻璃夜), editorial-stencil (编辑·海报), broadsheet (财经刊), blueprint (蓝晒图), daisy-pastel (雏菊), showa-catalog (昭和目录), photo-feature (摄影刊), atmospheric (深夜刊). Triggers — Slice / slice video / 切片视频 / 文章转视频 / 知识卡片视频 / 抖音知识号 / 小红书图文转视频 / 知乎长文转视频 / 公众号转视频 / PaperSlide / paperslide / paper-slide (legacy name).

VoxFlowStudio/skills

Use when the user wants AI-generated short-form video — knowledge cards (picstory / 小红书 / TikTok / Reels), narrated explainers, presentations, AI clips, or slides — covering picstory, present, slides, explain, and image generation. For article-to-card reels (Slice — 13 themes including paper-slide), use voxflow:slice. For shareable HTML/CSS card images or narrated card MP4 videos (`voxflow card render`) use voxflow:card.

関連スキル