Generating Ad Copy
Generate writes one complete promotional post from a short brief. You describe what you're promoting, pick a tone of voice, optionally add a link, and the AI returns a finished Telegram-ready post you can copy and use anywhere.
Why you would use it
- You're booking a paid promotion and the composer is empty.
- You need three or four variations of the same offer to test.
- You want a professional-sounding post but don't write ads for a living.
- You want your link wrapped in click tracking automatically, without setting anything up.
If you already have a draft, use Refining ad copy instead — it improves your wording without inventing anything new.
Before you start
- Be signed in. See Opening the AI Creative Studio.
- Check the AI text today meter at the top of the page. Generate spends one action from it.
- Have your offer clear in your head: who the audience is, what you're promoting, and the one thing you want readers to do.
Step by step
-
Open the Studio at https://onflowads.com/telegram/dashboard/ai-studio.
-
In the Ad copy card, make sure the Generate pill is selected. It is selected by default when the page loads. If you were last using Refine, click Generate — the form swaps immediately, and nothing you typed in the other mode is lost.
-
Fill in "What are you promoting?" Describe your campaign in a sentence or two, for example: "Launch week for a DeFi wallet — mostly English audience, focus on security and low fees." The field accepts up to 600 characters. Anything longer is trimmed to 600 before the AI sees it, so put the important part first.
-
Pick a Voice. This dropdown sets the tone of the finished post:
Voice Style you get Professional A confident, professional brand voice (the default) Playful Fun, energetic, emoji-friendly Minimalist Clean, minimal, no fluff Persuasive Punchy, high-conversion, direct-response Educational Clear, informative, trust-building -
Optionally paste a URL in "Link (optional)". The AI builds the call to action around it. Before the post is written, Onflow Ads usually converts your URL into a tracked link — see Links and click tracking below.
-
Click Generate copy. The button disables itself and the status line under the card reads "Writing…" while the AI works. A generation normally takes a few seconds.
-
Read the result. The finished post appears in the output box below the form, formatted as it will look on Telegram.
-
Click Copy. The whole post is copied to your clipboard as plain text and the status line confirms "Copied to clipboard." Paste it into Telegram, into a booking composer on Onflow Ads, or anywhere else.
-
Generate again if you want an alternative. The button counts down for a few seconds first — see Pacing between generations.
What you get back
One short, complete promotional post. By design it:
- stays under 600 characters,
- leads with a hook and ends with a clear call to action,
- uses tasteful emoji sparingly,
- uses only Telegram-safe formatting — bold, italic, and links; every other kind of markup is stripped out before you see it,
- never invents statistics, prices, or guarantees that weren't in your brief.
Unusually long results are trimmed at a line break so a cut can never leave broken formatting behind.
Links and click tracking
When you fill in Link (optional), Onflow Ads tries to mint a tracked link — a short Onflow Ads address that counts the click and then forwards the reader to your original page — and hands that address to the AI as the call-to-action URL.
What you'll see. When it works, the status line reads:
"Your link is now tracked — see clicks & conversions in Link Tracking."
Where the data goes. Open the Link Tracking page at https://onflowads.com/telegram/dashboard/links to see clicks, unique visitors, devices, referrers, and conversions for that link.
What is not rewritten. Some destinations are deliberately left exactly as you typed them:
- Telegram addresses such as t.me links,
- links back to onflowads.com itself,
- anything that isn't a normal web address.
In those cases the post simply carries your original link, and no confirmation line appears.
Your own campaign tags survive. If your URL already carries tracking parameters, Onflow Ads adds its own without overwriting yours, so any reporting you have already set up keeps working.
Statuses and outcomes
| What you see | What happened | Did it cost an action? |
|---|---|---|
| "Writing…" | The request is with the AI | Not yet — reserved, refunded if it fails |
| Post in the output box | Success | Yes, one text action |
| "Your link is now tracked — see clicks & conversions in Link Tracking." | Success, and your URL was converted to a tracked link | Yes, one text action |
| "Copied to clipboard." | You pressed Copy | No |
| "Tell the AI what to write about first." | The brief box was empty or under three characters | No — nothing was sent |
| "That request breaks our content policy. Please try a different, on-topic prompt." | Your brief matched a content rule | No |
| "The AI couldn't generate that just now — no action was used. Please try again in a moment." | The AI failed to respond | No — automatically refunded |
| "The AI returned an empty result — no action was used. Try again." | The AI answered with nothing usable | No — automatically refunded |
| "You've used today's AI text actions." | Your daily text allowance is spent | No |
| "You've used your AI text allowance (daily and/or monthly). Daily resets at 00:00 UTC, monthly on the 1st." | One of your two text windows is full | No |
| "AI is paused on your account while a review is open. It returns as soon as the review is resolved." | Your account is under review | No |
| "Too many attempts. Please wait a minute and try again." | Too many requests in a short burst | No |
| "AI is temporarily unavailable. Please try again shortly." | The AI service is briefly down | No |
| "Please sign in again." | Your session expired | No |
| "Network error. No action was used." | Your connection dropped mid-request | No |
Limits and tier gates
- Generate is available on every plan, including Free. What differs by plan is how many text actions you get.
- Every plan step up raises the allowance. Your exact numbers are shown on the AI text today meter and repeated in the panel you see when you run out.
- Two windows apply: a daily one that resets at 00:00 UTC, and a monthly one that resets on the 1st of the month. A generation is blocked as soon as either window is full.
- Reliability can reduce your allowance. A low or recovering reliability score throttles the number of text actions you get. Reaching the Fair band restores your full plan quota.
- When you hit the wall, the Studio replaces the bare error with a panel that tells you exactly which wall you hit — plan cap, reliability, or open review — and offers the matching next step. Seeing that panel never spends an action.
Everything about allowances is in AI quotas and limits.
Pacing between generations
After each attempt, the Generate copy button briefly disables itself and shows a live countdown, for example "Please wait 30s", ticking down to zero before re-enabling itself. This is normal pacing, not an error, and it keeps the service responsive for everyone. The exact wait is always displayed on the button.
Pacing is skipped when there would be no point in waiting — if you're signed out or hard-blocked by a plan or quota gate, the button re-enables immediately, because a wait wouldn't change the outcome.
Rules and edge cases
- Empty or near-empty brief. Fewer than three characters is rejected on the spot with "Tell the AI what to write about first." — nothing is sent and nothing is spent.
- Over-long brief. More than 600 characters is trimmed to the first 600. Front-load the essentials.
- Over-long link. Very long URLs are trimmed before use, so prefer a clean link.
- The output is sanitised. Anything the AI returns that isn't bold, italic, or a safe link is removed. Links with unusual or unsafe address types are dropped entirely rather than shown.
- Content policy runs first. Your brief is checked before any generation, so an off-policy brief is declined instantly and free of charge. See Content rules for AI.
- No history is kept. The Studio does not store a list of past generations. Copy anything you want to keep before you navigate away or generate again — a new result replaces the one on screen.
- Nothing is published. Generating copy never posts anything anywhere. You decide where it goes.
Tell the AI the audience, the offer, and the one thing you want readers to do. "Crypto news channel, 40k subscribers, promote our new referral program, prize pool ends Friday" beats "write an ad" every time.
FAQ
Can I generate several versions and pick the best?
Yes, and it's a good habit. Each attempt spends one text action, and the button paces you a few seconds between runs. Copy each version out before you generate the next one — a new result replaces the previous one.
Does changing the Voice change how much it costs?
No. Every voice costs the same single text action.
Can I ask for a specific length or a specific structure?
Put it in the brief. The AI is instructed to keep the post under 600 characters with a hook and a call to action, but a brief like "very short, two lines, no emoji" steers it within that shape. For finer control over an existing draft, use Refine with a specific instruction.
The copy came back with a different link than the one I typed. Why?
That's link tracking. Your URL was wrapped in an Onflow Ads tracked link so you can see clicks and conversions on the Link Tracking page. Readers still land on your original page.
Can I use the copy outside Telegram?
Yes. Click Copy and paste anywhere. The formatting is Telegram-style bold, italic, and links, so it looks its best on Telegram, but the plain text works everywhere.
Does the AI know about my channel or my audience?
Only what you tell it in the brief. Generate does not read your channel statistics — describe your audience in the brief if you want it reflected in the copy.
Next: Refining ad copy — polish the post you just generated, or any draft you already had.