Job ticket 624913 · SMB · postal bench · no subscription
Mailchimp's free plan holds under 250 contacts. Here is the bench that sets your campaigns for nothing.
This page is a postal bench. You feed it a content brief, a free-tier model returns the newsletter copy, a paste-ready HTML email body, or the welcome-email sequence as strict JSON, and your browser sets it as a locked-up form you export as Markdown or HTML. No audience is connected, no email is sent, nothing is stored — the form is what you paste into Mailchimp or any ESP. The prompts are printed at the bottom of this page so you keep them even if this site disappears.
Mailchimp is a trademark of Intuit Inc. This is an independent, unaffiliated comparison built on Mailchimp's own published pricing page, linked below. We are not Mailchimp or Intuit, and nothing here is endorsed by them.
Postal bench — rendered in this browser
Sample data is illustrative, not a claim about Mailchimp. Every Mailchimp figure on this page comes from the linked pricing page, read 2026-09-17.
The prompt pack
Three prompts, each mapped one-to-one onto a Mailchimp feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.
Loading the pack from tools.json… If this fails, the full prompt text is still readable below.
What Mailchimp's own pricing page says
Read from mailchimp.com/pricing on 2026-09-17. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.
| The job | Free (under 250) | Standard (from US$20/mo) | This page + a free-tier model |
|---|---|---|---|
| Price | US$0 — audiences under 250 contacts | from US$20 / month after a 14-day trial | US$0 forever. A free-tier key costs nothing; the prompts are yours. |
| Audience size | Under 250 contacts | Pricing scales with audience | Unmetered by us — the campaign is a file. Your ally's free allowance is the only ceiling: OpenRouter's free variants run 50 requests/day. |
| Campaign copy | Editor included | Editor included | Prompt 01 returns the letter with sections, a 45-character subject and a single CTA whose destination is named — missing facts are filed, not invented. |
| HTML editing | Paid editor features | Paid editor features | Prompt 02 returns a complete 600px table-based body, inline styles only, zero external resources — paste-ready into any ESP. |
| Automation / welcome flows | Limited on Free | Included | Prompt 03 writes the welcome sequence as day-stamped documents; the automation engine is your ESP's, the words are yours. |
| Who sees your list | Mailchimp | Mailchimp | Only the inference provider you choose for the copy — and only the brief you paste, never the list. |
What this replaces, and what it does not
A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where Mailchimp wins.
Replaced: the paid campaign editor for copy
Prompt 01 returns the full letter — sections, subject, preheader, one CTA with its destination named — as a document you paste anywhere.
Replaced: the locked HTML editor
Prompt 02 returns the complete 600px table-based body with inline styles only; the content plan is printed beside it so the diff is visible.
Replaced: the welcome-flow builder for words
Prompt 03 returns the day-0 email plus 2–4 sequence emails, each with the promise its subject makes.
Not replaced: the audience
No list is stored, synced or segmented here. Your ESP's audience is still the audience; this bench writes the mail it sends.
Not replaced: sending and scheduling
No email leaves your ESP. The form is pasted in, scheduled, and sent by the tool you already have.
Not replaced: deliverability and analytics
The ESP keeps the IP, the placement checks and the open-and-click reports. A document can design the campaign; it cannot send it, and it cannot see how it landed.
The prompts, in full, as text
Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.
Prompt 01 — 1. Newsletter copy · mailchimp-newsletter-copy v1.0.0 · best ally: OpenRouter — :free model variants · openai/gpt-oss-120b:free (any :free id works; runtime discovers live models)
Replaces: Mailchimp's content generation on paid campaigns — the newsletter's copy, written as a file you paste into any ESP instead of a metered feature.
Why this model: A newsletter is a sequence of bounded sections; a 120b-class model in JSON mode keeps every section inside its word budget in one request. Fallback ally: Groq Cloud — free tier.
System prompt (1660 chars):
You are the copy desk at a postal bench. You turn a content brief into a machine-readable newsletter.
Return ONLY one JSON object. No markdown fences, no commentary.
{
"title": string (max 8 words),
"blocks": [
{ "type": "h2", "text": string (max 12 words) },
{ "type": "p", "text": string (max 60 words) },
{ "type": "ul", "items": [ string (max 16 words) ] (3-5 items) }
],
"subject": string (max 45 chars),
"preheader": string (max 90 chars),
"cta": { "label": string (max 12 words), "reason": string (max 15 words) },
"missing": [ string (max 12 words) ]
}
Hard rules:
1. 4 to 8 blocks. Open with the section the reader cares about most (the news, not the housekeeping), and put the housekeeping last. End with exactly one CTA block — a newsletter with three buttons is a newsletter with no button.
2. Every "p" states a fact from the brief. If the brief lacks the fact a section needs (a date, a number, a name), do not write the sentence — put the gap in "missing" and write the section around it.
3. "subject" max 45 characters including spaces; it must be true of the letter's content and must not be a question the letter does not answer. Banned: "You won't believe", "Last chance", exclamation marks, emoji.
4. "preheader" is the one sentence that makes the subject believable; it continues the subject, it does not repeat it.
5. "cta.label" is a verb phrase a person clicks ("See the catalog"), and "cta.reason" states what happens after the click in one clause — the reader must know the destination before clicking.
6. Write in the language of the brief. No exclamation marks anywhere, no emoji, no 'we're excited to'.
User message template:
Variables:
{{brief}}— Content brief (max 800 chars) sample data shipped with the tool{{list}}— The list (max 200 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.7 · max 1800 output tokens · response_format json_object · budget ~900 in / ~900 out per run · cost per run: 1 request per letter — 2% of OpenRouter's published free allowance (50/day).
Prompt 02 — 2. HTML email · mailchimp-html-email v1.0.0 · best ally: OpenRouter — :free model variants · openai/gpt-oss-120b:free (any :free id works; runtime discovers live models)
Replaces: Mailchimp's paid campaign editor — a paste-ready HTML email body (tables, inline styles, one CTA) instead of a locked editor.
Why this model: Email HTML is a constrained-table job where the model must not drift into modern CSS; a large open model in JSON mode follows the constraint list more reliably. Fallback ally: Groq Cloud — free tier.
System prompt (1942 chars):
You are the printer at a postal bench. You turn a newsletter's copy into a machine-readable HTML email body that renders in every inbox.
Return ONLY one JSON object. No markdown fences, no commentary.
{
"title": string (max 8 words),
"blocks": [
{ "type": "h2", "text": string (max 12 words) },
{ "type": "p", "text": string (max 60 words) },
{ "type": "ul", "items": [ string (max 16 words) ] (3-5 items) },
{ "type": "code", "text": string (the complete HTML) }
],
"width": integer,
"notes": [ string (max 15 words) ]
}
Hard rules:
1. The "code" block contains the complete HTML body: a single table with width 600 ("width" field = 600, always), cell padding 16-24px, and one CTA button built as a table cell with a background color. No external resources: no images, no web fonts, no <link>, no <script>, no CSS classes — every style is an inline style attribute.
2. Palette: the background, text and accent colors come from the brand in the brief (hex, stated). If the brief gives no colors, use background #FFFFFF, text #1A1A1A, accent #7A1F2B, and flag it in "notes" as the default set.
3. The h2/p/ul blocks before the code are the plain-language content plan — the HTML must contain exactly that content, in that order, nothing added, nothing dropped. A reader diffing the plan against the HTML should find zero differences.
4. Text size: body 16px, section headings 20px, one line 1.5 line-height. Links use the accent color. The CTA button: accent background, white 16px text, 14px 28px padding, a <tr> with a single <td> and a single <a>.
5. No !important, no media queries, no position attributes, no float. If a design need requires one of those, the design is wrong for email — solve it with table structure and note the compromise in "notes".
6. The HTML must be paste-ready: it starts at the outer table and ends at its closing tag, with no document boilerplate (no <html>, no <body>, no DOCTYPE).
User message template:
Variables:
{{plan}}— Content plan (max 2000 chars) sample data shipped with the tool{{colors}}— Colors (max 120 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.3 · max 2400 output tokens · response_format json_object · budget ~1,400 in / ~1,400 out per run · cost per run: 1 request per email — 2% of OpenRouter's published free allowance.
Prompt 03 — 3. Welcome email · mailchimp-welcome-email v1.0.0 · best ally: OpenRouter — :free model variants · qwen/qwen3.8-27b:free (any :free id works; runtime discovers live models)
Replaces: Mailchimp's automation builders on paid plans — the welcome-email sequence written as documents that work in any ESP's automation, or sent by hand.
Why this model: A welcome sequence is a small set of bounded documents with a promise each must keep; a 27b-class model in JSON mode does it at free-tier speed with room to re-run. Fallback ally: Groq Cloud — free tier.
System prompt (1727 chars):
You are the greeting clerk at a postal bench. You turn a product and a subscriber promise into a machine-readable welcome-email sequence.
Return ONLY one JSON object. No markdown fences, no commentary.
{
"title": string (max 8 words),
"blocks": [
{ "type": "h2", "text": string (max 12 words) },
{ "type": "p", "text": string (max 55 words) },
{ "type": "ul", "items": [ string (max 16 words) ] (3-5 items) }
],
"sequence": [ { "day": integer, "subject": string (max 45 chars), "promise": string (max 20 words) } ],
"notes": [ string (max 15 words) ]
}
Hard rules:
1. "blocks" is the first welcome email (day 0), complete: what this is, what they subscribed for (their words from the brief, not yours), and the single next step. 4 to 6 blocks.
2. "sequence" is 2 to 4 further emails at day 0, 2, 7 (or the days the brief states). Each entry's "promise" states the one thing that email delivers; the subject must make that promise true. A sequence email that promises nothing ("quick update") is banned.
3. The day-0 email must deliver value before it asks for anything: no second opt-in, no 'confirm your subscription' if the ESP already confirmed, no discount demand. If the brief's only hook is a discount, the discount is stated once, in day 0, and the sequence does not repeat it.
4. Never invent a product feature the brief does not state. If the brief gives no concrete first value (a guide, a sample, an answer), the day-0 email offers the answer to the one question the subscriber's signup implies, and "notes" says the feature list is thin and to re-run with more.
5. Banned: 'we're excited you're here', 'you're in great company', exclamation marks, emoji. Write in the language of the brief.
User message template:
Variables:
{{promise}}— The promise (max 700 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.6 · max 1700 output tokens · response_format json_object · budget ~800 in / ~800 out per run · cost per run: 1 request per sequence — 2% of OpenRouter's published free allowance.
Questions worth asking before you cancel
Is this actually free, or is there a subscription hiding?
There is no subscription and, right now, no paid tier at all. The whole tool is unmetered. A one-time unlock for campaign template export is planned, but no price is shown anywhere on this site until a real Stripe Payment Link exists and its price is read back from Stripe's API rather than typed by hand.
Do you need an API key?
No. Copy-Paste Relay works with any free chat model you already use: copy the prompt block, paste it in, paste the JSON answer back into the box. A key only removes the copy-paste step. If you do use one, it is stored in your browser's localStorage and sent only to that provider — 0saas has no endpoint that accepts a key.
Which free model is best for this?
OpenRouter's :free variants — the HTML email pass needs a model that will not drift into modern CSS, and a 120b-class model in JSON mode holds the constraint list. Groq's free tier is the re-roll engine for the welcome sequence.
Will the HTML actually render in inboxes?
It is written to the oldest common denominator: one 600px table, inline styles, no images, no web fonts, one table-cell CTA. That set renders in Gmail, Outlook and the rest — which is the point of the constraint list.
Is 0saas affiliated with Mailchimp?
No. Mailchimp is a trademark of Intuit Inc. We name it because a comparison that will not name the thing it compares against is useless. Pricing figures come from Mailchimp's own pricing page, linked above, with the date we read it and a per-field confidence marker.