Skip to content

Generate

This example assumes using Speechmatics; is in scope and apiKey contains your Speechmatics API key.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var apiKey =
    Environment.GetEnvironmentVariable("SPEECHMATICS_API_KEY") is { Length: > 0 } value
        ? value
        : throw new AssertInconclusiveException("SPEECHMATICS_API_KEY environment variable is not found.");

using var client = new SpeechmaticsClient(apiKey);

// Create a transcription job with a URL-based audio source.
var configJson = """
    {
        "type": "transcription",
        "transcription_config": {
            "language": "en"
        },
        "fetch_data": {
            "url": "https://github.com/tryAGI/Speechmatics/raw/main/assets/test.mp3"
        }
    }
    """;
var createResponse = await client.CreateJobsAsync(config: configJson);

// Poll for job completion.
JobDetails job;
do
{
    await Task.Delay(TimeSpan.FromSeconds(2));
    var jobResponse = await client.GetJobsByJobidAsync(jobid: createResponse.Id);
    job = jobResponse.Job;
}
while (job.Status == JobDetailsStatus.Running);

// Retrieve the transcript.
var transcript = await client.GetJobsByJobidTranscriptAsync(
    jobid: createResponse.Id,
    format: GetJobsTranscriptFormat.JsonV2);