API Documentation

Authentication

All API requests require authentication using a Bearer token in the Authorization header.

Authorization: Bearer YOUR_API_KEY

Process Video Endpoint

POST /v1/process-video

Process a video using FFmpeg commands and get back the processed video URL.

JavaScript Example

const processVideo = async () => {
  const response = await fetch('https://api.zzmpeg.com/v1/process-video', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer YOUR_API_KEY'
    },
    body: JSON.stringify({
      assets: {
        'input.mp4': 'https://example.com/input.mp4'
      },
      ffmpegCommands: [
        '-i ./input.mp4 -vf vflip -c:v libx264 -preset ultrafast -crf 23 -c:a copy ./final.mp4'
      ],
      outputFileName: 'final.mp4'
    })
  });

  const data = await response.json();
  console.log('Processed video URL:', data.url);
}

cURL Example

curl -X POST https://api.zzmpeg.com/v1/process-video \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "assets": {
      "input.mp4": "https://example.com/input.mp4"
    },
    "ffmpegCommands": [
      "-i ./input.mp4 -vf vflip -c:v libx264 -preset ultrafast -crf 23 -c:a copy ./final.mp4"
    ],
    "outputFileName": "final.mp4"
  }'

Response

{
  "success": true,
  "url": "https://cdn.zzmpeg.com/processed/final-123456.mp4",
  "processingTime": "2.45s"
}

Rate Limits

Free Tier

100 requests/day

Pro Tier

10,000 requests/day

Enterprise

Unlimited