Voice Notes Lab
Paste a transcript (audio upload stubbed) - generateObject chapters, summary, and action items. Honest 503 without AI.
Run this experiment yourself
Demos are not embedded on this site. Deploy a standalone copy on Vercel or run the experiment app locally.
Local development
cd apps/experiments/voice-notes-lab pnpm install pnpm dev
Then open http://localhost:3010.
This is an experimental demo. Use it as a starting point for your own projects.
Voice Notes Lab turns a pasted transcript into chapters, a short summary, and action items via AI SDK generateObject. Audio upload is stubbed — only text is processed. Missing AI keys return 503 with setup guidance; the demo never fabricates model output.
Features
- Transcript - structure – chapters with start hints, summary, actions.
- Audio stub – documents the intended upload path without claiming STT.
- Honest
503when AI Gateway / OpenAI is not configured.
Server Reference
POST /api/voice-notes
{ "transcript": "…", "audioStub": true }Success (200)
{
"result": {
"summary": "…",
"chapters": [{ "title": "…", "startHint": "early", "summary": "…" }],
"actions": ["…"]
},
"provider": "ai-gateway"
}| Status | Cause |
|---|---|
503 | No AI provider |
400 | Missing transcript |
Implementation Details
Validate
Truncate transcript; require AI provider or return AI_SETUP_BODY.
Structure
generateObject with a Zod schema; clampVoiceResult caps chapters/actions.
Use Cases
- Meeting note - action extraction prototype.
- Teach generateObject schemas for nested lists.
- Pair with Notes to Actions Lab persistence.
Limitations
- No real speech-to-text.
- Demo-scale transcript length cap.
- No auth on public deploys.
Use in your project
Copy the Route Handler and logic.ts from apps/experiments/voice-notes-lab/.
Deployment
Local Development
cd apps/experiments/voice-notes-lab
pnpm install
pnpm devConfiguration
| Variable | Required | Purpose |
|---|---|---|
AI_GATEWAY_API_KEY | Yes (or OPENAI_API_KEY) | Preferred provider |
OPENAI_API_KEY | No | Fallback |
AI_MODEL | No | Model override |
Vercel / Next.js Features Used
- AI SDK
generateObject - Route Handlers
- Zod