Platforms

Mastodon: posting rules and settings

What a Mastodon channel accepts in Posty: media, limits, required fields, and the fields of the settings object for the API.

Basics

Platform
Mastodon
Character limit
500 (the connected account may have a different limit)
Media
Images or a video, optional.
settings.__type
mastodon-custom, mastodon
Required fields
No required settings fields.
Platform page

Post types

The same channel accepts more than one kind of post, and each kind has different requirements. The table shows what you need for each.

TypeMediaNotes
TextnoneNo extra notes.
ImageimagesNo extra notes.
Video1 videoNo extra notes.
Threadeach part has its ownThe remaining items in the value array go out as replies to the first, in order.

Rules

  • Mastodon has no platform-specific settings. The __type field is enough in the settings object.
  • You connect an account on any Mastodon server. You type the address of the server, Posty registers itself there, and you sign in as usual.
  • Use mastodon-custom as the __type for an account on any server, and mastodon for an account connected with the mastodon.social option.
  • Posty counts 500 characters, the Mastodon default, even where a server allows more.
  • You write a thread as extra parts of the post. They go out as replies to it, in order.

Settings fields

This platform has no settings fields

The settings object only needs the __type field. The editor does not show a separate settings section for this channel.

Examples

Each example is one item in the POST /public/v1/posts request's posts array. The envelope around it is always this:

{
  "type": "schedule",
  "date": "2026-09-15T09:00:00.000Z",
  "shortLink": false,
  "posts": [ /* the item below */ ]
}

Text post

The settings object only needs the __type field: mastodon-custom, or mastodon for a channel connected with the mastodon.social option.

{
  "integration": { "id": "<mastodon-channel>" },
  "value": [{ "content": "<p>Hello, fediverse!</p>", "image": [] }],
  "settings": { "__type": "mastodon-custom" }
}

Thread

{
  "integration": { "id": "<mastodon-channel>" },
  "value": [
    { "content": "<p>Part one.</p>", "image": [] },
    { "content": "<p>Part two.</p>", "image": [], "delay": 1 }
  ],
  "settings": { "__type": "mastodon-custom" }
}

The channel ID comes from the channel list, and the path values for images and videos from media upload. The exact schema for the connected account comes from the settings schema endpoint. From the command line, the same thing is the --settings flag. See the CLI examples.

Is something missing from this page? Email [email protected] or use the form on the Help page.