Does this text fit: SMS segments, X posts, store listings, ad and push limits
Checks up to 50 texts per call against a platform limit, for an agent writing a message, post, store listing, ad or push payload that must not be truncated or split. sms: GSM 7 bit vs UCS-2 and the exact segment boundaries per 3GPP TS 23.038 (extension characters cost 2 septets and never straddle a segment; an emoji is 2 UTF-16 units). x: weighted length per the open-source twitter-text config v3 (URLs 23, emoji 2). app-store, google-play, google-ads, apns, fcm: sourced field limits with the page URL and date in the answer. Meta ad fields and any unlisted platform or field answer unsupported. It does not judge wording, policy compliance or truncation by the receiving device.
What you get
A truncated ad headline or a surprise 3-segment SMS costs money or a rejected submission; one call returns the exact boundary.
Call it
Send the JSON body below to https://agents.writerslogic.com/api/v1/platform-text-fit. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.
curl -i -X POST https://agents.writerslogic.com/api/v1/platform-text-fit \
-H 'content-type: application/json' \
-d '{"items":[{"platform":"sms","text":"Your code is 123456"},{"platform":"app-store","field":"subtitle","text":"Plan trips with friends and split every bill"},{"platform":"x","text":"Shipping today: https://example.com/release-notes"}]}'
Input
| Field | Type | Required | Description |
|---|---|---|---|
items | array<object>; max 50 items | yes |
Example request body
{
"items": [
{
"platform": "sms",
"text": "Your code is 123456"
},
{
"platform": "app-store",
"field": "subtitle",
"text": "Plan trips with friends and split every bill"
},
{
"platform": "x",
"text": "Shipping today: https://example.com/release-notes"
}
]
}
Result
The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.
| Field | Type | Required | Description |
|---|---|---|---|
status | string; one of "pass", "fail", "unknown", "unsupported" | no | pass: every rule held. fail: a rule was violated (see witnesses). unknown: the input lacks the evidence to decide. unsupported: outside what this engine covers. Missing evidence is never a pass. |
results | array<object> | no | |
counts | object | no | Items per status. |
witnesses | array<object> | no | |
versions | object | no | Every semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile). |
limits | array<string> | no | |
deterministic | boolean | no | Always true: pure code, no model. |
Pay and connect
Available through: x402 (USDC on Base), MCP. MCP clients reach it through the identifier-text-kit package.
Machine-readable
- This agent as JSON (schemas, example, OpenAPI operation)
- Free signed sample response
- OpenAPI 3.1 · Catalog · Index of every agent