{"id":26359085,"url":"https://github.com/assemblyai/twilio-realtime-tutorial","last_synced_at":"2026-01-03T11:43:38.419Z","repository":{"id":96141336,"uuid":"452369949","full_name":"AssemblyAI/twilio-realtime-tutorial","owner":"AssemblyAI","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-07T14:04:52.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-07T15:48:47.511Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AssemblyAI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-26T17:19:23.000Z","updated_at":"2024-08-07T15:48:51.472Z","dependencies_parsed_at":"2024-08-07T15:58:49.384Z","dependency_job_id":null,"html_url":"https://github.com/AssemblyAI/twilio-realtime-tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AssemblyAI%2Ftwilio-realtime-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AssemblyAI%2Ftwilio-realtime-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AssemblyAI%2Ftwilio-realtime-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AssemblyAI%2Ftwilio-realtime-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AssemblyAI","download_url":"https://codeload.github.com/AssemblyAI/twilio-realtime-tutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243893859,"owners_count":20364916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-16T15:58:41.853Z","updated_at":"2026-01-03T11:43:38.392Z","avatar_url":"https://github.com/AssemblyAI.png","language":"JavaScript","readme":"# AssemblyAI's JavaScript SDK \u0026 Twilio Real-Time Tutorial\n\nThis repo provided by AssemblyAI displays how to use our JavaScript SDK with Twilio to transcribe calls in real-time.\n\n## How To Install and Run the Project\n\n### ❗Important❗\n\n- Before running this app, you need to upgrade your AssemblyAI account. The real-time API is only available to upgraded accounts at this time.\n- Running the app before upgrading will cause an **error with a 402 status code.** ⚠️\n- To upgrade your account you need to add a card. You can do that in your [dashboard](https://www.assemblyai.com/app/)!\n- You will need to set up a [Twilio](https://www.twilio.com/try-twilio) account and then install the [Twilio CLI](https://www.twilio.com/docs/twilio-cli/quickstart?ref=assemblyai.com).\n- You will also need to create an [ngrok](https://ngrok.com) account and install it on your computer. Once you create an account there will be instructions to follow on your dashboard for installation.\n\n### Instructions\n\n1. Clone the repo to your local machine.\n2. Open a terminal in the main directory housing the project. In this case `transcribe.js`.\n3. Run `npm install` to ensure all dependencies are installed.\n4. Add a `.env` file. Add your AssemblyAI key to the `.env` file. You can find your API key on the \"Account\" page in your [dashboard](https://www.assemblyai.com/app/account). Copy and paste it into the `.env` file replacing \"YOUR-PERSONAL-API-KEY\" with your key: `ASSEMBLYAI_API_KEY=YOUR-PERSONAL-API-KEY`\n5. In your terminal, run `ngrok http 8080`. You will then see a Forwarding url that points to your local host. You will need this in the next step.\n6. Leave `ngrok` running and open up a new terminal. To tell Twilio what the routing address for your Twilio number is, use the following code: `twilio phone-numbers:update $TWILIO_NUMBER --voice-url $NGROK_HTTP_URL`. Where `$TWILIO_NUMBER` has been replaced with your Twilio number that you can find in the Twilio console and `$NGROK_HTTP_URL` has been replaced with the ngrok forwarding URL that you got in the previous step.\n7. Start the app with the command `node transcribe.js`.\n8. Call the Twilio number and follow the verbal instructions. Once the stream begins, any spoken words will be transcribed in the terminal.\n\n## Additional Tutorials\n\n- [Transcribe Twilio Phone Calls in Real-Time with AssemblyAI blog post](https://www.assemblyai.com/blog/transcribe-twilio-phone-calls-in-real-time-with-assemblyai/)\n- [Transcribe Twilio Phone Calls in Real-Time with AssemblyAI | JavaScript WebSockets Video Tutorial](https://www.youtube.com/watch?v=3XmtJgWcOT0)\n- [Realtime Phone Call Assistant - Python](https://github.com/saflamini/shared-twilio-realtime)\n\n## Further Documentation\n\n- [AssemblyAI Real-Time Docs](https://www.assemblyai.com/docs/speech-to-text/streaming)\n- [Twilio Voice Stream Docs](https://www.twilio.com/docs/voice/twiml/stream#websocket-messages)\n- [ws](https://www.npmjs.com/package/ws)\n- [Express](https://expressjs.com/)\n- [dotenv](https://www.npmjs.com/package/dotenv)\n\n## Contact Us\n\nIf you have any questions, please feel free to reach out to our Support team - \u003csupport@assemblyai.com\u003e!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fassemblyai%2Ftwilio-realtime-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fassemblyai%2Ftwilio-realtime-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fassemblyai%2Ftwilio-realtime-tutorial/lists"}