> ## Documentation Index
> Fetch the complete documentation index at: https://docs.postqueen.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> PostQueen's hosted API is https://api.postqueen.ai. The public API base is https://api.postqueen.ai/public/v1 and takes the raw API key in the Authorization header, with no Bearer prefix.
> The MCP server for posting is https://api.postqueen.ai/mcp/YOUR_API_KEY (or /mcp with Authorization: Bearer YOUR_API_KEY). docs.postqueen.ai/mcp only searches these docs and cannot post.
> The API key is under Connections > API Keys in the app, and only workspace admins can see it.

# X

> Connect X to PostQueen, what you can post to it, and the limits PostQueen checks before a post is scheduled.

export const ChannelStatus = ({status, children}) => {
  const look = ({
    available: {
      color: 'green',
      label: 'Available'
    },
    'in-review': {
      color: 'yellow',
      label: 'In review'
    },
    soon: {
      color: 'gray',
      label: 'Soon'
    }
  })[status] || ({
    color: 'gray',
    label: status
  });
  return <div className="pq-status not-prose" data-status={status}>
      <Badge color={look.color} shape="pill" size="md">{look.label}</Badge>
      {children ? <span className="pq-status-note">{children}</span> : null}
    </div>;
};

<ChannelStatus status="in-review">X can be connected once the free trial ends, or right away if you end the trial early.</ChannelStatus>

Schedule X posts, threads, images, GIFs and MP4 video, post into X Communities and publish long-form Articles. PostQueen publishes them through X's official API when their time comes.

<div className="pq-visual pq-visual-card pq-tint-lilac">
  <img noZoom src="https://mintcdn.com/forceplay/CEQwaAjYodG7Gh_r/images/site/channels/x.webp?fit=max&auto=format&n=CEQwaAjYodG7Gh_r&q=85&s=81ee7a0e32f58d3973627157ba602424" alt="A new X post in the PostQueen composer, with the post types X takes and the time it goes out" width="1200" height="1078" data-path="images/site/channels/x.webp" />
</div>

## What you can post

<CardGroup cols={2}>
  <Card title="Text" icon="type">
    280 characters, or 4,000 on a channel marked Verified, counted the way X counts them: a link is 23, most emoji and CJK characters are 2. Articles take up to 100,000.
  </Card>

  <Card title="Media" icon="image">
    Up to 4 pictures, or 1 GIF, or 1 MP4 video per post, never mixed. Every picture is resized to 1,000 px wide and sent as a GIF.
  </Card>

  <Card title="Post types" icon="layers">
    Post, thread, Community post and long-form Article, with optional Made with AI and Paid partnership labels.
  </Card>

  <Card title="Analytics" icon="chart-line">
    7, 30 or 90 days: impressions, likes, retweets, replies, quotes and bookmarks for each post, and the same six totaled over your own posts. No follower count.
  </Card>
</CardGroup>

**Not supported:** polls, quote posts, replies to other people's posts, and alt text.

## Checked before scheduling

PostQueen refuses a post that breaks these rules and shows the message in the composer:

