Deepgram · Arazzo Workflow

Deepgram Select a Model and Transcribe

Version 1.0.0

Browse available models, read the metadata for a chosen model, then transcribe audio with that model.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Artificial IntelligenceSpeech-To-TextText-To-SpeechTranscriptionVoice AIArazzoWorkflows

Provider

deepgram

Workflows

select-model-and-transcribe
List models, inspect one, and transcribe audio using it.
Lists available models, reads metadata for a chosen model id, and transcribes a hosted audio file using the supplied model name.
3 steps inputs: apiKey, audioUrl, modelId, modelName outputs: canonicalName, languages, transcript
1
listModels
listModels
List the latest public speech-to-text and text-to-speech models available on the platform.
2
getModel
getModel
Read the detailed metadata for the chosen model to confirm its languages, architecture, and version before transcribing.
3
transcribeWithModel
transcribePreRecordedAudio
Submit the hosted audio file for transcription using the selected model with punctuation and smart formatting enabled.

Source API Descriptions

Arazzo Workflow Specification

deepgram-select-model-and-transcribe-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Deepgram Select a Model and Transcribe
  summary: Browse available models, read the metadata for a chosen model, then transcribe audio with that model.
  description: >-
    A model-aware transcription flow. The workflow lists the speech-to-text and
    text-to-speech models available on the platform, reads the detailed metadata
    for a specific model to confirm its languages and version, and then submits
    a pre-recorded audio URL for transcription using that model's canonical
    name. Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: managementApi
  url: ../openapi/deepgram-management-openapi.yml
  type: openapi
- name: speechToTextApi
  url: ../openapi/deepgram-speech-to-text-openapi.yml
  type: openapi
workflows:
- workflowId: select-model-and-transcribe
  summary: List models, inspect one, and transcribe audio using it.
  description: >-
    Lists available models, reads metadata for a chosen model id, and
    transcribes a hosted audio file using the supplied model name.
  inputs:
    type: object
    required:
    - apiKey
    - modelId
    - modelName
    - audioUrl
    properties:
      apiKey:
        type: string
        description: Deepgram API key used to authenticate requests.
      modelId:
        type: string
        description: The model identifier to fetch metadata for.
      modelName:
        type: string
        description: The model name to pass to transcription (e.g. nova-3).
      audioUrl:
        type: string
        description: Publicly accessible URL of the audio file to transcribe.
  steps:
  - stepId: listModels
    description: >-
      List the latest public speech-to-text and text-to-speech models available
      on the platform.
    operationId: listModels
    parameters:
    - name: Authorization
      in: header
      value: Token $inputs.apiKey
    - name: include_outdated
      in: query
      value: false
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      sttModels: $response.body#/stt
      ttsModels: $response.body#/tts
  - stepId: getModel
    description: >-
      Read the detailed metadata for the chosen model to confirm its languages,
      architecture, and version before transcribing.
    operationId: getModel
    parameters:
    - name: Authorization
      in: header
      value: Token $inputs.apiKey
    - name: model_id
      in: path
      value: $inputs.modelId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      canonicalName: $response.body#/canonical_name
      languages: $response.body#/languages
      version: $response.body#/version
  - stepId: transcribeWithModel
    description: >-
      Submit the hosted audio file for transcription using the selected model
      with punctuation and smart formatting enabled.
    operationId: transcribePreRecordedAudio
    parameters:
    - name: Authorization
      in: header
      value: Token $inputs.apiKey
    - name: model
      in: query
      value: $inputs.modelName
    - name: punctuate
      in: query
      value: true
    - name: smart_format
      in: query
      value: true
    requestBody:
      contentType: application/json
      payload:
        url: $inputs.audioUrl
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      transcript: $response.body#/results/channels/0/alternatives/0/transcript
      requestId: $response.body#/metadata/request_id
  outputs:
    canonicalName: $steps.getModel.outputs.canonicalName
    languages: $steps.getModel.outputs.languages
    transcript: $steps.transcribeWithModel.outputs.transcript