GIF Upload API — Full Developer Documentation
The GIFMakes API (v2.0) gives developers programmatic access to every GIF tool on the platform. Upload GIF and MP4 files, convert between formats, resize and compress animations, add text captions and watermarks, extract individual frames as base64 or PNG, blur faces automatically, manage your CDN storage, generate time-limited or password-protected sharing URLs, and retrieve analytics — all from a single RESTful API with predictable JSON responses.
Getting Started
1. Generate an API Key
Use the API Key Manager panel above to generate your first key. Choose Live for production workloads or Test for development. Keys are prefixed with gm_live_ or gm_test_ respectively. Your key is stored securely in browser localStorage for this demo.
2. Authenticate Every Request
Include the Authorization header with every request: Authorization: Bearer YOUR_KEY. Also send X-API-Version: 2.0 to pin to the current stable version and avoid breaking changes during future releases.
3. Try the Live Playground
Select any of the 25 endpoints from the dropdown in the Live Playground section, review the auto-populated headers and request body, optionally attach a file, then hit ▶ Send Request. The playground simulates real responses with accurate status codes, response times, and JSON bodies so you can prototype your integration before writing code.
Upload Endpoints
POST /v1/upload/gif — Upload a GIF directly (multipart/form-data). Returns CDN URL, dimensions, frame count, and duration.
POST /v1/upload/mp4 — Upload an MP4 video for storage without conversion.
POST /v1/convert/mp4-to-gif — Upload MP4 and immediately convert to GIF with configurable FPS, start/end trim, and width.
POST /v1/convert/images-to-gif — Pass an array of image URLs or a zip of images to stitch into an animated GIF with custom delays per frame.
Processing Endpoints
After upload, reference your GIF by its ID to process it: resize to specific dimensions, compress with color-depth and dithering controls, rotate by arbitrary degrees, reverse playback direction, add text overlays with font/size/color/position options, apply watermark images or text, blur detected faces automatically with our ML model, merge up to 10 GIFs side-by-side or sequentially, or split a long GIF into timed segments.
Frame-Level Access
The frames API lets you inspect and extract individual frames. GET /v1/gif/frames/count returns frame count and per-frame delay. POST /v1/gif/frames/extract saves frames as PNG files to your storage. POST /v1/gif/frames/base64 returns frames inline as base64-encoded strings — ideal for canvas processing in browser environments.
Sharing URLs
Generate four types of shareable links from any stored GIF: Public (open CDN URL), Private (signed URL with HMAC expiry), Password-protected (viewer must enter password), and Expiring (URL auto-invalidates after a set duration in seconds). All link types are configurable via the /v1/url/* endpoints.
Webhooks
Register your HTTPS endpoint via POST /v1/webhooks/configure or use the Webhook Configuration panel above. Subscribe to: upload_completed, conversion_completed, compression_completed, job_failed, file_deleted, and link_expired. Payloads are signed with HMAC-SHA256 — verify the X-GIFMakes-Signature header in your receiver.
Rate Limits & Quotas
Free tier: 1,000 requests/day, 10 GB storage, 100 MB max file size. Pro tier: 50,000 requests/day, 100 GB storage. Enterprise: custom limits with dedicated infrastructure. Rate limit headers are returned on every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
SDK Quick Start
Official SDKs are available for PHP, Python, JavaScript, Node.js, Go, Java, C#/.NET, and Ruby. All SDKs wrap the REST API with typed models and async/await support. Install via your language's package manager (see the SDK Libraries panel above) then initialize with your API key.
🚀 Ready to Build with the GIF API?
Generate your API key above and start making requests in seconds. Visit our full platform to explore all GIF tools.
gif api gif upload api gif rest api gif http api animated gif api gif hosting api gif processing api gif conversion api gif management api gif storage api upload gif api gif api endpoint gif api documentation gif api reference gif api tutorial gif api example gif api integration gif api developer gif api sdk gif api php gif api python gif api javascript gif api nodejs gif api java gif api go gif api ruby gif api csharp gif api swift gif api flutter gif api react gif api vue gif api angular gif api axios gif api fetch gif api curl gif api postman gif api swagger gif api openapi gif api graphql gif api websocket gif api webhook gif api batch gif api async gif api queue gif api rate limit gif api quota gif api authentication gif api oauth gif api jwt gif api token gif api key gif api security gif api https gif api cors gif api headers gif api response gif api request gif api upload gif api download gif api stream gif api chunk upload gif api resumable gif api multipart gif api base64 gif api binary gif api json gif api metadata gif api tags gif api search gif api filter gif api pagination gif api versioning gif api changelog gif api support gif api docs gif api help gif api faq gif api pricing gif api free gif api enterprise gif api license gif api gdpr gif api compliance gif api monitoring gif api logs gif api errors gif api testing gif api mock gif api sandbox gif api production gif api docker gif api kubernetes gif api serverless gif api lambda gif api aws gif api gcp gif api azure gif api cloudflare media api image api video api animation api file upload api cloud storage api content api asset api media management api file processing api image processing api video processing api media conversion api format conversion api encoder api decoder api image cdn video cdn media cdn content delivery file hosting api upload service storage service conversion service optimization service compression api resize api watermark api caption api annotation api detection api recognition api search service gif api mp4 gif api avi gif api mov gif api webm gif api images gif api frames gif api extract gif api count gif api base64 gif api rotate gif api flip gif api reverse gif api merge gif api split gif api crop gif api blur gif api background gif api text gif api color gif api palette gif api optimize gif api lossless gif api lossy gif api quality gif api dithering gif api transparent gif api loop gif api fps gif api delay gif api timing gif api speed gif api dimensions gif api width gif api height gif api format gif api convert gif api transform gif api filter gif api effect gif api process gif api v1 gif api v2 gif api version gif api key manager gif api bearer token gif api live key gif api test key gif api playground gif api mock gif api response gif api status code gif api 200 gif api 401 gif api 429 gif api 500 gif api error gif api success gif api sdk download gif api postman collection gif api openapi spec gif api yaml gif api cli gif api docker image gif api webhook config gif api delivery log gif api upload history gif api storage list gif api analytics gif api usage stats gif api quota gif api daily limit gif api success rate gif api avg response gif api latency gif api performance gif api uptime gif api reliability gif api cdn gif api endpoint reference gif api method badge gif api post gif api get gif api delete gif api auth required gif api rate limited gif api public url gif api private url gif api password url gif api expiring url gif api frames count gif api frames extract gif api frames base64 gif api blur faces gif api text overlay gif api watermark image gif api merge gifs gif api split gif gif api reverse gif gif api rotate gif gif api compress gif gif api resize gif gif api convert mp4 gif api convert images gif api upload mp4 gif api upload gif gif api sdk php gif api sdk python gif api sdk javascript gif api sdk nodejs gif api sdk go gif api sdk java gif api sdk csharp gif api sdk ruby programmatic gif upload server side gif upload headless gif upload automated gif upload bulk gif upload batch gif processing gif api integration guide gif api getting started gif api quickstart gif api best practices gif api limits gif api permissions gif api scopes gif api refresh token gif api access token gif api bearer token gif api hmac gif api signature gif api callback gif api polling gif api events gif api notifications gif api real time gif api status gif api health check gif api ping