Generate GIF from Video

550 atoms
Premium tier


This Utility API allows you to create animated GIFs from video files.
It accepts video files, urls of the videos, Youtube and Dailymotion urls, but may encounter potential issues in terms of functionality and accessibility. These issues can be because of the change in their policies governing content sharing, embedding, or playback mechanisms.
This tool can be used by businesses and content creators, as it supports customization of GIF extraction parameters, such as size and duration.
Endpoint Selector

API Playground


input file: output file

Request example

curl --location --request POST 'https://api.apyhub.com/generate/gif/file?output=test-sample.gif' \
--header 'apy-token: {{token}}' \
--form 'video=@"sample.mp4"'
--form 'start_time="0"'
--form 'duration="2"'
--form 'speed="0"'
--form 'size="400x300"'
Method: POST
Content Type: multipart/form-data
Query Parameter(s)
outputStringNoThe name of the output file, defaults to test-sample.gif
Request Body
videoStringYesthe source video file in any of supported formats (mp4,webm,flv,avi,mkv,mov,3gp)
start_timeStringNothe time in seconds at which you want to generate the GIF. For example: if a video is 3 minutes long and you want to generate GIF from 90th second then this will be as start_time: 90 and it defaults to 0 (generate GIF from 0th second of the video)
durationStringNothe GIF file length. For example: you want to generate the GIF for 4 seconds then it will be as duration: 4 and it defaults to 2 and max duration user can enter is 20(seconds)
speedStringNothe GIF speed at which you want gif to run. For example: you want to increase the GIF speed by 4x then it will be as speed:4 and to decrease the GIF speed by 4x then it will be as speed:-4. It defaults to 0 which is normal speed and user can enter any value from range -10 to 10
sizeStringNothe dimensions of the generated GIF file, should be in WidthxHeight format and it defaults to original_size
Sample Response
A successful request returns the GIF file in the output parameter specified. If the request fails, the response contains an error code and a message to help determine what went wrong.

HTTP Response Codes

The method may return one of the following HTTP status codes:
Status CodeDescription
200The request was successful.
400Invalid input - the file is corrupt or the supported inputs are not provided.
401Required authentication information is either missing or not valid for the resource.
500If any unexpected error occurs while processing the request.


All requests to ApyHub services need to be authenticated, currently we support tokens or basic authentication mechanisms. You can generate and view your existing credentials from workspace settings (on the left side of the navbar) and go to applications.
Points to note:
  • Credential secrets are generated on the fly and are not stored in plain text, so on generating a credential please save the secrets somewhere safe.
  • Use the apy-token as the header parameter to pass the token.
  • Use the Authorization header to send the basic authentication credentials.

Error codes

"error": {
"code": 105,
"message": "Invalid URL"
To search for a specific error code, enter the code in the search box below. Alternatively, you can click on the button to view a complete list of all error codes.