Codewerk.
Get a quote
Home/Blog/30,000 product texts without 30,000 hallucinations

30,000 product texts without 30,000 hallucinations

Generating catalogue copy with an LLM works — if you never let it invent a number. The pipeline we use in production.

Photo: free stock photography (Unsplash licence) — see imprint

Structured input only

Feed the model the attribute table, not a vague brief. Every fact in the output must be traceable to a field. If the model needs a value that does not exist in your PIM, the correct output is silence, not invention.

Validate the output mechanically

After generation, check that every number in the text appears in the source attributes. This one regex-level check catches the majority of hallucinations before a human ever reads them.

Humans approve, in batches

Route generated texts into a simple approval queue with the source data side by side. A product manager can approve 200 an hour when the comparison is right in front of them — and reject the odd one that reads wrong.

Do not generate what Google already has

If the manufacturer's text is already indexed on ten other shops, a rephrased version adds nothing. Generate what only you have: application notes, compatibility, what your customers actually ask before buying.

Key takeaways
  • Every fact must trace back to a PIM field.
  • Machine-check numbers before a human reads the text.
  • Generate what is unique to you, not the vendor blurb.

Frequently asked questions

Not because a machine wrote it. It hurts when the text says nothing anyone else has not already said — a rephrased manufacturer blurb that sits on ten other shops adds no reason to index you. The question search engines effectively ask is whether the page is useful and unique, not who typed it. Generate what only you know.

You do not fix this with a better prompt — you fix it with structure. Feed the model only the attribute table, so every fact has a field behind it, then machine-check the output: does every number in the text appear in the source data? That one check runs before a human ever reads the text and catches most of it.

Yes, but it is not as slow as it sounds. Put the generated text and the source attributes side by side in an approval queue and a product manager moves through them quickly, because the comparison is right there. What takes long is reviewing texts in a spreadsheet with no source data next to them. Build the queue.

Not the model. Generation is the cheap part and gets cheaper every year. The cost sits in getting your PIM attributes clean and consistent enough to generate from, and in the approval workflow. If your attribute data is a mess, that is the project — and you would need to fix it anyway before anything else works.

We do this for a living — Shopware, Node.js, React, ERP integration and automation for B2B.

Talk to an engineer

// Keep reading

Related articles

AI & Automation 9 min

AI in e-commerce: what actually works in 2026

Product descriptions, search, support triage, forecasting. Three of those pay for themselves. We separate the working from the pitching.

25 Mar 2026 Codewerk Team