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

Progress Bar

POST

Add an animated progress bar to a video. Supports two styles: 'grow': bar fills left-to-right over the video duration 'shrink': bar starts full and shrinks (countdown, like social media stories) Example: {"url": "https://cdn.example.com/video.mp4", "style": "shrink", "color": "00ff00", "position": "top"}

Overview

Add an animated progress bar to a video.

Supports two styles:

'grow': bar fills left-to-right over the video duration 'shrink': bar starts full and shrinks (countdown, like social media stories)

Endpoint

POST https://eranol.com/api/v1/ffmpeg/video/progress-bar

Request Body

{
  "url": "https://cdn.example.com/video.mp4"
}

Response Example

{
  "job_id": "f595b9ad-1e15-4452-b7c2-8f8ff09c0a34",
  "status": "pending",
  "message": "Job created. Poll status_url for progress.",
  "job_type": "caption",
  "result_url": "https://eranol.com/api/v1/ffmpeg/result/f595b9ad-1e15-4452-b7c2-8f8ff09c0a34",
  "status_url": "https://eranol.com/api/v1/ffmpeg/status/f595b9ad-1e15-4452-b7c2-8f8ff09c0a34"
}

Use Cases

1. Bar fills left to right

Request Body

{
  "url": "https://cdn.example.com/video.mp4"
}

2. Grow bar at top

Request Body

{
  "url": "https://cdn.example.com/video.mp4",
  "color": "ffffff",
  "style": "grow",
  "height": 4,
  "opacity": 0.7,
  "padding": 60,
  "bg_color": "000000",
  "position": "top"
}

3. Grow bar at bottom

Request Body

{
  "url": "https://cdn.example.com/video.mp4",
  "color": "1da1f2",
  "style": "grow",
  "height": 10,
  "opacity": 1,
  "padding": 60,
  "bg_color": "0d0d0d",
  "position": "bottom"
}

4. Shrink — Bar drains right to left

Request Body

{
  "url": "https://cdn.example.com/video.mp4",
  "color": "00ff00",
  "style": "shrink",
  "height": 5,
  "opacity": 1,
  "padding": 60,
  "bg_color": "333333",
  "position": "top"
}

5. YouTube Shorts countdown — bottom, red, thick

Request Body

{
  "url": "https://cdn.example.com/video.mp4",
  "color": "ff0000",
  "style": "shrink",
  "height": 8,
  "opacity": 0.9,
  "padding": 60,
  "bg_color": "1a1a1a",
  "position": "bottom"
}

6. Green border grow — streaming/game content

Request Body

{
  "url": "https://cdn.example.com/video.mp4",
  "color": "00ff00",
  "style": "border_grow",
  "height": 8,
  "opacity": 0.9,
  "bg_color": "111111"
}

7. Red border shrink — urgency/timer feel

Request Body

{
  "url": "https://cdn.example.com/video.mp4",
  "color": "ff0000",
  "style": "border_shrink",
  "height": 8,
  "opacity": 0.95,
  "bg_color": "1a1a1a"
}

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