> For the complete documentation index, see [llms.txt](https://docs.agenticflow.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.agenticflow.ai/reference/nodes/render_audiogram_video.md).

# Render audiogram video

**Action ID:** `render_audiogram_video`

## Description

Render audiogram video

## Connection

| Name               | Description                                 | Required | Category |
| ------------------ | ------------------------------------------- | -------- | -------- |
| PixelML Connection | The PixelML connection to call PixelML API. | True     | pixelml  |

## Input Schema

```json
{
  "description": "Render audiogram video node input.",
  "properties": {
    "cover_img": {
      "description": "Cover image",
      "title": "Cover image",
      "type": "string"
    },
    "title": {
      "description": "Video title",
      "title": "Title",
      "type": "string"
    },
    "title_color": {
      "default": "rgba(186, 186, 186, 0.93)",
      "description": "Title color",
      "title": "Title color",
      "type": "string"
    },
    "subtitle_text_color": {
      "default": "rgba(255, 255, 255, 0.93)",
      "description": "Subtitle text color",
      "title": "Subtitle text color",
      "type": "string"
    },
    "subtitle_line_per_page": {
      "default": 4,
      "description": "Subtitle line per page",
      "title": "Subtitle line per page",
      "type": "integer"
    },
    "subtitle_zoom_measurer_size": {
      "default": 10,
      "description": "Subtitle zoom measurer size",
      "title": "Subtitle zoom measurer size",
      "type": "integer"
    },
    "subtitle_line_height": {
      "default": 98,
      "description": "Subtitle line height",
      "title": "Subtitle line height",
      "type": "integer"
    },
    "wave_color": {
      "default": "#a3a5ae",
      "description": "Wave color",
      "title": "Wave color",
      "type": "string"
    },
    "duration_in_seconds": {
      "default": 29.5,
      "description": "Duration in seconds",
      "title": "Duration in seconds",
      "type": "number"
    },
    "caption_url": {
      "description": "Caption URL to use for rendering",
      "title": "Caption URL",
      "type": "string"
    },
    "voice_url": {
      "description": "Voice URL to use for rendering",
      "title": "Voice URL",
      "type": "string"
    }
  },
  "required": [
    "cover_img",
    "title",
    "caption_url",
    "voice_url"
  ],
  "title": "RenderAudiogramVideoNodeInput",
  "type": "object"
}
```

## Output Schema

```json
{
  "description": "Render Video node output.",
  "properties": {
    "video": {
      "description": "Rendered video",
      "title": "Rendered video",
      "type": "string"
    }
  },
  "required": [
    "video"
  ],
  "title": "RenderAudiogramVideoNodeOutput",
  "type": "object"
}
```

## How It Works

This node creates an audiogram video by combining a cover image, title text, audio waveform visualization, and synchronized captions. The PixelML service processes your audio file to generate a dynamic waveform visualization, overlays it on the cover image along with your title and captions, and renders everything into a video file. The caption URL should point to a subtitle file (SRT or VTT format) that synchronizes text with the audio timeline. All visual elements (title color, subtitle styling, waveform color, subtitle positioning) are customizable to match your branding.

## Usage Examples

### Example 1: Podcast Episode Preview

**Input:**

```
cover_img: "https://example.com/podcast-cover.jpg"
title: "Episode 42: The Future of AI"
title_color: "rgba(255, 255, 255, 0.95)"
subtitle_text_color: "rgba(240, 240, 240, 0.90)"
wave_color: "#4A90E2"
duration_in_seconds: 30
caption_url: "https://example.com/episode42-preview.srt"
voice_url: "https://example.com/episode42-audio.mp3"
```

**Output:**

```
video: "https://storage.pixelml.com/audiogram/episode42-preview.mp4"
```

### Example 2: Social Media Quote Clip

**Input:**

```
cover_img: "https://example.com/brand-background.png"
title: "Marketing Wisdom"
title_color: "rgba(50, 50, 50, 0.95)"
subtitle_text_color: "rgba(255, 255, 255, 1.0)"
subtitle_line_per_page: 3
wave_color: "#FF6B6B"
duration_in_seconds: 15
caption_url: "https://example.com/quote-captions.srt"
voice_url: "https://example.com/quote-audio.mp3"
```

**Output:**

```
video: "https://storage.pixelml.com/audiogram/quote-clip.mp4"
```

### Example 3: Educational Content Teaser

**Input:**

```
cover_img: "https://example.com/course-thumbnail.jpg"
title: "Learn JavaScript in 60 Seconds"
title_color: "rgba(186, 186, 186, 0.93)"
subtitle_text_color: "rgba(255, 255, 255, 0.93)"
subtitle_line_per_page: 5
subtitle_line_height: 85
wave_color: "#00D9FF"
duration_in_seconds: 60
caption_url: "https://example.com/lesson-captions.vtt"
voice_url: "https://example.com/lesson-audio.mp3"
```

**Output:**

```
video: "https://storage.pixelml.com/audiogram/lesson-teaser.mp4"
```

## Common Use Cases

* **Podcast Promotion**: Create shareable video clips from podcast episodes for social media platforms like Instagram, Twitter, and LinkedIn
* **Audio Blog Posts**: Transform blog content with text-to-speech into engaging audiogram videos for increased social media engagement
* **Quote Sharing**: Generate visually appealing quote videos with synchronized captions for motivational or educational content
* **Course Previews**: Create teaser videos for online courses combining audio explanations with branded visuals and captions
* **Interview Highlights**: Extract and visualize key moments from audio interviews with dynamic waveforms and speaker captions
* **Music Snippets**: Produce promotional videos for music tracks or albums with waveform visualizations and lyrics
* **Audiobook Teasers**: Generate preview videos for audiobooks combining cover art, sample narration, and text excerpts

## Error Handling

| Error Type          | Cause                                                   | Solution                                                                              |
| ------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Invalid Connection  | PixelML connection not configured or expired            | Verify your PixelML connection credentials and ensure the API key is valid            |
| Missing Cover Image | cover\_img URL is invalid or inaccessible               | Provide a valid, publicly accessible image URL in a supported format (JPG, PNG)       |
| Invalid Audio URL   | voice\_url points to inaccessible or corrupt audio      | Ensure the audio URL is publicly accessible and in a supported format (MP3, WAV, M4A) |
| Caption File Error  | caption\_url is invalid or file format unsupported      | Provide a valid caption file URL in SRT or VTT format with proper timestamp syntax    |
| Color Format Error  | Invalid color format in title\_color or wave\_color     | Use valid color formats: hex (#RRGGBB) or rgba (rgba(R, G, B, A))                     |
| Duration Mismatch   | duration\_in\_seconds doesn't match actual audio length | Set duration to match your audio file length or let the service auto-detect           |
| Rendering Timeout   | Video rendering took too long to complete               | Reduce video duration or simplify visual elements, then retry the request             |

## Notes

* **Caption File Format**: Use SRT or VTT files with proper timestamps. Captions will be synchronized with the audio and displayed according to subtitle\_line\_per\_page settings
* **Color Customization**: Use rgba format for transparent overlays (e.g., "rgba(255, 255, 255, 0.9)") or hex format for solid colors (e.g., "#FFFFFF")
* **Subtitle Styling**: The subtitle\_line\_per\_page controls how many caption lines appear simultaneously. Adjust subtitle\_line\_height for vertical spacing between lines
* **Waveform Visualization**: The wave\_color parameter customizes the audio waveform animation. Choose colors that contrast well with your cover image
* **Duration Control**: Set duration\_in\_seconds to trim the audio/video length. Useful for creating short previews from longer audio files
* **Image Requirements**: Cover images should be high resolution (at least 1080x1080px) for best quality. Square (1:1) or vertical (9:16) aspect ratios work well for social media
* **Audio Quality**: Higher quality audio files produce better waveform visualizations. Use audio at 128kbps or higher bitrate for optimal results
* **Performance**: Rendering time increases with video duration. Videos under 60 seconds typically render within 2-3 minutes
