The slowest part of trying a new API is rarely the code. It's the ceremony before the code. Clone a repo, change into the folder, copy an env file, find your key, install dependencies, and only then run the thing. Every one of those steps is a place to bounce. So we collapsed them into one command.
One command
Run npm create pyai-app@latest and pick an example; it downloads that example, writes your .env, and tells you exactly what to run next. Pass the name to skip the menu (npm create pyai-app@latest openai-drop-in) and pass your key with --key to have it written in for you. No clone, no scaffolding boilerplate, Node 18+ and nothing else.
Already on OpenAI? Change one line.
The openai-drop-in example is the official OpenAI SDK pointed at PyAI: set the base URL to api.pyai.com and your existing audio.speech and audio.transcriptions calls run against PyAI Speak and Hear, same methods, same preset voice names. It runs a closed text-to-speech then speech-to-text loop so it works with just a key, and it's the fastest way to feel the migration before you commit to it.
Examples that can't rot
A sample that silently breaks is worse than no sample; it burns trust on the exact day someone tries you. So every example installs and parses in CI on each change, and the key-only ones round-trip against the live sandbox on a nightly schedule. A broken example turns the badge red before anyone clones it. The public repo is generated from our monorepo and re-synced on every merge, so what you scaffold is always what we ship.
- openai-drop-in: your OpenAI audio code, served by PyAI (Node + Python).
- omni-browser-widget: a talking voice agent on any page with one script tag.
- voice-cloning, recap-call-intelligence, twilio and freeswitch voice agents, live captions, and more.
Browse them at github.com/atomsai/pyai-examples, or just run npm create pyai-app@latest and start talking.