Skip to main content
Remove Invisible Watermarks from AI-Generated VideosThe Video Remix API helps you remove invisible watermarks that AI video generation platforms add to their content. By processing your videos through our API, you can ensure clean, watermark-free output for your use cases.

Introduction

The Video Remix API allows you to upload video files for processing and remixing. This API accepts video files via multipart form data and returns a URL to the uploaded video along with processing results.

Authentication

All requests to the Remix API require authentication using an API key passed in the x-ty-api-key header.
x-ty-api-key: your-api-key-here

Endpoint

POST https://www.topyappers.com/api/v1/remix

Request Format

The API accepts multipart/form-data with the following fields:
FieldTypeRequiredDescription
videoFileYesThe video file to upload (MP4, MOV, AVI, etc.)
parametersStringNoJSON stringified object with processing parameters

Processing Parameters

The parameters field accepts a JSON string with optional processing parameters. All parameters are optional and will use default values if not specified.
ParameterTypeDefaultRange/ValuesDescription
zoomFactornumber1.00.1 - 5.0Zoom level for the video
huenumber0.0-180 to 180Hue adjustment in degrees
playbackSpeednumber1.00.1 - 5.0Video playback speed multiplier
saturationnumber1.00.0 - 3.0Color saturation multiplier
brightnessnumber0.0-1.0 to 1.0Brightness adjustment
contrastnumber1.00.0 - 3.0Contrast multiplier
volumenumber1.00.0 - 2.0Audio volume multiplier
removeAudiobooleanfalsetrue/falseWhether to remove audio from the video
algorithmFingerprintstring”Fingerprint”Any stringAlgorithm identifier for processing
hueShiftnumber0.0-180 to 180Additional hue shift in degrees
gammanumber1.00.1 - 3.0Gamma correction value
temperaturenumber1.00.5 - 2.0Color temperature adjustment
noisenumber0.00.0 - 1.0Amount of noise to add
sharpnessnumber1.00.0 - 3.0Sharpness multiplier
blendnumber0.00.0 - 1.0Blending amount
bilateVariationnumber1.00.0 - 2.0Bilateral filter variation
frameBlendingnumber0.00.0 - 1.0Amount of frame blending
timeShiftnumber0.0-10.0 to 10.0Time shift in seconds

Example with Multiple Parameters

{
  "playbackSpeed": 1.2,
  "brightness": 0.1,
  "contrast": 1.1,
  "saturation": 1.2,
  "hue": 15,
  "zoomFactor": 1.05,
  "removeAudio": false
}

Response Format

Success Response (200 OK)

{
  "data": {
    "inputVideoUrl": "https://storage.topyappers.com/uploads/abc123.mp4",
    "result": "Video processing initiated"
  }
}

Error Responses

  • 400 Bad Request: Invalid file or parameters
  • 401 Unauthorized: Invalid or missing API key
  • 413 Payload Too Large: Video file exceeds size limit
  • 429 Too Many Requests: Rate limit exceeded

Code Examples

import requests
import json

API_KEY = "your-api-key-here"
BASE_URL = "https://www.topyappers.com"
VIDEO_PATH = "/path/to/your/video.mp4"

# Optional parameters for video processing
parameters = {
    "playbackSpeed": 1.2,
    "brightness": 0.1,
    "contrast": 1.1,
    "saturation": 1.2,
    "hue": 15,
    "zoomFactor": 1.05
}

def upload_video():
    url = f"{BASE_URL}/api/v1/remix"
    
    headers = {
        "x-ty-api-key": API_KEY,
    }
    
    files = {
        "video": open(VIDEO_PATH, "rb")
    }
    
    data = {
        "parameters": json.dumps(parameters)
    }
    
    print(f"Uploading {VIDEO_PATH}...")
    response = requests.post(url, headers=headers, files=files, data=data)
    
    if response.status_code == 200:
        result = response.json()
        print("✅ Success!")
        print(f"Input URL: {result['data']['inputVideoUrl']}")
        if 'result' in result['data']:
            print(f"Result: {result['data']['result']}")
        return result
    else:
        print(f"❌ Error {response.status_code}: {response.text}")
        return None

if __name__ == "__main__":
    result = upload_video()
    if result:
        print(f"\nFull response:\n{json.dumps(result, indent=2)}")

Best Practices

  1. File Size: Keep video files under the recommended size limit for optimal processing
  2. File Formats: Supported formats include MP4, MOV, AVI, and other common video formats
  3. Error Handling: Always implement proper error handling for network and API errors
  4. Rate Limits: Be mindful of rate limits and implement retry logic with exponential backoff
  5. API Keys: Keep your API keys secure and never commit them to version control

Rate Limits

Please refer to the Rate Limits documentation for information about API rate limits and best practices.
I