Eranol LogoEranol
BlogCommunityDocumentationPricingSign In

General

OverviewGet Started

Universal

Add IntroAdd OutroAudio to VideoBackground AudioCaptions ApiComposeConcatConvert a video file to MP4Convert Audio to Mp3Convert Audio to wavConvert to JPGConvert to WebMConvert to WebPDenoiseEnhanceExtract audio track from a videoExtract images from a videoGenerate a GIF from a videoHighlightsImage TestMergeNotifyOverlayProgress BarReframeRemove SilenceThumbnailTikTokTrimVerifyWatermarkZoom

General

DeleteImage StatusStatusTikTok StatusFFmpeg Results

Need help?

Contact Support

Concat

POST

Merge Videos in order with this api Video format we support : mp4,webm,avi,mkv,mov,flv,wmv,ts,mts,m4v,3gp,ogv

Overview

Merge Videos in order with this api

Video format we support : mp4,webm,avi,mkv,mov,flv,wmv,ts,mts,m4v,3gp,ogv

Endpoint

POST https://eranol.com/api/v1/ffmpeg/video/concat

Request Body

{
  "clips": [
    {
      "url": "https://cdn.eranol.com/videos/intro.mp4",
      "order": 1
    },
    {
      "url": "https://cdn.eranol.com/videos/main-segment.mov",
      "order": 2
    },
    {
      "url": "https://cdn.eranol.com/videos/outro.webm",
      "order": 3
    }
  ]
}

Response Example

[
  {
    "job_id": "1406c589-a1f4-45d5-8745-aae07bc4de38",
    "status": "pending",
    "message": "Job created. Poll status_url for progress.",
    "result_url": "https://eranol.com/api/v1/ffmpeg/result/1406c589-a1f4-45d5-8745-aae07bc4de38",
    "status_url": "https://eranol.com/api/v1/ffmpeg/status/1406c589-a1f4-45d5-8745-aae07bc4de38"
  }
]

Use Cases

1. Default

Request Body

{
  "clips": [
    {
      "url": "https://cdn.eranol.com/videos/intro.mp4",
      "order": 1
    },
    {
      "url": "https://cdn.eranol.com/videos/main-segment.mov",
      "order": 2
    },
    {
      "url": "https://cdn.eranol.com/videos/outro.webm",
      "order": 3
    }
  ]
}

2. Validation error (duplicate order values):

Request Body

{
  "detail": [
    {
      "loc": [
        "body",
        "clips"
      ],
      "msg": "Value error, Each clip must have a unique 'order' value.",
      "type": "value_error",
      "input": [
        "..."
      ]
    }
  ]
}

3. With transition (fade between clips)

Request Body

{
  "clips": [
    {
      "url": "https://cdn.eranol.com/videos/intro.mp4",
      "order": 1
    },
    {
      "url": "https://cdn.eranol.com/videos/main-segment.mov",
      "order": 2
    },
    {
      "url": "https://cdn.eranol.com/videos/outro.webm",
      "order": 3
    }
  ],
  "transition": {
    "type": "fade",
    "duration": 0.5
  }
}

4. With transition (slide left)

Request Body

{
  "clips": [
    {
      "url": "https://cdn.eranol.com/videos/clip1.mp4",
      "order": 1
    },
    {
      "url": "https://cdn.eranol.com/videos/clip2.mp4",
      "order": 2
    }
  ],
  "transition": {
    "type": "slideleft",
    "duration": 0.8
  }
}

Error Codes

CodeMeaning
401Missing or invalid API key
402Insufficient credits
422Validation error — check your request body
429Rate limit exceeded — slow down requests
500Internal server error — try again or contact support