One post in. Every platform out.

A Hermes Agent plugin for your text, photos and video. It fixes and rewrites your draft for each platform, keeps every face in frame, and checks every file before you post.

hermes plugins install mertkayacs/postkitty --yes-deps --enable

Video needs ffmpeg and ffprobe on your PATH.

Say this to your Hermes

Two messages. The first installs the plugin. The second goes in a new chat, because Hermes loads a plugin's tools when the next chat starts.

1. Install

Install the postkitty plugin for me: run `hermes plugins install mertkayacs/postkitty --yes-deps --enable` in the terminal. When it finishes, tell me to open a new chat so its tools load.

2. In the new chat

Use postkitty to turn this into posts for X, LinkedIn and Instagram and fix my wording: [your draft, or the path to a photo or video]

What you can ask

Each card is one message to Hermes. Replace the brackets with your own files and words. postkitty never posts or schedules anything; you upload the finished files yourself.

Several platforms

Use postkitty to fix this draft and write it for LinkedIn, Threads and Bluesky: [your draft]

A thread on X

Turn this into a thread on X with postkitty and keep my tone: [your long post]

A group photo

Crop [path to the photo] for Instagram and Bluesky with postkitty. Nobody gets cut off.

A landscape video

Make [path to the video] into vertical clips for TikTok, Reels and Shorts with postkitty.

Two people on camera

Two people talk in [path to the video]. Split the screen for Reels, cut to whoever is talking for TikTok, and keep the whole wide shot for Shorts.

Trim and cover

Trim the Reel to the first 45 seconds and use the frame at 0:12 as the cover.

Will it upload?

Will [path to the file] upload to TikTok as it is? Check it with postkitty.

Ask for changes

Make the LinkedIn post shorter and more formal, use other hashtags, and put the person on the left in focus in the Instagram photo.

Your draft, fixed for every platform

Paste a rough draft. postkitty fixes the spelling, grammar and punctuation, smooths out clumsy sentences, keeps your voice, and writes a version for each platform that fits its limit. Everything here comes from one real run.

Your draft

new episode of two builders is out!! maya and sam talks about how we shiped our app in one weekend, what we cut what broke at 2am and why the launch posts took longer then the code lol. its honestly the most usefull episode we did so far for anyone building on there own

Underlined: what postkitty fixed

What postkitty wrote

X

New episode of Two Builders is out. Maya and Sam talk about how we shipped our app in one weekend: what we cut, what broke at 2am, and why the launch posts took longer than the code. Our most useful episode so far if you're building on your own.

245 of 280 weighted characters

LinkedIn

New episode of Two Builders is out. Maya and Sam talk about how we shipped our app in one weekend: what we cut, what broke at 2am, and why the launch posts took longer than the code. It's honestly the most useful episode we've done so far, especially if you're building on your own. #BuildInPublic #Startups #Podcast

319 of 3,000 characters

Threads

New episode of Two Builders is out! Maya and Sam talk about how we shipped our app in one weekend: what we cut, what broke at 2am, and why the launch posts took longer than the code (lol). Honestly the most useful episode we've done so far if you're building on your own.

271 of 500 characters

Bluesky

New Two Builders episode is out. Maya and Sam on shipping our app in one weekend: what we cut, what broke at 2am, and why the launch posts took longer than the code. Our most useful one yet if you're building on your own.

221 of 300 graphemes

Then ask for a change

Make the LinkedIn post more formal, and turn the X post into a thread of two posts.

LinkedIn, more formal

We have released a new episode of Two Builders. Maya and Sam discuss how we shipped our app in one weekend: what we cut, what broke at 2am, and why the launch posts took longer to produce than the code. It is the most useful episode we have made so far, particularly for anyone building on their own. #BuildInPublic #Startups #Podcast

337 of 3,000 characters

X, as a two-post thread

1/2

New episode of Two Builders is out. Maya and Sam talk about how we shipped our app in one weekend.

98 of 280 weighted characters

2/2

What we cut, what broke at 2am, and why the launch posts took longer than the code. Our most useful episode so far if you're building on your own.

146 of 280 weighted characters

See it work

Each card shows the original, a plain center crop and what postkitty made.

OriginalCenter croppostkitty

Two people talking, one vertical frame

They sit side by side in a wide shot. A center crop cuts both of them in half; postkitty splits the screen so each stays whole.

His Girl Friday (1940), Columbia Pictures. Public domain.

OriginalCenter croppostkitty

Two people in one shot

postkitty finds both faces and keeps them in a vertical frame.

Night of the Living Dead (1968), George A. Romero. Public domain.

OriginalCenter croppostkitty

Two people at opposite edges of a wide frame

They stand at opposite edges of a wide frame. A center crop keeps the empty middle; postkitty splits the screen so both stay in shot.

Tears of Steel, Blender Foundation, CC BY 3.0

OriginalCenter croppostkitty

A cartoon with no human faces

postkitty follows what stands out in each shot.

Steamboat Willie (1928), Walt Disney and Ub Iwerks. Public domain (US).

