varapiKey=Environment.GetEnvironmentVariable("SPEECHMATICS_API_KEY")is{Length:>0}value?value:thrownewAssertInconclusiveException("SPEECHMATICS_API_KEY environment variable is not found.");usingvarclient=newSpeechmaticsClient(apiKey);// Create a transcription job with a URL-based audio source.varconfigJson="""{"type":"transcription","transcription_config":{"language":"en"},"fetch_data":{"url":"https://github.com/tryAGI/Speechmatics/raw/main/assets/test.mp3"}}""";varcreateResponse=awaitclient.CreateJobsAsync(config:configJson);// Poll for job completion.JobDetailsjob;do{awaitTask.Delay(TimeSpan.FromSeconds(2));varjobResponse=awaitclient.GetJobsByJobidAsync(jobid:createResponse.Id);job=jobResponse.Job;}while(job.Status==JobDetailsStatus.Running);// Retrieve the transcript.vartranscript=awaitclient.GetJobsByJobidTranscriptAsync(jobid:createResponse.Id,format:GetJobsTranscriptFormat.JsonV2);
MeaiTools
1 2 3 4 5 6 7 8 91011121314
varapiKey=Environment.GetEnvironmentVariable("SPEECHMATICS_API_KEY")is{Length:>0}value?value:thrownewAssertInconclusiveException("SPEECHMATICS_API_KEY environment variable is not found.");usingvarclient=newSpeechmaticsClient(apiKey);// Create tools for transcription, job status, and job listing.vartranscribeTool=client.AsTranscribeUrlTool(defaultLanguage:"en");vargetJobStatusTool=client.AsGetJobStatusTool();varlistJobsTool=client.AsListJobsTool(defaultLimit:5);// These tools can be passed to any IChatClient that supports function calling.vartools=new[]{transcribeTool,getJobStatusTool,listJobsTool};
SpeechToText
1 2 3 4 5 6 7 8 91011121314
varapiKey=Environment.GetEnvironmentVariable("SPEECHMATICS_API_KEY")is{Length:>0}value?value:thrownewAssertInconclusiveException("SPEECHMATICS_API_KEY environment variable is not found.");// Create a Speechmatics client that implements ISpeechToTextClient.usingvarclient=newSpeechmaticsClient(apiKey);ISpeechToTextClientsttClient=client;// Verify the client provides proper metadata.varmetadata=sttClient.GetService<SpeechToTextClientMetadata>();// The client can also be retrieved via GetService.varself=sttClient.GetService<SpeechmaticsClient>();