---
title: Generate GIF from Video Job API
slug: video-to-gif
url: https://apyverse.com/apyhub/service/video-to-gif
provider: ApyHub
categories: [File Conversion, File Manipulation]
auth: api_key
---

# Generate GIF from Video Job API

Convert a video file or URL into an animated GIF. Control size, speed, duration, and start time, then poll for a GIF URL.

## Endpoints

| Method | Path | Description | Atoms |
| --- | --- | --- | --- |
| POST | `/job/generate/gif/file` | What it does Submits a video file for conversion to GIF as an asynchronous job. The request sends t… | 400 |
| POST | `/job/generate/gif/url` | What it does Submits a video-to-GIF conversion job using a source video URL and returns a job ident… | 400 |
| GET | `/job/generate/gif/status/:job_id` | What it does Checks the status of a GIF conversion job by job ID. Returns a JSON object containing… | 5 |

## About

## What it does
Video to GIF converts a video into an animated GIF from either an uploaded file or a public video URL. You submit a video with optional controls for output size, playback speed, clip length, and start time, then poll the job until the GIF is ready.

Use the `/file-to-json` endpoint when you have a local video file in multipart form, or `/url-to-json` when the source is a publicly accessible `video_url`. Both endpoints accept `size` in `WIDTHxHEIGHT` format, `speed` from `-10` to `10`, `duration` capped at 20 seconds, and `start_time` in seconds. The `persistent` query flag lets you control whether the job should be kept around after processing.

The submission response is simple: you get back a `job_id` immediately. Check `/jobs/:job_id` to read the job `status`, which will be `pending`, `successful`, or `failed`. When the job finishes successfully, the status response includes a `url` for the generated GIF. If the job is still pending or has failed, the response can include a human-readable `message`.

This is a good fit for turning product demos, clips, or social video snippets into lightweight GIFs for docs, chat, issue trackers, or marketing pages.

## Usage

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyverse.com/apyhub/service/video-to-gif
