Build Interactive 3D Worlds With GPT-6 & Blender

TL;DR
The bug you find walking home deserves a better capture path than a Notes app draft. A phone recording, the ElevenLabs Scribe API, and a headless coding agent add up to a pipeline where spoken words become structured GitHub issues - and with a webhook agent, pull requests.
The best bug reports you will ever write are the ones you think of when you are not at a keyboard. The repro that becomes clear during the walk home. The feature idea that lands while driving. The fix that arrives in the shower. Most of those thoughts die in a Notes app draft or a voice memo that never gets re-listened to, because converting a rambling 60-second recording into a structured GitHub issue is work you will postpone forever.
The capture position is the hard part, not the transcription. This guide builds the honest version of the loop: speak the memo into your phone, transcribe it with the ElevenLabs Scribe speech-to-text API, hand the raw transcript to OpenCode running headless, and let it write the issue title, repro steps, and expected behavior - then file it with a label that a webhook agent can pick up and turn into a pull request while you sleep. We run a version of this shape for parts of this site; the mechanics below are the portable core. Seven steps, under an hour, every step ending in something you can run.
| Resource | Description |
|---|---|
| ElevenLabs Speech to Text API reference | The POST /v1/speech-to-text endpoint, request fields, response shape |
| ElevenLabs Speech to Text overview | Scribe v2 model facts, languages, file limits, concurrency |
| ElevenLabs API pricing | Per-hour STT rates and included hours per plan |
| OpenCode Docs | Install and the opencode run non-interactive mode |
| gh issue create manual | The flags this pipeline uses to file issues |
Prerequisites: an ElevenLabs account (the free tier includes 4 hours 30 minutes of Scribe transcription per month, per the API pricing table as of 2026-09-16 - enough for well over a hundred short memos a month), the GitHub CLI authenticated against a repo you own, and a phone or recorder that produces voice memos.
Install OpenCode with the official one-liner from the OpenCode docs, authenticate a provider (opencode auth login), then prove the single capability this pipeline depends on - one task, one exit, no TUI:
curl -fsSL https://opencode.ai/install | bash
opencode run --model opencode/deepseek-v4-flash "print the current directory tree, two levels deep"
If that returns a tree and exits cleanly, the agent side is ready. Scheduled and event-driven work is where budget models earn their keep - the fleet economics post covers when a task deserves a stronger model. What you have now: a working headless agent and a repo that can receive issues.
The transcription quality depends more on how you speak than on which model runs - Scribe is excellent at cleaning up voice, but it cannot invent repro steps you did not say. For a bug: state the product, the action, the expected result, and the actual result, in that order. For a feature: the end state, the user, and one concrete example. Keep it to 30 to 90 seconds; that is plenty.
Use your phone's default voice memo app - the common export formats (M4A, MP3, WAV, OGG, FLAC, OPUS, WebM) are all accepted by the API, per the overview page. Save the file somewhere the terminal can reach it:
mkdir -p ~/memos
ls -lh ~/memos/
What you have now: one audio file on disk, 60-ish seconds long, that says everything the issue needs to say.
The API reference documents the endpoint as a single multipart POST to https://api.elevenlabs.io/v1/speech-to-text, with the API key in the xi-api-key header and model_id as the one required field. The current model id is scribe_v2:
export ELEVENLABS_API_KEY="your_key_from_the_dashboard"
curl -fsSL -X POST "https://api.elevenlabs.io/v1/speech-to-text" \
-H "xi-api-key: $ELEVENLABS_API_KEY" \
-F "model_id=scribe_v2" \
-F "file=@$HOME/memos/first-bug.m4a" \
-F "no_verbatim=true" \
| jq -r '.text' > ~/memos/first-bug.txt
Two flags do real work here. no_verbatim=true strips filler words, false starts, and disfluencies from the output - the reference documents it as supported only on scribe_v2, and it turns "so like, um, when I click the button, basically nothing happens" into "when I click the button, nothing happens". That is the difference between text you can paste into an issue and text you still have to edit. If you skip the flag, expect the transcript to contain every "um" you said.
The response also carries words with per-word start and end timestamps in seconds (useful later if you want to quote a stack trace by time), the detected language_code, and audio_duration_secs so you can see exactly what you were billed for. What you have now: the memo as clean text, on stdout, free of ums.
This is the step that makes the pipeline worth building: you never write the issue body. The transcript gets piped into opencode run, already verified headless in Step 1, with a prompt that forces structure:
opencode run --model opencode/deepseek-v4-flash \
"You are filing a GitHub issue from raw dictation. Read the transcript below.
Produce a file issue-body.md with: a title under 72 characters,
numbered reproduction steps, expected behavior, and actual behavior.
If the dictation describes a feature instead of a bug, say so plainly
and structure the body around the end state.
Transcript: $(cat ~/memos/first-bug.txt)"
Run it from any directory; the output is written to issue-body.md. The task is narrow and the gate is human review of a text file, so the cheapest reliable model is the honest choice - the OpenCode cron guide makes the same call for the same reason.
If the transcript contains product or library names the model keeps mangling (an uncommon word is exactly where STT and the agent both slip), that is what keyterms is for: up to 1000 terms, each under 50 characters, added to the request to bias transcription toward them, per the API reference. What you have now: issue-body.md, structured, in the repo's own terminology.
From the archive
Sep 13, 2026 • 8 min read
Sep 10, 2026 • 7 min read
Sep 10, 2026 • 8 min read
Sep 6, 2026 • 8 min read
The gh issue create manual gives this pipeline three flags it actually needs: --title, --body-file, and --label. Use all three:
gh issue create --title "$(sed -n '1p' issue-body.md)" \
--body-file issue-body.md \
--label agent
The label is not decoration: it is the hook. The deploy-an-agent-webhook guide builds the receiving end - a small service on Railway that watches for issues labeled agent, runs a headless agent in a fresh checkout, passes your test suite, and opens a pull request. This guide produces the issue; that guide produces the PR. Ran end to end, your spoken bug report becomes a candidate fix you review later the same day. What you have now: a structured issue in the tracker, labeled for the automation, filed without typing.
A single memo is a demo; a month of memos is a system. Four refinements, each documented in the sources above:
keyterms once and keep it in your curl: the pricing table adds a $0.05 per audio hour surcharge for keyterm prompting, as of 2026-09-16 - a rounding error on short memos.diarize=true with num_speakers=2; the response annotates each word with a speaker_id, up to 32 speakers, per the API reference.source_url with an HTTPS URL (pre-signed cloud storage links and video hosting URLs like YouTube and TikTok are accepted per the reference, which is how you build a "review this video" pipeline around the same API).webhook=true and the transcription result is delivered to the webhooks configured in your workspace when it finishes, rather than blocking your terminal - the right mode for the 40-minute product demo you will never re-record.One honest warning about privacy: the API reference notes that zero-retention mode (enable_logging=false) is available to enterprise customers only. Anything you transcribe is stored per the platform's logging defaults, so keep confidential material out of this loop - it is for bugs and features, not for customer recordings containing secrets.
Scribe is billed per hour of audio, not per request: $0.22 per audio hour on the API pricing table, as of 2026-09-16, and the free tier's included 4 hours 30 minutes covers the casual memo habit completely. A 90-second memo costs under a cent of transcription. The agent's share is token-based and fractional on a budget model; at DeepSeek V4 Flash's $0.14/$0.28 per million tokens, a structured issue body is a fraction of a cent.
What you have now: the whole loop - speak, transcribe, structure, file. A thought captured at the moment you have it, in the exact words you had it, turning into an issue that a webhook agent can pick up and answer with a PR. The companion builds finish the circle: the audio briefs guide gives the same account a voice for reading results back, Wispr Flow covers the interactive dictation variant for when you are at the desk, and the release notes podcast turns the issues you shipped into audio your users will actually hear. Capture should be the cheapest step in the pipeline. Now it is.
M4A, MP3, WAV, OGG, FLAC, OPUS and WebM audio, plus MP4, AVI, MKV, MOV, WMV, FLV, MPEG and 3GPP video files, per the Speech to Text overview. Files up to 3 GB and 10 hours of duration are supported in standard mode, as of 2026-09-16.
Yes. Scribe v2 transcribes 90+ languages and predicts the language automatically when language_code is not provided; you can also set an ISO-639-1/3 code to improve performance, and the response includes a language_probability confidence score, per the overview and the API reference.
Yes. Pass source_url with any HTTPS-accessible audio or video URL, including pre-signed cloud storage links and hosted video URLs, per the API reference. Exactly one of file or source_url is required.
Scribe v2 is $0.22 per hour of audio, with optional surcharges of $0.05 per hour for keyterm prompting and $0.07 per hour for entity detection, per the API pricing table as of 2026-09-16. The free tier includes 4 hours 30 minutes of Scribe per month, which is roughly 180 ninety-second memos.
Standard logging applies by default. Zero-retention mode exists (enable_logging=false) but is limited to enterprise customers per the API reference, so treat everything you transcribe as non-confidential unless you have an enterprise agreement.
| Source | URL |
|---|---|
| ElevenLabs Speech to Text API reference | https://elevenlabs.io/docs/api-reference/speech-to-text/convert |
| ElevenLabs Speech to Text overview | https://elevenlabs.io/docs/overview/capabilities/speech-to-text |
| ElevenLabs API pricing | https://elevenlabs.io/pricing/api#pricing-table |
| OpenCode Docs | https://opencode.ai/docs/ |
| gh issue create | https://cli.github.com/manual/gh_issue_create |
Some links to tools above are referral links - see our affiliate disclosure.
Last updated: September 16, 2026
Read next
The agent finishes, the summary scrolls past, and you will read it later. Build the fix: a coding agent that ends every run with a plain-language summary, piped into ElevenLabs text-to-speech and out as an MP3 you can listen to on the way to work. The complete one-hour build.
9 min readThe most common trigger for an AI coding agent is not a clock, it is an event. A GitHub webhook, a Railway service, and OpenCode headless add up to a repo where a labeled issue gets a real pull request without anyone at the keyboard. The full build, start to finish.
10 min readAn agent CLI plus a cron schedule turns recurring dev chores into background work: dependency bumps, doc freshness checks, morning briefs. The pattern, the guardrails, and where to run it - your own hardware or a cloud host.
11 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
OpenAI's coding agent for terminal, cloud, IDE, GitHub, Slack, and Linear workflows. Reads repos, edits files, runs comm...
View ToolThe original AI coding assistant. 77M+ developers. Inline completions in VS Code and JetBrains. Copilot Workspace genera...
View ToolMost popular LLM framework. 100K+ GitHub stars. Chains, RAG, vector stores, tool use. LangGraph adds stateful multi-agen...
View ToolGives AI agents access to 250+ external tools (GitHub, Slack, Gmail, databases) with managed OAuth. Handles the auth and...
View ToolTurn any GitHub repo into a shareable PNG. README hero in one shot.
View AppFind the right CLI without trawling GitHub. Search, filter, install.
View AppLog workouts, meals, and habits in plain English. Your progress shows up as a GitHub-style heatmap.
View AppFull GitHub CLI support for automated PR and issue workflows.
Claude CodeManaged scheduling on Anthropic infrastructure with API and GitHub triggers.
Claude CodePerform web searches and return ranked results with snippets.
Claude Code
Creating an AI-Enhanced Podcast Web App: Comprehensive Tutorial Repo: https://github.com/developersdigest/llm-podcast-engine You can obtain these API keys from the following sources: ...

Open Design: Open-Source n8n App That Turns Any Website into a Brand Kit, Design System, HTML + Images The video introduces Open Design, an MIT-licensed full-stack template that combines AI and n8n a...

In this video, discover how to build your customized voice AI agents using TEN Agent, an open-source conversational AI platform. Learn to integrate top speech-to-text models, large language...

The agent finishes, the summary scrolls past, and you will read it later. Build the fix: a coding agent that ends every...

The most common trigger for an AI coding agent is not a clock, it is an event. A GitHub webhook, a Railway service, and...

An agent CLI plus a cron schedule turns recurring dev chores into background work: dependency bumps, doc freshness check...

The agent is only as good as the prompt, and the best prompts are the ones you would speak. How to dictate context-rich...

A changelog nobody reads is a story nobody heard. A coding agent reads your real git history and writes a two-speaker sc...

Your best video speaks one language. A coding agent extracts your vocabulary, the ElevenLabs Dubbing API transcribes, tr...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.