Cross-Provider Workflow

NVIDIA NIM Transcription to Google Sheets Log

Version 1.0.0

Transcribe audio with NVIDIA NIM, then log the transcript to Google Sheets.

1 workflow 2 source APIs 2 providers
View Spec View on GitHub ArazzoWorkflowsCross-Provider

Providers Orchestrated

nvidia-nim google-sheets

Workflows

transcribe-and-log
Transcribe audio with NVIDIA NIM and log it to Google Sheets.
Sends an audio file to NVIDIA NIM transcription, captures the transcript text, and appends a row containing the transcript to the target sheet range.
2 steps inputs: audioFile, model, range, spreadsheetId outputs: transcript, updatedRange
1
transcribe-audio
$sourceDescriptions.nvidiaNimApi.createTranscription
Transcribe the supplied audio file with NVIDIA NIM.
2
append-transcript
$sourceDescriptions.googleSheetsApi.appendValues
Append the transcript as a row in the Google Sheet.

Source API Descriptions

Arazzo Workflow Specification

ai-nvidia-transcribe-to-google-sheets-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: NVIDIA NIM Transcription to Google Sheets Log
  summary: Transcribe audio with NVIDIA NIM, then log the transcript to Google Sheets.
  description: >-
    A cross-provider AI enrichment chain that transcribes an audio file with
    NVIDIA NIM's speech endpoint and appends the resulting transcript as a new
    row in a Google Sheet. Demonstrates capturing speech-to-text output in a
    spreadsheet of record across two providers in one Arazzo workflow.
  version: 1.0.0
sourceDescriptions:
  - name: nvidiaNimApi
    url: https://raw.githubusercontent.com/api-evangelist/nvidia-nim/refs/heads/main/openapi/nvidia-nim-speech-api-openapi.yml
    type: openapi
  - name: googleSheetsApi
    url: https://raw.githubusercontent.com/api-evangelist/google-sheets/refs/heads/main/openapi/google-sheets-openapi.yml
    type: openapi
workflows:
  - workflowId: transcribe-and-log
    summary: Transcribe audio with NVIDIA NIM and log it to Google Sheets.
    description: >-
      Sends an audio file to NVIDIA NIM transcription, captures the transcript
      text, and appends a row containing the transcript to the target sheet range.
    inputs:
      type: object
      properties:
        audioFile:
          type: string
        model:
          type: string
        spreadsheetId:
          type: string
        range:
          type: string
    steps:
      - stepId: transcribe-audio
        description: Transcribe the supplied audio file with NVIDIA NIM.
        operationId: $sourceDescriptions.nvidiaNimApi.createTranscription
        requestBody:
          contentType: multipart/form-data
          payload:
            model: $inputs.model
            file: $inputs.audioFile
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          transcript: $response.body#/text
      - stepId: append-transcript
        description: Append the transcript as a row in the Google Sheet.
        operationId: $sourceDescriptions.googleSheetsApi.appendValues
        parameters:
          - name: spreadsheetId
            in: path
            value: $inputs.spreadsheetId
          - name: range
            in: path
            value: $inputs.range
          - name: valueInputOption
            in: query
            value: USER_ENTERED
        requestBody:
          contentType: application/json
          payload:
            values:
              - - $steps.transcribe-audio.outputs.transcript
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          updatedRange: $response.body#/updates/updatedRange
    outputs:
      transcript: $steps.transcribe-audio.outputs.transcript
      updatedRange: $steps.append-transcript.outputs.updatedRange