# Render TikTok Video

**Action ID:** `render_tiktok_video`

## Description

Create TikTok-style videos by combining video content with voiceover, background audio, and captions. This node renders social media-ready videos with synchronized audio and text overlays.

## Connection

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

## Input Parameters

| Name          | Type   | Required | Default | Description                          |
| ------------- | ------ | :------: | ------- | ------------------------------------ |
| video         | string |     ✓    | -       | Video to use for rendering           |
| voice         | string |     ✓    | -       | Voice audio track for narration      |
| voice\_volume | number |     ✓    | -       | Voice volume level                   |
| audio         | string |     -    | -       | Background audio track               |
| audio\_volume | number |     -    | 0.1     | Background audio volume level        |
| caption       | string |     ✓    | -       | Caption text to overlay on the video |

<details>

<summary>View JSON Schema</summary>

**Input Schema**

```json
{
  "description": "Render Video node input.",
  "properties": {
    "video": {
      "description": "Video to use for rendering",
      "title": "Video",
      "type": "string"
    },
    "voice": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Voice",
      "title": "Voice"
    },
    "voice_volume": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "Voice volume",
      "title": "Voice Volume"
    },
    "audio": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Audio to use for rendering",
      "title": "Audio"
    },
    "audio_volume": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": 0.1,
      "description": "Audio volume",
      "title": "Audio Volume"
    },
    "caption": {
      "description": "Caption to use for rendering",
      "title": "Caption",
      "type": "string"
    }
  },
  "required": [
    "video",
    "voice",
    "voice_volume",
    "caption"
  ],
  "title": "RenderTiktokVideoNodeInput",
  "type": "object"
}
```

</details>

## Output Parameters

| Name  | Type   | Description                            |
| ----- | ------ | -------------------------------------- |
| video | string | URL of the rendered TikTok-style video |

<details>

<summary>View JSON Schema</summary>

**Output Schema**

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

</details>

## How It Works

This node combines multiple media elements to create a polished TikTok-style video. It takes your base video and overlays a voice narration track with adjustable volume, optional background music, and text captions. The audio tracks are mixed together with their respective volume levels, and the caption text is rendered over the video with TikTok-style formatting. The final output is a ready-to-post social media video.

## Usage Examples

### Example 1: Basic TikTok Video

**Input:**

```
video: "https://example.com/base_video.mp4"
voice: "https://example.com/narration.mp3"
voice_volume: 1.0
caption: "5 Tips for Better Productivity"
```

**Output:**

```
video: "https://example.com/rendered_tiktok.mp4"
```

### Example 2: Video with Background Music

**Input:**

```
video: "https://example.com/cooking_demo.mp4"
voice: "https://example.com/instructions.mp3"
voice_volume: 0.9
audio: "https://example.com/background_music.mp3"
audio_volume: 0.15
caption: "Easy 5-Minute Pasta Recipe"
```

**Output:**

```
video: "https://example.com/cooking_tiktok.mp4"
```

### Example 3: Educational Content

**Input:**

```
video: "https://example.com/tutorial_footage.mp4"
voice: "https://example.com/explanation.mp3"
voice_volume: 1.2
audio: "https://example.com/subtle_music.mp3"
audio_volume: 0.08
caption: "Learn React in 60 Seconds"
```

**Output:**

```
video: "https://example.com/educational_tiktok.mp4"
```

## Common Use Cases

* **Educational Content**: Create quick tutorial videos with voice explanations and captions
* **Product Demonstrations**: Showcase products with narrated features and text highlights
* **Marketing Videos**: Generate engaging promotional content for social media
* **Recipe Videos**: Combine cooking footage with step-by-step voice instructions
* **Motivational Content**: Create inspirational videos with quotes and voiceover
* **News Summaries**: Produce quick news updates with narration and headlines
* **Entertainment Clips**: Add commentary and captions to entertaining video content

## Error Handling

| Error Type             | Cause                                         | Solution                                         |
| ---------------------- | --------------------------------------------- | ------------------------------------------------ |
| Invalid Video Format   | Video file format not supported               | Ensure video is in MP4, MOV, or supported format |
| Invalid Audio Format   | Audio file format not supported               | Convert audio to MP3, WAV, or supported format   |
| Missing Required Media | Video or voice URL is invalid or inaccessible | Verify all media URLs are accessible and valid   |
| Audio Sync Error       | Voice and video lengths don't match           | Ensure voice narration matches video duration    |
| Volume Out of Range    | Volume values are invalid                     | Use volume values between 0.0 and 2.0            |
| Caption Too Long       | Caption text exceeds maximum length           | Shorten caption text to fit within limits        |
| Connection Error       | PixelML API connection failed                 | Verify PixelML connection credentials are valid  |
| Rendering Timeout      | Video processing taking too long              | Try with shorter video or contact support        |

## Notes

* **Voice Volume**: Set voice\_volume between 0.8-1.2 for clear narration. Values above 1.0 may cause distortion
* **Background Audio**: Keep audio\_volume low (0.05-0.15) so it doesn't overpower the voice narration
* **Caption Formatting**: Captions are automatically formatted in TikTok style with appropriate font and positioning
* **Video Duration**: Best results with videos between 15-60 seconds, matching typical TikTok content length
* **Audio Quality**: Use high-quality audio files for best results. Low-quality audio may sound distorted after mixing
* **Media Compatibility**: Ensure video and audio files are compatible formats and not corrupted
* **Processing Time**: Rendering typically takes 30 seconds to 2 minutes depending on video length and quality


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.agenticflow.ai/reference/nodes/render_tiktok_video.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
