agents/content-copywriter
A model that can write anything will happily write something false.
Fluency is not the hard part any more — it stopped being the hard part around 2023. The hard part is a claim that is vivid, on-brand, in the right language, inside the character limit, and still true. Every bullet here points at an attribute.
title
77/200
SonicPro X7 Wireless Noise Cancelling Headphones — 48H Battery, Bluetooth 5.4
SILENCE THE COMMUTE: hybrid active noise cancellation blocks 42 dB of engine roar and city traffic.
← anc_depth_db = 42
48-HOUR BATTERY: two full days of playback; a 10-minute charge returns 6 hours.
← battery_life_h = 48 · fast_charge_min = 10
MULTIPOINT CONNECT: switches between a laptop call and your phone without re-pairing.
← bluetooth_multipoint = true
240 g ON YOUR HEAD: memory foam cushions on a titanium band, built for long-haul.
← mass_g = 240 · headband_material = titanium
CLINICALLY PROVEN to reduce listening fatigue and protect long-term hearing health.
✕ blocked · No attribute substantiates a health claim
The struck-through line is what the agent refused to ship
Writing was never the bottleneck.
Any general-purpose model will produce four confident, well-cadenced bullet points about a pair of headphones in about two seconds. It will do it without seeing your spec sheet, and the output will read beautifully.
It will also assert a battery life it inferred from the category, an ANC figure that sounds plausible, and a comfort claim nobody measured. At forty thousand SKUs, a small fraction of that is a returns problem and a legal one.
So the interesting constraint is not quality of prose. It is refusing to write the sentence you cannot support — while still producing copy good enough that the merchandising team does not quietly rewrite it.
This agent generates only from resolved attributes. If a claim has no attribute behind it, the line is blocked and reported rather than softened into something vague enough to survive review.
Every line, and the attribute under it.
Three voices, three locales. The locales are written rather than translated — note that the bullet counts differ, because the character budgets and search phrasing do.
SonicPro X7 Wireless Noise Cancelling Headphones — 48H Battery, Bluetooth 5.4
SILENCE THE COMMUTE: hybrid active noise cancellation blocks 42 dB of engine roar and city traffic.
anc_depth_db = 42
48-HOUR BATTERY: two full days of playback; a 10-minute charge returns 6 hours.
battery_life_h = 48 · fast_charge_min = 10
MULTIPOINT CONNECT: switches between a laptop call and your phone without re-pairing.
bluetooth_multipoint = true
240 g ON YOUR HEAD: memory foam cushions on a titanium band, built for long-haul.
mass_g = 240 · headband_material = titanium
CLINICALLY PROVEN to reduce listening fatigue and protect long-term hearing health.
No attribute substantiates a health claim
“Clinically proven” is a regulated construction. It requires a study on file, and no attribute on this record references one. The agent does not rewrite it into something weaker-but-still-implying — that is how unsupportable claims survive review. It removes the line and reports what document would be needed to legitimately make it.
Every model on the market can do the left column. The right column is the entire product.
Writes from the resolved record, so every factual claim in a bullet points at an attribute that has a source document behind it.
Writes per locale rather than translating, because a German title that ranks is not a translation of an English one — the search phrasing, the compounds and the character budget all differ.
Respects the channel's real limits at generation time, so copy never has to be truncated afterwards by something that cannot read it.
Holds your brand voice as a constraint set — banned words, required disclaimers, capitalisation rules, how you refer to your own product line.
Regenerates when an underlying attribute changes, so copy and specification cannot silently disagree.
Write a claim no attribute supports. "Clinically proven" without a study on file is blocked, not softened.
Invent a benefit from a category prior. Being a headphone does not license a claim about hearing health.
Translate a regulated phrase literally across locales, where the same claim carries different legal weight.
Exceed a channel limit and let the channel truncate. If it will not fit, it is rewritten to fit.
Overwrite copy a human has edited, unless the attribute underneath it has changed.
Runs after enrichment, since it can only write what the record establishes.
Voice, locale and limit as parameters.
POST /v1/agents/content-copywriter/run
{
"sku": "SP-X7-BLK",
"voice": "d2c",
"locales": ["en-US", "de-DE", "ja-JP"],
"channel": "amazon",
"require_grounding": true
}{
"run_id": "run_5de9a132",
"en-US": { "title_chars": 76, "bullets": 4 },
"de-DE": { "title_chars": 74, "bullets": 3 },
"ja-JP": { "title_chars": 41, "bullets": 3 },
"blocked": [
{ "claim": "clinically proven",
"reason": "no_supporting_attribute",
"would_require": "clinical_study_reference" }
]
}Writes as soon as the record has enough resolved attributes to support copy.
Regenerates affected lines so copy and specification cannot drift apart.
Writes a market from the same record, rather than translating an existing one.
Re-runs the catalog against an updated brand constraint set.
This agent can only be as truthful as the record beneath it, and its output is checked again before anything publishes.
Catalog Enrichment
catalog-enrichment
Reads supplier documents and resolves the attributes everything downstream depends on.
Taxonomy & Categorization
taxonomy-categorization
Resolves the leaf category that determines which rules and templates apply.
Template Listing
ai-template-listing
Maps the resolved record into each channel's native template and emits it.
Compliance Validator
compliance-validator
Checks every claim against the rule that governs it, and blocks what cannot be substantiated.
Image Enhancement Studio
image-enhancement-studio
Derives per-channel image assets to each marketplace's ratio and background rules.
Find out what your listings currently claim.
Send a hundred live listings. We will rewrite them from your own resolved record — and separately hand you the list of claims currently on your site that nothing in your files can substantiate. Most teams find that second list more useful.
100 listings · Your voice guide · Nothing published · 5 working days