| Rule                                                                   | Message                                                                                                                                                    |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| At most 4 pictures                                                     | “X allows up to 4 pictures per post”                                                                                                                       |
| A GIF or a video goes alone                                            | “X allows one video or one GIF per post, without other media”                                                                                              |
| Text within 280, 4,000 on a Verified channel, or 100,000 in an Article | “post is too long, please fix it”                                                                                                                          |
| A Community link in the right format                                   | “Invalid X community URL. It should be in the format: [https://x.com/i/communities/1493446837214187523”](https://x.com/i/communities/1493446837214187523”) |
| An Article has a title                                                 | “Article title is required”                                                                                                                                |
| An Article takes images only                                           | “X articles only support images”                                                                                                                           |
| A draft Article has no thread replies                                  | “A draft article cannot have thread replies, remove them or publish the article”                                                                           |

Video length and file size are X's rules, and PostQueen does not check them first. Some X accounts may not post a video longer than 2 minutes. X also limits unverified accounts to 50 posts and 200 replies a day across every app, and allows 1 cashtag per post.

## Connect X

<Note>
  Connecting X is locked during the free trial. On the X step in **Add Channel**, choose **End free trial to unlock X** to start your plan now, or wait for the trial to end. X channels you connected before keep working.
</Note>

<Steps>
  <Step title="Sign in on x.com">
    PostQueen connects whichever account is signed in on x.com in your browser. Switch to the account you want to post to first.
  </Step>

  <Step title="Open Add Channel">
    Open **Channels** and choose **Add Channel**, then **X**.
  </Step>

  <Step title="Authorize PostQueen">
    Approve the request on X.
  </Step>

  <Step title="Check that it connected">
    The channel appears in the **Channels** list with its avatar and name.
  </Step>
</Steps>

The **Long posts** setting, which raises the limit to 4,000 characters, is read from X when you connect. Change it later on the channel's page under **X options**, or in the channel's ⋮ menu on **Analytics** under **Publishing options**.

## Post settings

Each X post in the composer has these settings:

* **Post Type**: **Post** or **Article (long-form)**. It starts on **Post**.
* **Who can reply to this post?**: **Everyone**, **Accounts you follow**, **Mentioned accounts**, **Subscribers** or **Verified accounts**. It starts on **Everyone**.
* **Community**: paste a Community link such as `https://x.com/i/communities/1493446837214187523` to post into that Community. X also shows the post to your followers.
* **Made with AI** and **Paid partnership**: label the post on X.
* For an Article: **Article title**, **Article status** (**Save as draft** saves it to your X drafts, **Publish** publishes it) and an optional **Cover image**. The Article keeps its headings, bullet lists, bold text and links, and the pictures you attach are placed at its end. Video is not allowed.

**Subscribers**, **Verified accounts** and **Article (long-form)** need an X Premium subscription. When X reports that the account has none, the composer hides them and says "Restricted reply audiences and Articles need an X Premium subscription, and this account has none, so they are not offered here."

The field names and values for the API are on [X posting settings](/public-api/providers/x).

## Comments and threads

**Continue thread** adds parts to the post. Each part is posted as a reply to the part before, can carry its own media and has its own delay. Every part is held to the same media rule as the first post.

**Add a thread finisher** adds a closing post, such as a thank-you or a follow link, after the other parts. When you save, it becomes the thread's last part, which you can then edit like the others.

In the channel's **Automations** on the **Channels** page ([how automations work](/using/auto-plugs)), **Auto Repost Posts** reposts a post once it reaches a number of likes you set, and **Auto plug post** replies to it with a post you write in advance. Each checks the post every 6 hours, up to 3 times. In the composer, **Add Re-posters** has your other X channels repost the post.

## Good to know

* Every picture is resized to 1,000 px wide and re-encoded as a GIF before upload, which can lower photo quality.
* X has no way to tell whether a post that was interrupted went out. PostQueen then stops and asks you to check the account instead of posting twice.
* The Premium check uses what X reports. A Basic subscriber, or an account whose check fails, still sees every option, and X may refuse it when the post is published.
* While you write an Article, the composer's counter still measures against 280 or 4,000 and can turn red. When you schedule, the Article is held to 100,000.
* During the free trial, an X account that another PostQueen workspace already connected is refused until you end the trial.

## Troubleshooting

<AccordionGroup>
  <Accordion title="X unlocks when your free trial ends. End the trial to connect it now.">
    Your workspace is still in its free trial. End the trial from the X step in **Add Channel**, or wait for it to end, then connect X.
  </Accordion>

  <Accordion title="There is a problem posting, please edit your post and check character count and media attachments">
    X refused the post. Check the length and the media, then schedule it again.
  </Accordion>

  <Accordion title="You are not allowed to create a post with duplicate content">
    X refuses a post identical to one you published recently. Reword it and schedule it again.
  </Accordion>

  <Accordion title="The video you are trying to post is longer than 2 minutes, which is not allowed for this account">
    This X account may not post long videos. Trim the video to 2 minutes or less.
  </Accordion>

  <Accordion title="There can be maximum of one cashtag ($SYMBOL) per post">
    Keep one cashtag in the post and remove the others.
  </Accordion>

  <Accordion title="X authentication has expired, please reconnect your account">
    Choose **Reconnect channel** in the channel's menu and authorize PostQueen again.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Create a post" icon="square-pen" href="/using/create-a-post">
    Write once for several channels, then schedule it, save a draft or post now.
  </Card>

  <Card title="Channels and their status" icon="layout-grid" href="/channels/overview">
    Which networks you can connect today, what each one posts, and its text limit.
  </Card>

  <Card title="Post from an AI agent" icon="bot" href="/agents/overview">
    Ask Claude, ChatGPT, Grok Bot or another agent to schedule the post for you.
  </Card>

  <Card title="A post did not go out" icon="triangle-alert" href="/troubleshooting/post-failed">
    Why a post fails and what to do about it.
  </Card>
</CardGroup>
