You have solved the writing. Publishing is the other half, and it is more tedious than it looks.
Generating a post is the interesting problem. Getting it onto nine networks, each with its own limits, media rules and failure modes, is not, and it is where the roadmap quietly goes.
Hand the output straight to one call. No per-network formatting layer of your own.
Check a draft against a network's real rules for free, before publishing, and get back the same codes and fixes a real publish would return.
Errors carry a code and a fix written so a model can correct the draft and try again, rather than surfacing a status code to your user.
Analytics come back comparable across networks, so your tool can learn which of its own outputs performed and generate accordingly.
Generate, call validate to check it fits, publish, then read analytics back into whatever decides what to make next.
curl -X POST https://api.postlake.dev/v1/posts \
-H "Authorization: Bearer $POSTLAKE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "…", "accounts": ["acc_…"]}'Yes, and it costs nothing. Validation runs the same checks as a real publish and returns the same codes and fixes, without creating a post or spending anything.
You get told which network, by how many characters, and that you can set a shorter caption for that network alone. Your model can act on that without a person reading it.
Analytics return in one normalised shape across networks, so comparing outputs is arithmetic rather than a per-platform mapping job.