VocalStack ロゴVocalStack ロゴ
VOCALSTACK FOR PAYLOAD CMS

文字起こしをコンテンツに

Payload のすべての音声アップロードに「文字起こし」ボタンを。文字起こしは編集可能なテキストとタイミング付きの文としてドキュメントに保存されるため、フロントエンドも検索も API も、他のフィールドと同じように読み取れます。

PAYLOAD 3 · NEXT.JS 15+ · 音声 1 時間あたり $0.20 から
メディア · EPISODE-042.MP3サイドバー
文字起こし中31:06 / 48:20
json
{
  "vocalstack": {
    "status": "done",
    "language": "en",
    "transcript": "Welcome back to the show. Today…",
    "sentences": [
      { "start": 0.4, "end": 2.9, "speaker": 0,
        "text": "Welcome back to the show." }
    ]
  }
}

ただのフィールドのひとつ

文字起こしとタイミング付きの文はドキュメント上に保存されるため、Local API、REST、GraphQL が他のデータと一緒に返します。

進捗が見える

ボタンには処理済みの音声の割合が表示され、再読み込みしても消えません。停止すると、ドキュメントは元の状態に戻ります。

主導権は編集者に

文字起こしは編集者が修正できるプレーンテキストです。話者が変わるところや間があるところで段落が分かれます。

キーはサーバーに

接続した API キーはサーバー側に保存され、REST や GraphQL API からは読み取れません。

セットアップ

プラグイン 1 つ、1 行だけ

payload.config.ts にプラグインを追加します。音声を受け付けるすべてのアップロードコレクションにボタンが付きます。対象を選ぶには collections を渡してください。キーを省略すると、代わりに編集者が「設定 → VocalStack」からアカウントを接続できます。

01GitHub からプラグインをインストールし、設定に追加します。
02payload generate:importmap を実行します。Postgres の場合は payload migrate:create も実行します。
03音声アップロードを開き、「文字起こし」をクリックします。
bash
pnpm add github:vocalstack/payload-plugin
typescript
// payload.config.ts
import { vocalstackPlugin } from '@vocalstack/payload'

export default buildConfig({
  plugins: [
    vocalstackPlugin({
      // Optional: or connect from Settings → VocalStack
      apiKey: process.env.VOCALSTACK_API_KEY,
    }),
  ],
})
オプション

あなたの構成にフィット

妥当なデフォルトと、構成が異なるあらゆる箇所に対応するフック。

collections

「文字起こし」ボタンを付けるアップロードコレクション。デフォルトでは、音声を受け付けるすべてのコレクション。

audioFields

ファイル名やリンクで音声を参照するインポート済みコンテンツ。配列フィールドの各行に専用のボタンと文字起こしが付きます。

spokenLanguage

音声で話されている言語。省略すると自動で検出します。

fileURL

VocalStack が音声を取得するアドレス。バケットを指定すれば Payload のファイルプロキシを経由しません。

access

文字起こしと接続の変更ができる人。デフォルトでは、ドキュメントを更新できるログイン中のユーザー。

料金

プラグイン料金なし

VocalStack へのお支払いは文字起こしした音声の分だけ。料金はダッシュボードや API と同じです。秒単位の課金で、文字起こし 1 件あたりの最低料金は 5 分 です。

ファイル$0.201 時間あたり

文字起こしするすべての音声アップロードと配列の行。話者、句読点、タイミング付き。

よくある質問

GitHub で見るREADME を読む