# GIF Posts

Animated GIFs are a fun, engaging way to capture attention. Use the Publer API to create or schedule single‐GIF posts with caption and thumbnail support across multiple platforms.

### Overview

GIF posts let you share looping animations with optional captions and metadata. Perfect for reactions, announcements, or adding personality to your feed.

### Key Features

* Cross-Platform GIF Publishing
* Custom Caption Support
* Thumbnail Preview
* Immediate or Scheduled Posting

### Platform Support & Limits

<table><thead><tr><th width="125.33514404296875">Network</th><th width="137.83392333984375">Size Limit</th><th>Notes</th></tr></thead><tbody><tr><td>Facebook</td><td>4 MB</td><td>—</td></tr><tr><td>Twitter/X</td><td>15 MB</td><td>4×4 to 2048×2048 px resolution</td></tr><tr><td>LinkedIn</td><td>Unlimited</td><td>Native GIF support</td></tr><tr><td>Telegram</td><td>50 MB</td><td>—</td></tr><tr><td>Mastodon</td><td>8 MB</td><td>Supports JPEG, PNG, WEBP, and GIF</td></tr><tr><td>Pinterest</td><td>Unlimited</td><td>—</td></tr></tbody></table>

### Request Structure

Send to the scheduling endpoint (`/posts/schedule`) or immediate‐publish (`/posts/schedule/publish`):

```json
POST /api/v1/posts/schedule
{
  "bulk": {
    "state": "scheduled",
    "posts": [
      {
        "networks": {
          "facebook": {
            "type": "gif",
            "text": "Check out this fun GIF!",
            "media": [
              {
                "id": "external",
                "type": "gif",
                "url": "https://media.giphy.com/media/xyz/giphy.gif",
                "path": "https://media.giphy.com/media/xyz/giphy.gif",
                "thumbnail": "https://media.giphy.com/media/xyz/200w.webp",
                "name": "Fun Reaction GIF"
              }
            ]
          }
        },
        "accounts": [
          { 
            "id": "ACCOUNT_ID", 
            "scheduled_at": "2025-08-02T23:18:00+02:00" 
          }
        ]
      }
    ]
  }
}
```

### Required Parameters

<table><thead><tr><th width="350.1494140625">Field</th><th>Description</th></tr></thead><tbody><tr><td><code>networks.{provider}.type</code></td><td>Must be <code>"gif"</code>.</td></tr><tr><td><code>networks.{provider}.media</code></td><td>Array of exactly one media object</td></tr><tr><td><code>networks.{provider}.media[].id</code></td><td><code>"external"</code> or your uploaded media ID</td></tr><tr><td><code>networks.{provider}.media[].type</code></td><td>Must be <code>"gif"</code>.</td></tr><tr><td><code>networks.{provider}.media[].url</code></td><td>Direct URL to the GIF file</td></tr><tr><td><code>networks.{provider}.media[].path</code></td><td>Same as URL or CDN path</td></tr><tr><td><code>networks.{provider}.media[].thumbnail</code></td><td>URL to a GIF thumbnail (e.g., WebP format)</td></tr><tr><td><code>networks.{provider}.media[].name</code></td><td>Descriptive name or title for the GIF</td></tr><tr><td><code>accounts[].id</code></td><td>Target social media account ID</td></tr><tr><td><code>accounts[].scheduled_at</code></td><td>ISO 8601 timestamp for scheduling (omit for immediate)</td></tr></tbody></table>

### Workflow

1. Reference or upload your GIF via the [Media Handling API](/docs/posting/create-posts/media-handling.md).
2. Build your post object with `"type": "gif"`.
3. (Optional) Add `"thumbnail"` and `"name"` for preview.
4. Call `/posts/schedule` or `/posts/schedule/publish`.
5. Monitor `/api/v1/job_status/{job_id}` for completion.

### Best Practices

* Compress GIFs to meet platform size limits without sacrificing quality.
* Provide a clear, engaging thumbnail to boost click-through.
* Use concise captions to add context or calls-to-action.

### Related Topics

* [Platform-Specific Formats](/docs/posting/create-posts/content-types/platform-specific-formats.md)
* [Publishing Methods](/docs/posting/create-posts/publishing-methods.md)
* [Content Types](/docs/posting/create-posts/content-types.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://publer.com/docs/posting/create-posts/content-types/gif-posts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
