public async Task <DurableHttpResponse> PostAudioForTranscription([ActivityTrigger] EventGridEvent eventGridEvent, ILogger log) { var audioBlobSasUrl = GetAudioBlobSasUrl(eventGridEvent); log.LogInformation($"Audio Url: {audioBlobSasUrl}"); var request = new HttpRequestMessage(HttpMethod.Post, $"https://{Environment.GetEnvironmentVariable("SpeechRegion")}.cris.ai/api/speechtotext/v2.0/transcriptions"); request.Headers.Add("Ocp-Apim-Subscription-Key", Environment.GetEnvironmentVariable("SpeechKey")); request.Content = new StringContent(JsonConvert.SerializeObject(new { Name = eventGridEvent.Id, Description = eventGridEvent.Subject, Locale = "en-US", RecordingsUrl = audioBlobSasUrl, properties = new Dictionary <string, string>() { { "PunctuationMode", "DictatedAndAutomatic" }, { "ProfanityFilterMode", "Masked" }, { "AddWordLevelTimestamps", "True" }, { "AddSentiment", "True" } } }), Encoding.UTF8, "application/json"); var response = await _httpClientFactory.CreateClient().SendAsync(request); return(await DurableHttpResponse.CreateAsync(response)); }