# Networks

Detailed platform-specific capabilities, content support, and limitations for all social networks available via the Publer API.

### Supported Networks

| Network         | Provider    | Content Types                               | Media Support                    | Character Limit                |
| --------------- | ----------- | ------------------------------------------- | -------------------------------- | ------------------------------ |
| Facebook        | `facebook`  | status, photo, video, link, carousel        | Images, videos, links            | 10,000                         |
| Instagram       | `instagram` | photo, video, carousel, story, reel         | Images, videos                   | 2,200                          |
| Twitter/X       | `twitter`   | status, photo, video, link                  | Images, videos, links, polls     | 280 (25,000 for premium)       |
| LinkedIn        | `linkedin`  | status, photo, video, link, document, polls | Images, videos, documents, links | 3,000                          |
| Pinterest       | `pinterest` | photo, video                                | Images, videos, links            | 500                            |
| Google Business | `google`    | status, photo, video, link                  | Images, videos, links            | 1,500                          |
| TikTok          | `tiktok`    | video, single or multi-photo/carousel posts | Videos                           | 2,200                          |
| YouTube         | `youtube`   | video, shorts                               | Videos                           | No fixed limit (100 chars min) |
| Telegram        | `telegram`  | status, photo, video, link                  | Images, videos, links            | 4,096                          |
| Mastodon        | `mastodon`  | status, photo, video, link, polls, gif      | Images, videos, links            | 500+ (server dependent)        |
| Threads         | `threads`   | status, photo, video                        | Images, videos                   | 500                            |
| Bluesky         | `bluesky`   | status, photo, video                        | Images, videos                   | 300                            |

### Network-Specific Details

#### Facebook

**Provider:** `facebook`

**Content Types:**

* Text posts
* Text posts with background color
* Photo posts (single or multiple)
* Video posts
* Link posts
* Carousel posts
* Stories

**Limitations:**

* Text: 10,000 characters
* Photos: Up to 10 per post
* Videos: Up to 240 minutes, 10GB max file size
* Link previews: Automatically generated from URL

**Special Considerations:**

* Page permissions required for business pages
* Video aspect ratio: 16:9 to 9:16 supported
* Image aspect ratio: 1.91:1 to 1:1 recommended
* Hashtags supported but used less frequently than other platforms

**Example:**

```json
"facebook": {
  "type": "status",
  "text": "Facebook-specific content with more detailed formatting"
}
```

#### Instagram

**Provider:** `instagram`

**Content Types:**

* Photo posts (single or multiple)
* Video posts
* Carousel posts
* Stories
* Reels

**Limitations:**

* Text (caption): 2,200 characters
* Photos: Up to 10 per carousel
* Videos: Up to 60 minutes, 10GB max file size
* Stories: 15 seconds per segment
* Reels: 3-90 seconds

**Special Considerations:**