OriginalCenter croppostkitty

Action that moves across the screen

The frame stays with the action.

Superman, Fleischer Studios. Public domain.

OriginalCenter croppostkitty

A scene where the speaker stands at the edge

A center crop shows the closed door; postkitty keeps the man who is speaking.

Elephants Dream, Blender Foundation and Netherlands Media Art Institute, CC BY 2.5

OriginalCenter croppostkitty

A character at the edge of the frame

The squirrel sits at the edge of the frame. Instead of cropping it out, postkitty keeps the whole shot.

Big Buck Bunny, Blender Foundation, CC BY 3.0

OriginalCenter croppostkitty

A person walking across the room

The frame follows her as she walks; a center crop loses her halfway.

OriginalCenter croppostkitty

Two hosts, one vertical frame

They sit at the far edges; postkitty gives each one half of the screen.

A subject off to one side. Three views side by side: the original, a center crop and the postkitty crop.OriginalCenter croppostkitty

A subject off to one side

The center crop leaves an empty window at the edge. postkitty keeps the subject in frame.

Two hosts sitting far apart. Three views side by side: the original, a center crop and the postkitty crop.OriginalCenter croppostkitty

Two hosts sitting far apart

postkitty splits the screen so both stay visible.

Five people in one photo. Three views side by side: the original, a center crop and the postkitty crop.OriginalCenter croppostkitty

Five people in one photo

The center crop cuts faces off; postkitty keeps everyone.

1 / 12

One request, start to finish

These come from one real run on a podcast clip and a team photo. The people in them are AI-generated.

A Hermes terminal session: the request for five platforms, the three postkitty tool calls with their times, and the ranked platforms in the reply.

Ask in plain words

Name the platforms and your files and paste the draft. Hermes calls the postkitty tools and replies with the platforms ranked for your post.

The team photo with the center-crop area marked, the 4:5 center crop that cuts off the two people at the edges, and the postkitty 4:5 image with all five people.

Every face stays in frame

A center crop of this team photo cuts off the two people at the edges. The postkitty feed image keeps all five.

The copy section of the review board: the Instagram draft at 216 of 2,200 characters with the fold marked, and the TikTok draft at 128 of 2,200 UTF-16 units.

Copy for every platform

Each draft shows its count against the platform's limit and where the feed cuts it off, with a button to copy it.

The advice panel of the review board: the audience and tone of the post, Instagram, TikTok, YouTube, LinkedIn and X ranked with a reason for each, and tips.

See where it fits

The review board opens with the audience and tone of your post, the platforms ranked for it, and tips.

How it works

You give Hermes a draft, photos or a landscape video. You get checked files for each platform, the copy, and advice for each audience.

Scan

Reads your text, photos and video and the platforms you want.

Write

Fixes your draft and writes the copy for each platform, counted by its rules.

Make

Crops, reframes and trims one file for each platform. Faces stay in frame.

Check

Checks each file against the platform's published limits.

Review

You see every file on a review board and approve it or ask for a redo.

What it does

Platforms

Sizes and limits for each platform, with source links.

PlatformTargetSizeKey limitsSource
InstagramReel1080 × 1920max 900 s · max 1 GB · 23-60 fpsPlatform docs
Feed1080 × 1350Platform docs
Story1080 × 1920max 60 sPlatform docs
TikTokVideo1080 × 1920max 600 s · max 4 GB · 23-60 fpsPlatform docs
YouTube ShortsShorts1080 × 1920max 180 sPlatform docs
XVideo1920 × 1080max 140 s · max 537 MBPlatform docs
Image1600 × 900max 5 MBPlatform docs
LinkedInVideo1080 × 1350max 900 s · max 5 GB · 10-60 fpsPlatform docs
Image1080 × 1080Platform docs
ThreadsVideo1080 × 1920max 300 sPlatform docs
Image1080 × 1350-
BlueskyVideo1080 × 1920max 600 s · max 300 MBPlatform docs
Image1080 × 1350max 2 MBPlatform docs
FacebookReel1080 × 1920-
Feed1080 × 1350-

Private by design

It runs on your machine and uploads nothing. It needs no API keys.

Frequently asked questions

What do I need?

Hermes Agent and ffmpeg. postkitty has no API key of its own; the copy and advice come from the model Hermes already uses.

Can I change the result?

Yes. Ask Hermes in plain words, for example a more formal LinkedIn post, a thread on X or another person in frame. postkitty makes that text or file again and checks it.

Install postkitty

One command in Hermes Agent.

hermes plugins install mertkayacs/postkitty --yes-deps --enable

Video needs ffmpeg and ffprobe on your PATH.

Or say this to your Hermes

1. Install

Install the postkitty plugin for me: run `hermes plugins install mertkayacs/postkitty --yes-deps --enable` in the terminal. When it finishes, tell me to open a new chat so its tools load.

2. In the new chat

Use postkitty to turn this into posts for X, LinkedIn and Instagram and fix my wording: [your draft, or the path to a photo or video]

Built for the Hermes Agent hackathon