Skip to content

AudioReportsV1

This workflow compresses audio or video files to under 25MB while preserving speech clarity, then transcribes them using OpenAI's Whisper model. It's designed to handle large media files that exceed typical transcription service limits by automatically optimizing them for speech recognition.

Purpose

No business context provided yet — add a context.md to enrich this documentation.

This workflow serves users who need to transcribe large audio or video files that are too big for direct processing by transcription services. It automatically handles the technical complexity of audio compression while maintaining the quality needed for accurate speech-to-text conversion.

How It Works

  1. Manual Start: The workflow begins when manually triggered
  2. Compression Job: Sends the audio/video file to CloudConvert with specific compression settings optimized for speech (32kbps bitrate, 22050Hz frequency, mono channel)
  3. Status Monitoring: Waits 7 seconds, then checks if the compression job is complete
  4. Polling Loop: If not finished, waits another 7 seconds and checks again until completion
  5. Download: Once compression is complete, downloads the optimized audio file
  6. Transcription: Sends the compressed audio to OpenAI's Whisper for transcription

Workflow Diagram

graph TD
    A[start workflow] --> B[send compression job to cloudconvert]
    B --> C[Wait before checking status]
    C --> D[get compression job status]
    D --> E{is compression finished ?}
    E -->|No| C
    E -->|Yes| F[Download compressed audio]
    F --> G[Transcribe audio with whisper]

Trigger

  • Type: Manual Trigger
  • Activation: Workflow must be manually started
  • Input: Currently hardcoded with a sample MP3 URL

Nodes Used

Node Type Purpose
Manual Trigger Starts the workflow manually
HTTP Request Sends compression job to CloudConvert API
Wait Pauses execution for 7 seconds between status checks
HTTP Request Checks compression job status
If Determines if compression is complete
HTTP Request Downloads the compressed audio file
OpenAI Transcribes audio using Whisper model
Sticky Note Documentation and workflow description

External Services & Credentials Required

CloudConvert API

  • Purpose: Audio/video compression
  • Credentials: Bearer token authentication
  • Required Scopes: task.read, task.write, webhook.read, webhook.write

OpenAI API

  • Purpose: Audio transcription via Whisper
  • Credentials: OpenAI API key
  • Service: Whisper audio transcription model

Environment Variables

No environment variables are used. API keys are currently hardcoded in the workflow (not recommended for production).

Data Flow

Input

  • Audio or video file URL (currently hardcoded in the workflow)
  • Supported formats: Any format supported by CloudConvert

Processing

  • Compression settings:
    • Output format: MP3
    • Audio bitrate: 32 kbps
    • Audio frequency: 22050 Hz
    • Audio channels: 1 (mono)

Output

  • Transcribed text from the audio content
  • Compressed audio file (temporary, via CloudConvert)

Error Handling

The workflow has minimal error handling: - Polling mechanism: Continues checking compression status until complete - No timeout: The workflow will continue polling indefinitely if compression never completes - No API error handling: No specific handling for CloudConvert or OpenAI API failures

Known Limitations

  • Hardcoded input: Audio URL is hardcoded in the workflow rather than dynamic
  • No timeout mechanism: Polling loop has no maximum retry limit
  • Exposed API keys: Authentication tokens are hardcoded in the workflow
  • No error recovery: Workflow will fail if any API call returns an error
  • Single file processing: Cannot batch process multiple files

No related workflows identified from the available context.

Setup Instructions

  1. Import Workflow: Import the JSON into your n8n instance

  2. Configure CloudConvert:

    • Sign up for CloudConvert API access
    • Generate an API token with required scopes
    • Replace the hardcoded Bearer token in both CloudConvert HTTP Request nodes
  3. Configure OpenAI:

    • Set up OpenAI API credentials in n8n
    • Ensure the credential is named "OpenAI Assistants API" or update the node reference
  4. Update Input Source:

    • Modify the first HTTP Request node to accept dynamic input instead of the hardcoded URL
    • Consider adding a webhook trigger or file input mechanism
  5. Test Workflow:

    • Start with a small test file to verify compression and transcription
    • Monitor the CloudConvert job status to ensure proper completion
  6. Production Considerations:

    • Add proper error handling and timeout mechanisms
    • Implement secure credential management
    • Add logging for debugging and monitoring
    • Consider adding file size validation before processing