Happytails.aiFree tools. No account needed.

Video dubbing | agent view

The same page content and links, with explicit tool capabilities. Tools marked with an API can run directly through HTTP. Other tools require the browser interface or are not connected yet.

Tool capabilities

{
  "id": "video-dubbing",
  "category": "speech-tools",
  "built": true,
  "requirements": "Translate user-uploaded video and synthesize replacement stock-voice audio; preview timing and preserve background audio where possible. No automatic identity cloning or lip-sync promise.",
  "implementation": {
    "fields": [
      {
        "key": "language",
        "label": "Translation language",
        "type": "select",
        "value": "Spanish",
        "values": [
          "English",
          "Spanish",
          "French",
          "Portuguese"
        ]
      }
    ],
    "files": true,
    "accept": ".mp4,.mov,.webm,.mkv",
    "multiple": false,
    "input": false,
    "processing": "Server required",
    "native": true,
    "ai": false,
    "maxFileBytes": 20971520,
    "note": "Translate speech and replace the audio using an installed local system voice. Up to 20 seconds and eight speech segments. Voice cloning, music preservation and lip sync are not included. Review words and timing. All processing uses this server.",
    "extra": true,
    "experience": {
      "automatic": false,
      "single": false,
      "label": "Your text",
      "placeholder": "Type or paste your input…",
      "help": "Up to 1,000,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "POST /api/v1/tools/video-dubbing/run",
  "api": {
    "id": "video-dubbing",
    "name": "Video dubbing",
    "category": "speech-tools",
    "description": "Translate speech and replace the audio using an installed local system voice.",
    "notes": "Translate speech and replace the audio using an installed local system voice. Up to 20 seconds and eight speech segments. Voice cloning, music preservation and lip sync are not included. Review words and timing. All processing uses this server.",
    "human_path": "/en/speech-tools/video-dubbing/",
    "method": "POST",
    "endpoint": "/api/v1/tools/video-dubbing/run",
    "schema_url": "/api/v1/tools/video-dubbing",
    "input_schema": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "input": {
          "type": "string",
          "maxLength": 1000000,
          "default": "",
          "description": "Plain text input. File tools use files instead unless otherwise documented."
        },
        "options": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "language": {
              "type": "string",
              "description": "Translation language",
              "default": "Spanish",
              "enum": [
                "English",
                "Spanish",
                "French",
                "Portuguese"
              ]
            }
          }
        },
        "files": {
          "type": "array",
          "maxItems": 1,
          "items": {
            "type": "object",
            "required": [
              "name",
              "base64"
            ],
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 200,
                "description": "Filename only, no path."
              },
              "mime": {
                "type": "string",
                "maxLength": 150
              },
              "bytes": {
                "type": "integer",
                "minimum": 0,
                "description": "Optional decoded byte count; must match content if supplied."
              },
              "base64": {
                "type": "string",
                "contentEncoding": "base64",
                "description": "File bytes as padded base64. Use the tool-specific limits.files_bytes value for the total decoded input size."
              }
            }
          }
        }
      }
    },
    "output_schema": {
      "type": "object",
      "required": [
        "tool",
        "result"
      ],
      "properties": {
        "tool": {
          "type": "string"
        },
        "result": {
          "type": "object",
          "required": [
            "text",
            "files"
          ],
          "properties": {
            "text": {
              "type": [
                "string",
                "null"
              ]
            },
            "data": {
              "description": "Parsed JSON when the textual result is JSON."
            },
            "name": {
              "type": "string"
            },
            "mime": {
              "type": "string"
            },
            "files": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "name",
                  "mime",
                  "bytes",
                  "base64"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "mime": {
                    "type": "string"
                  },
                  "bytes": {
                    "type": "integer"
                  },
                  "base64": {
                    "type": "string",
                    "contentEncoding": "base64"
                  }
                }
              }
            }
          }
        }
      }
    },
    "processing": "Server; self-hosted native engine, no external conversion service",
    "limits": {
      "request_bytes": 31457280,
      "input_characters": 1000000,
      "files_bytes": 20971520,
      "max_files": 1,
      "timeout_seconds": 90
    }
  },
  "agent_processing": "Server; self-hosted native engine, no external conversion service",
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}

Page guide

Translate speech and replace the audio using an installed local system voice.

How to use Video dubbing

  1. Choose a file in MP4, MOV, WEBM or MKV.
  2. Review the settings, then choose Run Video dubbing.
  3. Review the result, then use Copy result or a download link when available.

What to expect

Translate speech and replace the audio using an installed local system voice. Translate speech and replace the audio using an installed local system voice. Up to 20 seconds and eight speech segments. Voice cloning, music preservation and lip sync are not included. Review words and timing. All processing uses this server.