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

Extract images from a video

POST

Extract frames from a video as PNG images. Requires start_sec and end_sec to specify the time range. Default FPS is 1 (one frame per second). Returns JSON with download links. Example: {"url": "https://cdn.example.com/video.mp4", "start_sec": 10, "end_sec": 30, "fps": 2}

Overview

Extract frames from a video as PNG images.

Requires start_sec and end_sec to specify the time range. Default FPS is 1 (one frame per second). Returns JSON with download links.

Endpoint

POST https://eranol.com/api/v1/ffmpeg/video/extract/images

Request Body

{
  "fps": 1,
  "url": "https://www.soundhelix.com/examples/mp3/SoundHelix-Song.mp4",
  "end_sec": 0,
  "start_sec": 0
}

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. 1 frame per second — scene overview

Extract one frame every second across a 10-second clip to create a thumbnail strip for video preview.

Request Body

{
  "fps": 1,
  "url": "https://cdn.example.com/product-demo.mp4",
  "end_sec": 10,
  "start_sec": 0
}

Response

{
  "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"
}

2. High FPS — motion analysis

Extract 10 frames per second to analyse rapid motion (e.g. gesture detection or quality control on a production line).

Request Body

{
  "fps": 10,
  "url": "https://cdn.example.com/assembly-line.mp4",
  "end_sec": 8,
  "start_sec": 5
}

Response

{
  "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"
}

3. Single keyframe — cover image

Extract a single frame at a specific second to use as a video cover or social media preview card.

Request Body

{
  "fps": 1,
  "url": "https://cdn.example.com/webinar.mp4",
  "end_sec": 13,
  "start_sec": 12
}

Response

{
  "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"
}

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