Eranol LogoEranol
BlogCommunityDocumentationPricingSign In

General

OverviewGet Started

MCP Connectors

ClaudeChatGPT
Instagram PublishInstagram Scheduled — CancelInstagram Scheduled — ListTikTokTikTok Scheduled — CancelTikTok Scheduled — ListTikTok StatusX PublishX Scheduled — CancelX Scheduled — ListYouTube PublishYouTube Scheduled — CancelYouTube Scheduled — List
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 SilenceThumbnailTrimVerifyWatermarkZoom
DeleteImage StatusStatusFFmpeg Results

Need help?

Contact Support

Generate a GIF from a video

POST

Generate a GIF from a video segment. Requires start_sec and end_sec (max 60s duration). Uses a two-pass palette method for high-quality output. Example: {"url": "https://cdn.example.com/video.mp4", "start_sec": 5, "end_sec": 15, "fps": 10, "width": 480}

Overview

Generate a GIF from a video segment.

Requires start_sec and end_sec (max 60s duration). Uses a two-pass palette method for high-quality output.

Endpoint

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

Request Body

{
  "fps": 10,
  "url": "https://www.soundhelix.com/examples/mp3/SoundHelix-Song.mp4",
  "width": 480,
  "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. Reaction GIF from a short clip

Extract a 3-second funny moment from a video as a high-quality GIF for sharing on social media.

Request Body

{
  "fps": 15,
  "url": "https://cdn.example.com/clip.mp4",
  "end_sec": 17,
  "start_sec": 14
}

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. Product demo loop

Create a looping GIF of a 5-second product interaction to embed in a landing page without autoplay video.

Request Body

{
  "fps": 12,
  "url": "https://cdn.example.com/product-demo.mp4",
  "end_sec": 7,
  "start_sec": 2
}

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. Tutorial step animation

Convert a short tutorial step from a screen recording into a GIF for documentation or README files.

Request Body

{
  "fps": 8,
  "url": "https://cdn.example.com/tutorial.mp4",
  "end_sec": 36,
  "start_sec": 30
}

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