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
The API accepts multipart/form-data with the following fields:
Field | Type | Required | Description |
---|
video | File | Yes | The video file to upload (MP4, MOV, AVI, etc.) |
parameters | String | No | JSON 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.
Parameter | Type | Default | Range/Values | Description |
---|
zoomFactor | number | 1.0 | 0.1 - 5.0 | Zoom level for the video |
hue | number | 0.0 | -180 to 180 | Hue adjustment in degrees |
playbackSpeed | number | 1.0 | 0.1 - 5.0 | Video playback speed multiplier |
saturation | number | 1.0 | 0.0 - 3.0 | Color saturation multiplier |
brightness | number | 0.0 | -1.0 to 1.0 | Brightness adjustment |
contrast | number | 1.0 | 0.0 - 3.0 | Contrast multiplier |
volume | number | 1.0 | 0.0 - 2.0 | Audio volume multiplier |
removeAudio | boolean | false | true/false | Whether to remove audio from the video |
algorithmFingerprint | string | ”Fingerprint” | Any string | Algorithm identifier for processing |
hueShift | number | 0.0 | -180 to 180 | Additional hue shift in degrees |
gamma | number | 1.0 | 0.1 - 3.0 | Gamma correction value |
temperature | number | 1.0 | 0.5 - 2.0 | Color temperature adjustment |
noise | number | 0.0 | 0.0 - 1.0 | Amount of noise to add |
sharpness | number | 1.0 | 0.0 - 3.0 | Sharpness multiplier |
blend | number | 0.0 | 0.0 - 1.0 | Blending amount |
bilateVariation | number | 1.0 | 0.0 - 2.0 | Bilateral filter variation |
frameBlending | number | 0.0 | 0.0 - 1.0 | Amount of frame blending |
timeShift | number | 0.0 | -10.0 to 10.0 | Time 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
}
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
- File Size: Keep video files under the recommended size limit for optimal processing
- File Formats: Supported formats include MP4, MOV, AVI, and other common video formats
- Error Handling: Always implement proper error handling for network and API errors
- Rate Limits: Be mindful of rate limits and implement retry logic with exponential backoff
- 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.