--- title: "Transcribe audio using Deepgram" sidebarTitle: "Deepgram audio transcription" description: "This example will show you how to transcribe audio using Deepgram's speech recognition API with Trigger.dev." --- ## Overview Transcribe audio using [Deepgram's](https://developers.deepgram.com/docs/introduction) speech recognition API. ## Key Features - Transcribe audio from a URL - Use the Nova 2 model for transcription ## Task code ```ts trigger/deepgramTranscription.ts import { createClient } from "@deepgram/sdk"; import { logger, task } from "@trigger.dev/sdk"; // Initialize the Deepgram client, using your Deepgram API key (you can find this in your Deepgram account settings). const deepgram = createClient(process.env.DEEPGRAM_SECRET_KEY); export const deepgramTranscription = task({ id: "deepgram-transcribe-audio", run: async (payload: { audioUrl: string }) => { const { audioUrl } = payload; logger.log("Transcribing audio from URL", { audioUrl }); // Transcribe the audio using Deepgram const { result, error } = await deepgram.listen.prerecorded.transcribeUrl( { url: audioUrl, }, { model: "nova-2", // Use the Nova 2 model for the transcription smart_format: true, // Automatically format transcriptions to improve readability diarize: true, // Recognize speaker changes and assign a speaker to each word in the transcript } ); if (error) { logger.error("Failed to transcribe audio", { error }); throw error; } console.dir(result, { depth: null }); // Extract the transcription from the result const transcription = result.results.channels[0].alternatives[0].paragraphs?.transcript; logger.log(`Generated transcription: ${transcription}`); return { result, }; }, }); ``` ## Testing your task To test this task in the dashboard, you can use the following payload: ```json { "audioUrl": "https://dpgr.am/spacewalk.wav" } ```