クックブック / 議事録
録音から作る
議事録

スクリーンショット. ローカルで動かしたテンプレート。
- モデル
- ink-whisper
- 言語
- メニューに17言語
- ライセンス
- Apache-2.0
- 技術スタック
- Next.js 16React 19AI SDKIndexedDBshadcn/ui
- Cartesia の製品
- Ink
できること
会議はブラウザーに保存されるので、データベースもログインも不要です。どの会議もMarkdownとしてコピーできます。別のページには、すべての会議の未完了のアクションアイテムがまとまります。
自分で動かす
インストールする
Node 22.22以降で下のコマンドを実行します。pnpmでも動きます。下の表を見て
.env.localを埋めます。足りないキーがあれば、ページがどれかを表示します。環境変数 - CARTESIA_API_KEY
play.cartesia.ai/keys- LLM_MODEL
provider/model。例:openai/gpt-5.4-mini- OPENAI_API_KEY
LLM_MODELがopenai/で始まる場合- ANTHROPIC_API_KEY
LLM_MODELがanthropic/で始まる場合- AI_GATEWAY_API_KEY
- それ以外のプロバイダーの場合。Vercelでは不要
- APP_PASSWORD
- ローカルでは任意。Vercelでは必須。公開するならnoneを設定
- TRUST_PROXY
- 任意。自前のリバースプロキシの背後に置く場合は1
会議を録音する
開発サーバーが表示するローカルのURLを開き、Start recordingを押します。数秒話します。次にStop and write notesを押します。音声ファイルを使う場合は、録音欄の上にあるアップロードのタブに切り替えます。
コーディングエージェントで作る
どこから始めて、最初に何を読むべきかをコーディングエージェントに伝えるプロンプトです。
Build a meeting notes app with Cartesia speech to text. Start from https:/ and follow its AGENTS.md for the commands, files and rules. The server route transcribes the recording with client.stt.transcribe from @cartesia/cartesia-js and model ink-whisper (ink-2 is streaming only and does not work on the batch endpoint). The AI SDK writes the summary, decisions and action items with generateText and a zod schema. The browser posts audio to the route and never sees CARTESIA_API_KEY. If I don't have a Cartesia API key yet, follow https:/ to get one.
仕組み
この設計にした理由
書き起こしを先に保存する
ink-whisperが文字起こしを返した時点でページはそれを保存し、そのあとでノートを依頼します。要約に失敗しても会議には文字起こしが残り、LLMにもう一度依頼するRetryボタンが表示されます。
録音済みのファイルにはファイル用のモデルを使う
Cartesiaの音声認識モデルは2つあります。Ink 2はストリーミング中の音声をその場で文字にするモデルで、録音済みのファイルは受け付けません。ink-whisperは録音全体を1回のリクエストで受け取るので、このアプリはそちらに送ります。
アップロードは4 MBまで
Vercelは4.5 MBを超えるリクエスト本文を拒否します。そのためアプリはアップロードを4 MBまでに制限し、録音は3.6 MBか20分で止まります。別のホストでは、lib/limits.tsで上限を引き上げられます。
カスタマイズする
別の言語を書き起こす
録音の前にSpoken languageメニューで言語を選びます。メニューに言語を足すには、lib/limits.tsの一覧に追加します。モデル自体はほかにも多くのISO 639-1コードに対応しています。
議事録の内容を変える
項目を増やしたり減らしたりするには、lib/schema.tsのスキーマを編集します。LLMへの指示を変えるには、lib/prompt.tsを編集します。
議事録をサーバーに保存する
lib/store.tsにある5つの非同期関数を、データベースを呼ぶ処理に置き換え、フックはそのまま残します。
よくある質問
会議の音声はどこに送られますか?
ブラウザーは音声をアプリ自身のサーバーに送り、サーバーがそれをCartesiaに渡して文字起こしし、その後に破棄します。ノートを作るために文字起こしはあなたのLLMプロバイダーに送られますが、Cartesiaのキーがサーバーの外に出ることはありません。録音する前に全員の同意を得てください。
会議の最中にリアルタイムで書き起こしを見られますか?
このアプリではできません。録音を止めたときに全体をまとめて送ります。リアルタイムの字幕が必要なら、マイクの音声をCartesia Ink 2にストリーミングしてください。
どの言語に対応していますか?
メニューには英語やスペイン語から日本語、ウクライナ語まで17言語があります。LLMは会議の言語でノートを書きます。
会議1回の料金はいくらですか?
文字起こしは、無音を含む音声2秒ごとにCartesiaの1クレジットかかるので、30分の会議なら900クレジットです。ノートの作成には、あなたのプロバイダーのキーでLLMを1回呼び出す分が加わります。
誰が何を言ったかわかりますか?
いいえ。文字起こしには話し手の区別がないので、アクションアイテムに担当者が付くのは、会議中に誰かがその人の名前を口にしたときだけです。LLMには推測しないよう指示しています。
このテンプレートの詳しい手順ガイドはありますか?
はい。レシピでコードを順に解説し、READMEでセットアップ、環境変数、デプロイを説明しています。Cartesia側の仕組みはバッチ書き起こしのAPIリファレンスにあります。
クックブックのほかの例
今すぐ始める
専門家に相談する。
音声体験の開発にCartesiaをどう活用できるか、私たちのチームにご相談ください。
開発を始める。
APIでモデルにアクセスし、数分で音声エージェントを本番環境に導入できます。