* Business account required for API posting
* Image aspect ratio: Between 1.91:1 and 4:5 (square 1:1 recommended)
* Cannot post links in captions (they won't be clickable)
* First comments can be auto-posted with hashtags

**Example:**

```json
"instagram": {
  "type": "carousel",
  "text": "Instagram caption with #hashtags",
  "media": [
    {"id": "media_id_1", "type": "image"},
    {"id": "media_id_2", "type": "image"}
  ]
}
```

#### Twitter/X

**Provider:** `twitter`

**Content Types:**

* Text posts
* Photo posts (single or multiple)
* Video posts
* Link posts
* Polls

**Limitations:**

* Text: 280 characters (25,000 for premium accounts)
* Photos: Up to 4 per tweet
* Videos: Up to 140 seconds for standard users
* URLs count as 23 characters regardless of length
* GIFs limited to 15MB

**Special Considerations:**

* Developer account required for API access
* Hashtags and @mentions count toward character limit
* Media attachments no longer count toward the 280 character limit
* Alt text for images highly recommended

**Example:**

```json
"twitter": {
  "type": "status",
  "text": "Concise Twitter post with #hashtags and @mentions"
}
```

#### LinkedIn

**Provider:** `linkedin`

**Content Types:**

* Text posts
* Photo posts
* Video posts
* Link posts
* Document posts (PDFs)

**Limitations:**

* Text: 3,000 characters
* Photos: Up to 9 per post
* Videos: Up to 15 minutes, 5GB max file size
* Documents: PDF format, 100MB max

**Special Considerations:**

* Supports markdown-style formatting (bold, italic, bullets)
* Company page access requires admin privileges
* More formal tone typically recommended
* Professional content performs best

**Example:**

```json
"linkedin": {
  "type": "status",
  "text": "**Professional announcement** with formatted text:\n\n• Point one\n• Point two\n• Point three"
}
```

#### Pinterest

**Provider:** `pinterest`

**Content Types:**

* Photo pins
* Video pins

**Limitations:**

* Description: 500 characters
* Images: 20MB max, 1000x1500px recommended
* Videos: 30 seconds minimum, 15 minutes maximum

**Special Considerations:**

* Must include an image or video (no text-only posts)
* Vertical images (2:3 ratio) perform best
* Board selection required when posting
* Alt text important for search optimization

**Example:**

```json
"pinterest": {
  "type": "photo",
  "text": "Pin description with #hashtags",
  "board_id": "board_id_here",
  "media": [{"id": "media_id", "type": "image"}]
}
```

#### Google Business Profile

**Provider:** `google`

**Content Types:**

* Text posts
* Photo posts
* Video posts
* Link posts

**Limitations:**

* Text: 1,500 characters
* Photos: Up to 10 per post
* Videos: Up to 30 seconds

**Special Considerations:**

* Location ID required for multi-location businesses
* Posts expire after 7 days by default
* Call-to-action buttons available (Learn more, Book, Order, etc.)
* Location-specific content recommended

**Example:**

```json
"google": {
  "type": "status",
  "text": "Local business update with important information",
  "location_id": "location_id_here",
  "cta": {
    "type": "LEARN_MORE",
    "url": "https://example.com/details"
  }
}
```

#### TikTok

**Provider:** `tiktok`

**Content Types:**

* Video posts
* Single or multi-photo/carousel posts

**Limitations:**

* Caption: 2,200 characters
* Videos: 3 seconds to 10 minutes
* File size: 500MB maximum
* Carousels can be up to 10 photos. At the moment, videos cannot be included in a carousel post.

**Special Considerations:**

* Business account required for API posting
* Vertical video format (9:16) required
* Sound/music highly recommended
* Cannot edit video after posting

**Example:**

```json
"tiktok": {
  "type": "video",
  "text": "Caption with #hashtags #fyp",
  "media": [{"id": "video_id", "type": "video"}]
}
```

#### YouTube

**Provider:** `youtube`

**Content Types:**

* Video posts
* Shorts

**Limitations:**

* Title: 100 characters
* Description: 5,000 characters
* Tags: Up to 500 characters total
* Videos: Up to 12 hours, 256GB maximum
* Shorts need to be shot vertically and be up to 3 minutes long.

**Special Considerations:**

* Channel verification required for longer videos
* Thumbnail image can be specified
* Category selection required
* Privacy setting options (public, private, unlisted)

**Example:**

```json
"youtube": {
  "type": "video",
  "text": "Video description with timestamps and links",
  "title": "Video Title Here",
  "media": [{"id": "video_id", "type": "video"}],
  "privacy": "public",
  "category": "22"  // People & Blogs category
}
```

#### Telegram

**Provider:** `telegram`

**Content Types:**

* Text posts
* Photo posts
* Video posts
* Link posts

**Limitations:**

* Text: 4,096 characters per message
* Photos: Up to 10 per post
* Videos: Up to 2GB per file
* File attachments: Up to 2GB

**Special Considerations:**

* Bot API token required
* Channel or group specified by chat ID
* Markdown and HTML formatting supported
* Silent posting option available

**Example:**

```json
"telegram": {
  "type": "status",
  "text": "Telegram message with *bold* and _italic_ formatting",
  "disable_notification": false
}
```

#### Mastodon

**Provider:** `mastodon`

**Content Types:**

* Text posts
* Photo posts
* Video posts
* Link posts
* Gif Posts

**Limitations:**

* Text: 500 characters minimum (varies by server)
* Photos: Up to 4 per post
* Videos: Format and size limits vary by server
* GIFs need to be less than 8 MB and have a resolution up to 1280x720 pixels.

**Special Considerations:**

* Instance URL required for posting
* Content warnings can be specified
* Visibility options: public, unlisted, private, direct
* Alt text essential for accessibility

**Example:**

```json
"mastodon": {
  "type": "status",
  "text": "Mastodon post with #hashtags",
  "visibility": "public",
  "content_warning": "Optional content warning"
}
```

#### Threads

**Provider:** `threads`

**Content Types:**

* Text posts
* Photo posts
* Video posts

**Limitations:**

* Text: 500 characters
* Photos: Up to 10 per post
* Videos: Up to 5 minutes

**Special Considerations:**

* Requires Instagram business account connection
* Cannot schedule posts for specific times via API
* No direct link posting (links are non-clickable)
* Hashtags supported but used differently than Instagram

**Example:**

```json
"threads": {
  "type": "status",
  "text": "Threads update with conversational tone"
}
```

#### Bluesky

**Provider:** `bluesky`

**Content Types:**

* Text posts
* Photo posts

**Limitations:**

* Text: 300 characters
* Photos: Up to 4 per post

**Special Considerations:**

* Decentralized platform in beta stage
* API access requires developer invitation
* Custom domains and handles supported
* Limited media format support

**Example:**

```json
"bluesky": {
  "type": "status",
  "text": "Bluesky post with limited characters but #tags",
  "media": [{"id": "image_id", "type": "image"}]
}
```

### Media Specifications

#### Image Requirements

| Network         | Optimal Dimensions | Aspect Ratio | Max File Size    |
| --------------- | ------------------ | ------------ | ---------------- |
| Facebook        | 1200x630px         | 1.91:1       | 8MB              |
| Instagram       | 1080x1080px        | 1:1 to 4:5   | 8MB              |
| Twitter         | 1200x675px         | 16:9         | 5MB              |
| LinkedIn        | 1200x627px         | 1.91:1       | 5MB              |
| Pinterest       | 1000x1500px        | 2:3          | 20MB             |
| Google Business | 1200x900px         | 4:3          | 5MB              |
| Telegram        | 1280x720px         | 16:9         | 10MB             |
| Mastodon        | 1200x900px         | 4:3          | Server dependent |
| Threads         | 1080x1080px        | 1:1 to 4:5   | 8MB              |
| Bluesky         | 1200x675px         | 16:9         | 5MB              |

#### Video Requirements

| Network   | Optimal Dimensions | Aspect Ratio | Duration         | Max File Size |
| --------- | ------------------ | ------------ | ---------------- | ------------- |
| Facebook  | 1280x720px         | 16:9         | 1s - 240m        | 10GB          |
| Instagram | 1080x1920px        | 9:16         | 3s - 60m         | 650MB         |
| Twitter   | 1280x720px         | 16:9         | 0.5s - 140s      | 512MB         |
| LinkedIn  | 1920x1080px        | 16:9         | 3s - 15m         | 5GB           |
| Pinterest | 1080x1920px        | 9:16         | 4s - 15m         | 2GB           |
| TikTok    | 1080x1920px        | 9:16         | 3s - 10m         | 500MB         |
| YouTube   | 1920x1080px        | 16:9         | No minimum - 12h | 256GB         |
| Telegram  | 1280x720px         | 16:9         | No limits        | 2GB           |
| Threads   | 1080x1920px        | 9:16         | 3s - 5m          | 650MB         |

### Best Practices

* **Cross-Platform Posting**
  * Provide network-specific overrides under `networks` for optimal formatting.
  * Adjust media dimensions to each platform’s specs.
  * Tailor text length to char limits.
* **Platform Selection**
  * Choose networks based on audience and content type.
  * Leverage visual platforms (Instagram, Pinterest) for images/video-heavy campaigns.
  * Use LinkedIn for professional announcements; Facebook/Instagram for broad reach.
* **Error Prevention**
  * Pre-validate media compatibility via upload responses’ `validity` flags.
  * Poll job status to catch and handle errors early.

### Related Topics

* [Content Types](/docs/posting/create-posts/content-types.md) - Detailed information about different content formats
* [Media Handling](/docs/posting/create-posts/media-handling.md) - Guide to uploading and managing media files
* [Publishing Methods](/docs/posting/create-posts/publishing-methods.md) - Options for publishing to different networks


---

# 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/networks.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.
