GIPHY Alt Text for GIFs is now available! Email us to learn more at bd.team@giphy.com.
GIPHY Clips (GIFs with Sound)have arrived! Learn about adding Clips to your app in our documentation!
Need to move your project from Tenor to GIPHY?   Check out our  migration guide!
logo

Upload Endpoint

GIPHY Upload allows you to upload your content programmatically on GIPHY.com. We accept animated GIFs or video files up to 100MB.

Note: If you're using a rate-limited key assigned by the developer portal, you will not be able to specify a GIPHY channel username to your request and you will be limited to 10 uploads per day. To have these limits removed, you can apply for a production key from your dashboard. Only approved apps will be able to include a GIPHY channel username. You can use this endpoint to upload your content, attach tags, and other meta tag in a single HTTP or HTTPS POST request.

URL
upload.giphy.com/v1/gifs
Request Parameters:Example:Description:
api_key: string(required)YOUR_API_KEYGIPHY API Key.
username: stringJoeCool3000Your assigned username (required for approved apps only).
file: string(binary)The animated GIF or video file you'd like to upload. (Local file resource, required if no source_image_url supplied).
source_image_url: stringhttp://www.mysite.com/myfile.mp4The URL for the image or video you wish to upload (required if no file parameter specified).
tags: stringpets, cat, meowA comma delimited list of tags to be applied to the upload.
source_post_url: stringhttp://www.mysite.com/my-post/The URL of the source of the asset.
customer_id: stringe826c9fc5c929e0d6c6d423841a282aaAn identifier assigned to a user in your platform. Use it consistently across that user's requests. If you do not have your own user ID, you can use the identifier returned by the Random ID Endpoint.
country_code: stringUSSpecify the country of origin of the end user request, in two-letter ISO 3166-1 alpha-2 format.

Note: Please specify country code if requests are proxied through your service.
region: stringVASpecify the country subdivision of the end user request, found in ISO 3166-2 format.

Note: Please specify region if requests are proxied through your service and country_code is also proxied.
Successful Response (200 OK)