How to read this
This is the single TT Studio document. It runs in two halves: first the workflow — the order you actually do things in, twelve stages on a real client — then the reference: every screen, playbooks, administration, FAQ, troubleshooting and a glossary. Read the workflow to learn the job; jump to the reference to look something up.
Read the first three sections before you touch the console — they explain why the platform behaves the way it does, and almost every mistake new operators make comes from skipping them. Then work the twelve stages in order on a real client.
Every stage is laid out the same way, so you can skim it later as a checklist:
And each stage opens with the exact route through the app, written like this:
Quick Start — your first 15 minutes
- Create a client — top‑right + New Client, or open the onboarding wizard. Give it a name and industry.
- Build the Strategy Brief — Clients → 🎯 Strategy. Answer the guided questions (or let AI research and draft them) and save — that unlocks Brand Memory. Then press ✓ Approve brief to date‑stamp the version; that's the sign‑off, and it locks the wizard until you press ✏️ Edit brief.
- Generate a post — Studio → ✦ Content. Enter what to post; the engine writes copy + a matching image, grounded in the brief.
- Review it — the asset appears in Calendar → ✓ Approvals. Open it, tweak the image if needed, Approve.
- Schedule it — connect a channel in Settings → 🔗 Channels, then push the approved post to the queue.
That's the whole loop in miniature.
The big picture
What TT Studio actually is
TT Studio is an AI Marketing Operating System, run human-led. That phrase does real work, so unpack it:
- Marketing, not content. It doesn't just write posts. It holds a brand's strategy, plans its month, produces the assets, publishes them, and reads back what worked.
- Operating system, not tool. Everything sits on one persistent brand memory. You never re-explain a client to the AI. Set the brand up once; every screen inherits it.
- Human-led, by design. Nothing reaches an audience without a person approving it. That's a deliberate choice, not a missing feature — and it's the thing you're being paid for.
The practical consequence for you: your leverage is at the front of the process, not the end. Time spent getting a client's Strategy Brief right pays back on every asset the platform ever produces for them. Time spent fixing bad output one post at a time does not.
The loop
Every screen in the console is a stage in one continuous loop. This is the single most useful mental model of the platform:
Who you are in the system
TT Studio is multi-tenant: it's built to be resold, so an agency can run its own clients on it without ever seeing another agency's work. There are three levels, and which one you hold determines what you can even see.
| Level | Who | Can see |
|---|---|---|
| superadmin | Turquoise Tree — the platform owner | Every agency and every client. The 🏢 Agency tab (cross-agency portfolio) is superadmin-only. Can act-as an agency to work inside it. |
| admin | Agency operators — this is probably you | All clients inside your own agency, and every production tool. Admin-only screens: 📄 Proposal, 🗂 Agency Dashboard, 🔑 API Console, plus the admin controls on the Calendar. |
| client | The brand's own login | Only their own workspace. On the done-for-you tiers the interface simplifies further — creation tools hide, and they see their calendar, analytics and channels. |
The six ideas that explain everything
Five mechanisms drive the platform's behaviour. If output ever surprises you, the explanation is almost always one of these.
1 · Brand Memory — why the AI knows the client
Once a client has a saved Strategy Brief, the platform silently prepends a Brand Context block to every AI call made for that client. You don't do anything to switch it on and you can't accidentally write a prompt that bypasses it — it's applied on the server.
Look for the 🧠 Brand Memory on badge. If it's absent, the client has no brief and you're generating blind — output will be competent and generic, which is exactly the thing clients don't pay for.
2 · Grounding — why the AI doesn't invent figures
For anything that should reflect the real world — market data, competitor claims, trends, prices — the platform runs a two-model sequence instead of asking one model to recall facts.
Grounded claims carry a 🔎 sourced chip; ungrounded ones are marked too, so you can see at a glance which sentences you'd need to verify before sending to a client. Grounding costs research credit and fails soft — if that credit runs low it degrades to ungrounded writing rather than erroring. A run that suddenly returns vaguer, less specific copy is worth checking against the balance strip.
3 · The gate — two checks before anything ships
Everything the platform generates has to pass two checkpoints. The first is automatic, the second is you.
Nothing publishes by itself. Autonomous campaigns, batch generation, background jobs — all of them stop in Approvals. Even after approval, the asset only reaches a scheduling queue. That's the promise you can make to a client without qualification.
4 · Plans and allowances — measured, not blocked
Each client sits on a tier, and the tier decides two different things that behave differently. Getting them the wrong way round is how an operator promises a client something the platform will not do — or stops work it would happily have continued.
Quantity is measured, not enforced. Monthly image and video allowances are counted and reported, and going over one is a normal, reportable event — the platform does not stop you mid‑campaign. That is deliberate: TT Studio is run as a managed service, and halting the operator in the middle of a client's month costs more than the generation does. Overflow is the useful number here, not an error: it is the upgrade conversation, evidenced.
Capability is enforced. A tier that excludes a feature refuses it outright — Launch has no video and no premium voiceover at any volume. Only an upgrade fixes that one.
| Plan | Images / month | Video / month | Video at all? | Premium voiceover? |
|---|---|---|---|---|
| TT Lite · done-for-you, images only | 30 | — | No | No |
| TT Green | 90 | 150s | Yes | Yes |
| TT Blue | 220 | 360s | Yes | Yes |
| TT Aqua | 500 | 900s | Yes | Yes |
Two messages, which mean two different things:
- "Monthly allowance reached." Informational since 2026‑08‑10 — the tier includes the feature and this month's quantity is spent, but generation continues. Read it as a prompt to review the tier, not as a wall.
- "Not included in the plan." The tier excludes the feature entirely — Lite has no video and no premium voiceover at any volume. Only an upgrade fixes it.
Video usage is metered per render at roughly 8 seconds per clip, so a Growth client gets on the order of 18 clips a month. The Plan Usage meter on Home is the same arithmetic the server uses — 100% is a real reading, not an estimate. It simply doesn't stop anything.
Separately from plan caps, there's real provider money — the AI spend balance in the sidebar. Plan caps protect your margin on a client; the balance strip is your actual runway. Watch both.
5 · Isolation — clients cannot see each other
Client accounts are scoped to their own workspace and the scoping is applied on the server, on every request that touches client data. A client cannot reach another brand's assets, calendar, strategy or analytics — not through the interface, and not by guessing an address. Agencies are isolated from each other the same way.
You'll notice the effect in one specific place: switch the active client and the entire console re-grounds — memory, assets, calendar, analytics, everything. It isn't a filter over shared data; it's a different workspace.
6 · GEO — is an AI assistant recommending this client?
When a buyer asks ChatGPT, Perplexity or Google's AI "who should I use for X?", one of two things happens: your client is named, or a competitor is. GEO — generative engine optimisation — is about being the recommendation. It is not AEO, which is about being extracted into an answer snippet. Different question, different fix.
Performance → 🔎 Discovery is where this lives. Each client has a battery: a pack of real buying questions, phrased the way a customer would type them, that gets asked of the assistants and scored. The report tells you how many answers named the client, how many named a competitor instead, and which competitors keep coming up.
Editing the pack. The battery is per client and you can curate it — add a question, edit one, disable one, or remove it. Every prompt has to carry an intent and a pain scenario; the platform refuses an untagged one, on creation and on edit. That refusal is doing real work: an untagged prompt still runs, it just stops being measurable, which is worse than being rejected because nothing tells you it happened. Deleting a question never rewrites history — answers already collected keep their own rows.
Prospects — auditing a business you have not signed
A GEO audit is the one thing that works on a business before they are a client, which makes it the natural opening move. + Prospect (beside New Client on Home) takes a name and an industry and nothing else — no plan, no wizard, no onboarding.
- A prospect is marked ◇ prospect in the status line and in every client dropdown, so you can never mistake one for a paying account.
- They have no plan and no publishing. Discovery and the GEO audit work; everything else is for clients.
- The report can be generated for a prospect audience, which proves the measurement rather than the relationship.
- When they buy, Convert to client in the status line is one click. Their battery, audit history and competitor set all carry over — nothing is re-created. Assign them a plan afterwards.
The workflow — twelve stages, in order
This is the job, start to finish. Stages 1–4 you do once per client. Stages 5–12 are the loop you run every month.
Create the client
A client is the container everything else hangs off — brief, assets, calendar, channels, analytics, plan. Give it a name and an industry.
Assign the plan now. It's the field people skip, and an unassigned client generates uncapped (see idea 4). Set the tier that matches what they're paying for, before anyone generates anything.
Build and sign the Strategy Brief
This is the front door for every brand and the source of truth for everything downstream. The wizard walks you through brand questions, an optional website build, and out the other side comes a brief the client reviews and signs.
- Answer the brand questions — industry, audience, positioning, voice, market. Anything you leave thin here shows up as vagueness in every post for the next year.
- Use the research shortcuts. Generate Input with AI drafts audience and theme fields from live web research. Or paste the brand's existing website as a source URL and let the platform draft the brief from it. Both are starting points to edit, not answers to accept.
- Read it as the client would. If a sentence could describe any competitor, rewrite it. Specificity here is what makes generated content sound like them. ✏️ Edit brief opens the text for hand-editing at any point — before or after approval.
- Approve it. Under the brief sit four separate actions: ✓ Approve brief, ✏️ Edit brief, 💾 Save and ⬇ Download PDF. Saving keeps a version; downloading gives the client a PDF; neither is sign-off. Only ✓ Approve brief date-stamps the version and records who approved it — that stamp is what you point at when a client later questions a piece of content.
Enrich Brand IQ
Brand IQ is the editable brand profile that sits on top of the brief: tone of voice, colour palette, the words this brand uses and the words it never uses. The brief says who the brand is; Brand IQ says how it sounds and looks.
It has a second job you'll appreciate later: it's where the platform surfaces what it has learned from your 👍/👎 feedback and from real performance. Come back here monthly — it's the closest thing to the brand's growing memory made visible.
Connect the channels
Publishing runs through Metricool. Connect the client's Instagram, Facebook, TikTok, LinkedIn, X and YouTube here so approved content has somewhere to go.
Do this during onboarding, not on the day you want to publish. Social platform authorisation is the step most likely to need something you don't have — an admin password, a business-account conversion, a two-factor code from someone on holiday.
METRICOOL_AUTOPUBLISH), so there is no draft-review step inside Metricool — a post with no time picked reaches the real audience within about five minutes. On accounts with real followings that is not recoverable. Use Schedule with a future date/time whenever you want a window to change your mind, and treat Approvals as the last true checkpoint. Note also that Instagram requires media on every post.Plan the month
This is the flagship workflow. You give it a goal and a few themes; it designs a phased narrative arc — typically three or four stages that build on each other — and lays a month of posts across it, each tagged with the phase it belongs to.
- Write a real campaign goal. "Drive 200 demo signups for the July launch" produces a coherent arc. Leaving it blank produces a competent but shapeless month. The goal is what makes the phases mean something.
- Add themes, one per line — the recurring subjects this brand talks about. The plan is built from the whole set, not just the first line.
- Pick a cadence — 3 or 5 posts a week, or daily.
- Click ✨ Plan only first. It spends no image or video credit — just a text call, pennies — so you can re-plan as often as you like. You get the arc and the schedule to review.
- Read the arc before you spend anything. Do the phases tell one story that ends at the goal? Is the mix right? Adjust the goal or themes and re-plan — still free — until it's right.
- Then 🚀 Launch autonomous campaign to generate every asset into Approvals. This spends real money. Nothing publishes.
Produce — Content
Where individual posts get made: copy and a matching on-brand image, together, grounded in Brand Memory. Use it for one-off posts and for reworking anything the campaign planner produced.
The controls worth learning
- ✨ Set up & Fill — reads your brief and infers the settings for you. Faster than clicking through them, and usually right.
- Free per-field rewrites — the ✨ and ⚡ buttons beside each field rewrite or sharpen just that field. They cost nothing. Use them constantly instead of regenerating the whole post.
- 🔁 A/B hooks — alternate headlines are generated alongside the post. One click swaps the live hook; no re-generation, no cost.
- Variants and pinning — where several options come back, pin the one you're keeping and regenerate only the slots you're not.
- 🔒 Seed lock — reuse the last image's seed so a small prompt tweak changes only what you changed, instead of producing an unrelated picture.
- 🎛 Model instructions — the actual art direction sent to the image model, exposed for editing. When an image is nearly right, fix it here and re-render rather than re-briefing from scratch.
- Customise per channel — one idea, natively-worded per platform. Do this before publishing to more than one network.
Produce — Video
Video is what TT Studio leads with, and it's the most expensive thing you can generate — so it rewards planning more than any other screen.
- Describe the video, or use Set up & Fill to infer aspect ratio, length, style and on-screen title from your description.
- Set duration, aspect and style. Vertical for Reels/TikTok, square or landscape elsewhere. Under ⚙ Advanced settings you'll find model choice, per-shot routing, no-text and the reference lock.
- Generate the AI Script — a scene-by-scene breakdown with a consistency anchor that keeps characters, palette and lighting coherent from cut to cut. Read this before generating. Fixing a scene in the script is free; fixing it after render is not.
- Generate — scenes render, stitch, and get captioned automatically.
- Re-render single scenes if one cut is wrong. The ↻ control on a scene re-renders just that shot and re-stitches without paying for the whole video again.
The video controls worth learning
- Per-shot model routing — different shots suit different engines, and the platform can classify each scene and route it to the best of Kling, Veo or Seedance automatically. Leave auto-route on unless you have a reason not to.
- Reference / identity lock — lock one reference image and every scene is generated against it, so a person or product stays recognisably the same across cuts. This is the difference between a video and a slideshow of strangers.
- Voiceover — the platform uses native audio models and can merge your own mic recording. Premium studio voices are a Green-and-above capability; Lite clients will be refused with a capability message, not a quota one.
- Captions — burned in server-side as a separate overlay layer. No text is baked into the raw footage, so captions can change without re-rendering the video.
- Cost estimate — shown before you generate. Look at it. Video is where a month's allowance disappears in an afternoon.
Run the Voice Guardian
The Guardian audits your copy against the client's locked brand voice — tone, the do/don't word lists from Brand IQ, and whether claims are grounded — and returns a consistency score out of 100 with specific flags.
It runs automatically as the final pass before anything ships, and you can run it manually any time. What happens next depends on the score: under 70 blocks the publish and asks you to rework the flagged copy; 70–89 shows the flags and asks whether to publish anyway or fix first; 90+ passes without interrupting.
Treat a 70–89 as a prompt to look, not a formality to click through. The flags are specific — they name the phrase and the rule it breaks — and fixing them takes seconds with the free field rewrites.
Approve
The queue everything passes through. The sidebar badge tells you how many items are waiting; toggle Pending / Approved to move between them.
Open an item to read the copy and see the media together, the way the audience will. For images, ✎ Edit image opens the light editor without leaving the queue: overlay text, reposition it (top / middle / lower-third), recolour to brand, resize, or Swap plate to regenerate the underlying picture from the post's brief. Saving renders the caption server-side and hosts the result durably.
Then Approve or Reject. Approved items become eligible for scheduling; rejections feed the learning loop.
Publish and schedule
Approval and publishing are separate acts. Approving does not send anything. From the publish rail you tick the channels, confirm the per-channel captions, set a date and time, and push — either Publish now or into the scheduled queue.
For done-for-you clients there are two admin buttons on the Calendar that handle a whole month at once:
- 🎨 Render creatives — generates on-brand images for any scheduled posts that are still text-only.
- 📤 Schedule to channels — queues the month's scheduled posts to the client's connected channels at their planned dates.
The Calendar month view then shows Metricool's queue alongside your done-for-you posts, so one screen answers "what's going out and when".
Then go and check the real account. Do this for the first post of every new client. A post can report success and still not have landed — most often on Instagram, where a channel that is not in direct-publish mode turns a scheduled post into a mobile-app reminder for a human to finish by hand, while the API still reports it as published. The reliable test is whether the post has a real permalink on the platform, so the only trustworthy check is opening the profile and looking.
Measure
Analytics carries four distinct things. Know which is which:
| Panel | What it tells you | Who sees it |
|---|---|---|
| KPIs & Posts Over Time | What was published and scheduled, pulled live from the client's Metricool. | all |
| 📈 Content Performance | The learning loop. ↻ Sync from Metricool pulls real per-post engagement, scores each post against the client's own baseline, and the AI then biases new content toward what wins for this brand. | all |
| 📊 Monthly Scorecard | Brand consistency plotted against real engagement, week by week, plus a leaderboard of what earns most for this brand. 📄 Monthly report opens a print-ready client report — Print → Save as PDF and send it. | all |
| 🔑 API Oversight · Model usage | Live provider balances, 24-hour error status, and which engines ran at what cost. Your window into the AI supply chain and your margin. | admin |
Hit ↻ Sync from Metricool before you read anything — platform metrics update roughly daily, and an unsynced view is showing you last week.
Close the loop
Three feedback channels run in parallel, and they're what make month six better than month one:
- 👍 / 👎 as you review. Every generated asset carries thumbs. These aren't decoration — they feed a stored feedback record, rejected phrasings get injected into future generations as things to avoid, and keeper rates per model steer automatic model picking. Ten seconds a day here changes what you're handed next month.
- Real engagement scoring. Synced performance biases new content toward what actually worked for this brand, not what works generally.
- You, updating the brief. This is the step that doesn't happen by itself. Once a month, take what the Scorecard and leaderboard told you and edit the Strategy Brief and Brand IQ to match. A theme that consistently underperforms should stop being a theme.
That third one is the whole reason a marketing OS beats a content tool. The platform accumulates evidence; a human turns evidence into strategy; the improved strategy grounds everything generated next month. Skip it and you have an efficient content mill. Do it and you have a brand that gets sharper.
The working rhythm
| When | What you do | Where |
|---|---|---|
| Every morning 10 minutes | Scan for pending approvals across your clients. Clear the queue oldest-first. Check the live balance strip. | 🏢 Agency (or 🗂 Agency Dashboard) → ✓ Approvals |
| As work arrives | Generate, edit with the free rewrites, run the Guardian, approve, schedule. | ✨ Studio → ✓ Approvals → publish rail |
| Every week 20 minutes | Sync Metricool metrics. Skim what's winning. Verify last week's scheduled posts actually went out on the real accounts. | 📊 Analytics |
| Every month 2 hours per client | Send the Monthly Report. Read the Scorecard properly. Update the brief and Brand IQ with what you learned. Then plan next month's campaign. | 📊 Analytics → 🎯 Strategy → 📆 Schedule |
| Per new client half a day | Stages 1–4: create, brief, Brand IQ, channels. Assign the plan. Verify auto-publish. | 👥 Marketing OS → ⚙️ Settings |
Ten mistakes to avoid
- Generating into the wrong client. Check the active-client pill before every generate. Costs money and creates cross-brand mess.
- Generating before the brief is signed. No brief, no Brand Memory, generic output. Look for the 🧠 badge first.
- Launching a campaign before reading the plan. Plan only is free and repeatable. Use it until the arc is right.
- Regenerating whole posts. The per-field ✨/⚡ rewrites and 🔁 A/B hooks are free. Whole regenerations are not.
- Generating video without reading the script. The most expensive habit available. Scene fixes are free before render.
- Leaving a new client's plan unassigned. Enforcement stays dormant — they generate uncapped and it lands on your margin.
- Assuming approved means published. They're separate acts. Approving sends nothing.
- Hitting Publish when you meant Schedule. On this deployment there is no draft step — it goes live to the real account in minutes. Approvals is the last checkpoint, not the queue.
- Trusting "published" without looking. A post can report success and still not have landed, especially on Instagram. Open the actual profile after the first post of every new client.
- Clicking through Guardian warnings. A 70–89 has named, specific flags and they're usually right.
- Never updating the brief. Everything compounds off it. Stage 12 is the one nobody does, and the one that matters most by month six.
Screen-by-screen reference
Follows the sidebar top‑to‑bottom.
🏠 Home
The active client's command centre.
- Headline tiles — Content Score, Content Generated, Engagement, Leads. Populate as real data flows in.
- AI Recommendations — living, brand‑aware suggestions for what to post next.
- Content Pipeline — counts of posts / images / videos in play.
- Plan Usage · This Month — image and video‑second consumption against the client's plan. This meter runs the same arithmetic the server enforces: when it reads 100%, generation is blocked, not merely discouraged. See Plans & caps.
- Content Plans admin — the four‑tier pricing table (TT Lite / Green / Blue / Aqua), USD with AED in brackets.
🏢 Agency superadmin
The cross‑agency portfolio dashboard — every agency and client on the platform on one screen. Agency operators get the equivalent view of their own book at 🗂 Agency Dashboard under Performance.
- A card per client showing pending approvals, posts this month, total posts, plan and last activity.
- The header sums the portfolio (N clients · X pending · Y posts this month).
- Click any card to jump straight into that client and land on their Home.
✨ Studio
✦ Content
The core post factory.
- Brief — say what to post (a topic, an angle, or paste a source URL to ground on). Optionally Set up & Fill to let AI infer the settings, or dictate by voice.
- Settings — Content Type, Platform, Tone, Length, plus the image model tier. All inherit from the brief but stay editable.
- Generate — a structured post (hook, caption, hashtags, CTA) and a matching on‑brand photograph, grounded in Brand Memory.
- Per‑channel captions — in the sticky 📤 Publish rail on the right, tick the channels and expand Customise per channel for a native‑style caption per platform.
- Save Draft / Preview / Approve — send it toward Approvals; or run 🛡 Voice Guardian check and publish/schedule straight from the rail.
Content controls worth knowing
- Free per‑field rewrites — the ✨ (rewrite) and ⚡ (punch up) buttons beside each field rewrite only that field at no cost. Reach for these before regenerating a whole post.
- 🔁 A/B hooks — alternate headlines are produced alongside the post; one click swaps the live hook everywhere (post, strip and publish caption) with no re‑generation and no spend.
- Variants, pin and per‑slot regen — where several options come back, pin the keeper and regenerate only the slots you haven't pinned.
- 🔒 Seed lock — reuse the previous render's seed so a prompt tweak changes only what you changed instead of producing an unrelated image.
- 🎛 Model instructions — the exact art direction sent to the image model, exposed for editing. When an image is nearly right, edit here and re‑render rather than re‑briefing.
- Post‑generation read‑out — under the hero image: actual cost, the on‑brand score, and 👍/👎. The thumbs are not decoration — see the learning loop.
- 🔎 sourced chips — mark which claims are backed by live research and which are not, so you can see what needs verifying before it goes to a client.
🎬 Video
The hero‑video studio — video is TT Studio's showpiece.
- Video Prompt — describe the video, or Set up & Fill to infer aspect / length / style / on‑screen title.
- Settings — Duration, Aspect ratio, Video style and the hero model. Hero models are curated to Kling, Veo and Seedance; 🔊 marks native‑audio models. ⚙ Advanced settings holds model choice, per‑shot routing, no‑text and the reference lock.
- AI Script — a scene‑by‑scene brief with a consistency anchor so characters, palette and lighting stay coherent across cuts. Read it before generating — script fixes are free, re‑renders are not.
- Generate Video — multi‑scene videos are stitched and captioned automatically (lower‑third burn‑in). A cost estimate is shown before you commit.
- ↻ Re‑render one scene — when a single cut is wrong, re‑render just that shot; it re‑stitches without paying for the whole video again.
Video controls worth knowing
- Per‑shot model routing — each scene is classified from its prompt and routed to whichever of Kling / Veo / Seedance suits that shot. Leave auto‑route on unless you have a reason not to.
- Reference / identity lock — lock one reference image and every scene's plate is generated against it, so a person or product stays recognisably the same across cuts.
- Voiceover — the platform uses native‑audio models and can merge your own mic recording. Premium studio voices (ElevenLabs) are a Green‑and‑above capability; a Lite client is refused with a capability message, not a quota one.
Captions are burned in server‑side; no text is baked into the raw plate — the overlay layer owns text, so captions can change without re‑rendering the video.
🎨 Design & Assets
The client's media library, plus the light image editor.
- Browse every generated asset for the client.
- Open any image to edit: overlay text, reposition (top / middle / lower‑third), recolour to brand, resize (S/M/L/XL), or Swap plate to regenerate the underlying image from the post's brief.
- Saves render the caption server‑side and host the result durably. Also reachable from an image's card in Approvals.
📅 Calendar
📆 Schedule
A read‑only month view of what's scheduled, plus the 🚀 Autonomous Campaign card — the flagship one‑click workflow.
- Enter an optional Campaign Goal (it shapes the narrative arc) and a few themes; pick a cadence.
- ✨ Plan only — builds a phased 3–4 stage narrative arc and a full month of posts, each mapped to a phase. Free (no asset spend). Review before committing.
- 🚀 Launch autonomous campaign — builds the arc, plans the month and auto‑generates every asset into Approvals. Nothing publishes.
- 🎨 Generate all images (background) — durable batch generation; keeps running even if you close the tab.
The plan is grounded on the whole goal + theme set (not just the first line) and every post carries its phase chip.
📣 Campaigns
Groups related content under a named campaign so you can track and report on it as a unit. Assets generated from a campaign carry its ID.
✓ Approvals
The sign‑off queue — the gate everything passes through.
- Toggle Pending / Approved. A live count badge in the sidebar shows how many items await you.
- Open any item to review copy + media. For images, ✎ Edit image opens the light editor.
- Approve or Reject. Approved items become eligible for scheduling. Rejections feed the learning loop.
🛡 Brand Voice Guardian — the automatic check before the human one
Reachable from the publish rail on both ✦ Content and 🎬 Video, and run automatically as the final pass before anything ships. The Guardian audits copy against the client's locked brand voice — tone, the do/don't word lists from Brand IQ, and whether claims are grounded — and returns a consistency score out of 100 with named, specific flags.
| Score | What happens |
|---|---|
| Under 70 | Blocked. Rework the flagged copy before it can ship. |
| 70 – 89 | Flags are shown and you're asked to confirm: Publish anyway or Let me fix it. |
| 90 + | Passes without interrupting. |
📈 Performance
📊 Analytics carries four distinct panels — know which is which:
| Panel | What it tells you | Who |
|---|---|---|
| Account health | The triage read, first card on the page. Six pillars for this client — engagement, publishing cadence, brand consistency, AI visibility, plan utilisation, creative acceptance — with one score and, always beside it, how much of that score is real ("4 of 6 pillars measured"). A pillar with too little data is grey, carries no number and prints the reason. A seventh, AI cost to serve, is internal and sits behind the cost switch. | all |
| KPIs & Posts Over Time | What was published and scheduled, live from the client's Metricool. | all |
| 📈 Content Performance | The learning loop. ↻ Sync from Metricool pulls real per‑post engagement, scores each post against this client's own baseline, and the AI then biases new content toward what wins for this brand. Your 👍/👎 feed the same loop: rejected phrasing is injected into future generations as things to avoid, and per‑model keeper rates steer automatic model picking. | all |
| 📊 Monthly Scorecard | Brand consistency plotted against real engagement, week by week, plus a leaderboard of what earns most for this brand. 📄 Monthly report opens a print‑ready client report — Print → Save as PDF and send it. Built entirely from stored data; nothing estimated. | all |
| 🔑 API Oversight · Model usage & billing | Live provider balances, 24‑hour error status across every connected API, and image/video generations per model with cost. | admin |
Metrics update roughly daily — hit ↻ Sync from Metricool before reading anything, or you're looking at last week.
- 🔎 Discovery — the GEO battery and its report. See GEO.
- 🗂 Agency Dashboard admin — agency‑wide reporting across all your clients, led by Account Health — worst first: every client on one triage list. Click a name to drop straight into that client's Analytics.
It is not sorted by score, deliberately. Scores computed over different numbers of pillars are not comparable — a client measured on only two pillars can average 95 while being the account you know least about, and a score-sort would put them at the healthy end of your Monday list. Rows rank by how many pillars are actually at risk; the score breaks ties; coverage shows on every row. Clients with too little data, and prospects, sit in their own groups rather than being given a position that would amount to a claim about them.
The Agency Dashboard appears when you are at your own workspace, not inside a client's — an agency-wide view must never be on screen inside someone's account. - 🧮 Ad‑Spend Calc — model ad budgets and expected returns for planning and proposals.
👥 Marketing OS
🎯 Strategy
The onboarding wizard and Strategy Brief — the front door for every brand.
- A guided flow: brand questions → optional website build → a finished Strategy Brief the client approves and signs.
- Free‑text audience and theme fields with Generate Input with AI (web‑grounded research).
- Paste a source URL to auto‑draft a brief from a brand's existing site.
- Four separate actions under the brief: ✓ Approve brief (date‑stamps the version and records who signed it), ✏️ Edit brief, 💾 Save and ⬇ Download PDF. Saving and downloading are not sign‑off.
- Approving locks the wizard — the step rail, steps 1–4 and the re‑generate button hide, so approved text can't drift. ✏️ Edit brief brings them all back; saving an edit creates a new, unapproved version and the banner reads ⚠ Edited since approval until you approve again.
- No client dropdown lives here. The active client is set with the account switcher, top‑left; this screen reports who is active and offers ⇄ Switch client.
💎 Brand IQ
The editable brand profile — voice, palette, do's and don'ts — that enriches Brand Memory beyond the brief.
📄 Proposal admin
Generate a client‑ready proposal from a saved template, scoped to the active client's industry and brief. Hidden from client logins.
⭐ Influencer
Shortlist and manage influencer / creator partners for the client.
⚙️ Settings
🔗 Channels
Connect the client's Instagram, Facebook, TikTok, LinkedIn, X and YouTube via Metricool so approved content can be scheduled. Channel selection at publish time is honoured per post.
METRICOOL_AUTOPUBLISH), so Publish reaches the client's real audience in about five minutes when no time is picked. Approvals is the last checkpoint, not the queue — use Schedule with a future date/time whenever you want a window to change your mind. Two further notes: Instagram requires media on every post; and a channel that is not in direct‑publish mode turns a scheduled Instagram post into a mobile‑app reminder for a human to finish, while the API still reports it published — so always confirm a new client's first post by opening the real profile rather than trusting the status.💳 Billing
The client's plan and subscription. The tier set here is what the server enforces — see Plans & caps.
🔑 API Console admin
Provider health and model usage — see which engines ran, spend and status. Your window into the AI supply chain.
Playbooks
End‑to‑end workflows. Each is a repeatable job.
Onboard a new client (the DFY front half)
- + New Client or open the onboarding wizard.
- Walk the 🎯 Strategy wizard — answer or AI‑research the brand questions.
- (Optional) Build the free one‑page website in the wizard.
- Review, then press ✓ Approve brief to sign it off — this date‑stamps the version, records the approver and locks the wizard. Brand Memory is live from the save; the approval is the audit trail.
- (Optional, admin) Generate a 📄 Proposal to send the client.
Run an autonomous campaign
- Open 📆 Schedule with the client active.
- In the 🚀 Autonomous Campaign card, enter a goal + themes, pick a cadence.
- ✨ Plan only and review the arc — check the phases tell one coherent story toward the goal.
- 🚀 Launch (or 🎨 Generate all images) to produce assets into Approvals.
- Move to ✓ Approvals to review.
Produce a hero video
- Studio → 🎬 Video with the client active.
- Describe the video or use Set up & Fill.
- Set duration, aspect, style and a hero model (Kling / Veo / Seedance).
- AI Script → review scenes → Generate Video.
- The finished, captioned video lands in Approvals.
Edit, approve and schedule
- ✓ Approvals → open a pending item.
- For images, ✎ Edit image — adjust overlay text, position, colour; Swap plate for a fresh image; Save.
- Approve.
- Ensure the client's channels are connected (🔗 Channels) and that auto‑publish is on.
- From the 📤 Publish rail, tick the channels, set the date/time and push to the Metricool queue. Approval alone publishes nothing — this is a separate act.
Work the whole agency (daily driver)
- Open 🏢 Agency.
- Scan for amber pending counts — that's where sign‑off is waiting.
- Click into the highest‑priority client, clear its Approvals, schedule what's ready.
- Repeat across the portfolio.
Administration
Providers & credits
TT Studio orchestrates several AI providers: media generation on Fal (draft + hero image and video); text and reasoning on Claude; live research on Perplexity; durable hosting on Vercel Blob; scheduling and publishing via Metricool. The live balance strip and 🔑 API Console show real spend and health. Keep Fal and Perplexity funded — grounding fails open (degrades gracefully) if research credit runs low, but media generation needs Fal balance.
Plans & caps — enforced, not advisory
Each client sits on a tier, and the tier is enforced on the server. Two different refusals exist and they mean different things:
| Plan | Images / month | Video / month | Video at all? | Premium voice? |
|---|---|---|---|---|
| TT Lite · DFY, images only | 30 | — | No | No |
| TT Green | 90 | 150s | Yes | Yes |
| TT Blue | 220 | 360s | Yes | Yes |
| TT Aqua | 500 | 900s | Yes | Yes |
- "Monthly allowance reached" — a quantity cap. The tier includes the feature but the month's allowance is spent. Upgrade, or wait for the month to roll.
- "Not included in the plan" — a capability gate. The tier excludes the feature entirely (Lite has no video and no premium voiceover at any volume). Only an upgrade helps.
Video is metered per render at roughly 8 seconds per clip, and the Plan Usage meter on Home uses the same arithmetic as the server — so the block trips exactly when the visible meter hits 100%. Video‑support stills (plates) are exempt and don't count as client images.
Roles & security
Client accounts are fully authenticated and scoped to their own workspace, server‑enforced. Agencies are isolated from each other the same way: an agency admin sees only their own tenant's clients, and only the platform owner (superadmin) sees across tenants — optionally by acting as one. Admin‑only tools are never reachable by a client login, regardless of the URL used.
Deployment
The console runs as a single app on Vercel, backed by a shared cloud database. Production is aliased to the live URL; preview deploys are used to review changes before promoting. Media rendering runs server‑side on the deploy.
FAQ & troubleshooting
Frequently asked questions
Does anything publish automatically?
No. Every asset stops in Approvals, and even approved items only go to a scheduling queue — the platform never posts on its own.
Can one client see another client's work?
No. Client logins are locked to their own workspace, enforced on the server — they cannot reach another brand's assets, calendar, strategy, or the agency portfolio. Only the TT Studio admin sees across clients.
Who can see the Agency workspace and portfolio?
Admin (the agency) only — hidden from client logins and blocked server‑side.
What happens if a client has no Strategy Brief yet?
Generation still runs, but without Brand Memory, so output is generic. Build and sign the brief first.
What's the difference between Save, Download and Approve on a brief?
Three different jobs, three separate buttons. 💾 Save stores a version. ⬇ Download PDF gives the client something to read. ✓ Approve brief is the only one that counts as sign‑off — it date‑stamps that version and records who approved it. Saving and downloading never imply approval.
The wizard disappeared after I approved — where did it go?
That's intended. Approving collapses the step rail, steps 1–4 and the re‑generate button so signed text can't be changed underneath the client. Press ✏️ Edit brief and the whole wizard comes back exactly as it was.
I edited an approved brief and it says "Edited since approval".
Also intended. Saving an edit creates a new version that starts unapproved, so the old sign‑off date can never appear above text nobody reviewed. Read it and press ✓ Approve brief again.
Where do I choose which client I'm working on?
The account switcher, top‑left — everywhere, including the Strategy screen. Strategy used to have its own dropdown; it was removed so two pickers can't disagree about who is active. The ⇄ Switch client button there opens the same switcher.
How does the AI stay on‑brand across different clients?
Each client's signed brief is injected into every AI call for that client. Switch the active client and the whole engine re‑grounds.
Can I edit what the AI produces?
Yes — copy is fully editable, and any image can be adjusted in the light editor (overlay text, position, colour, or swap the underlying image).
When does grounding (live research) run, and does it cost?
On strategy, content, video and campaign planning. It uses Perplexity credit; if that runs low it degrades gracefully rather than failing.
Draft vs. final models — what's the difference?
Draft models are fast and cheap for testing; final "hero" models produce the best client‑facing image and video. Applied automatically per tier.
How do I take a client from onboarding to live content?
Sign the brief → generate in Studio or run an Autonomous Campaign → approve in Approvals → schedule via Channels. That's the full loop. The workflow section above walks it stage by stage.
What is the 🛡 Voice Guardian, and can it stop me publishing?
It scores your copy against the client's locked brand voice and returns named flags. Under 70 it blocks and asks you to rework; 70–89 it shows the flags and asks you to confirm; 90+ it passes silently. If the Guardian itself is unreachable it fails open and publishing proceeds ungated — the panel tells you when that happens.
Do plan limits actually block generation, or just warn?
It depends which limit. Quantity warns — monthly image and video allowances have been measured rather than enforced since 2026‑08‑10, because stopping the operator mid‑campaign costs more than the generation does. "Monthly allowance reached" means the month is spent; work continues, and the overflow is what you take into the upgrade conversation. Capability blocks, server‑side: "Not included in the plan" means the tier excludes the feature outright — Launch has no video and no premium voiceover at any volume, and only an upgrade fixes it. One caveat either way: a client with no plan assigned is not measured at all, so always assign a tier at creation.
Which plan does a client need for video?
TT Green or above. Lite is done‑for‑you, images only — a Lite client attempting video gets a capability message, not a quota one. Premium studio voiceover follows the same line; the built‑in native voice and mic‑merge are available regardless.
What's the difference between "Plan only" and "Launch autonomous campaign"?
Cost. Plan only builds the phased arc and the month's schedule for free, as many times as you like. Launch generates every asset — real provider spend, counted against the plan cap. Always plan, read the arc, then launch.
Can I fix one scene of a video without paying for the whole thing again?
Yes — the ↻ control re‑renders a single scene and re‑stitches, without re‑spending on the cuts that were already right.
Do the 👍/👎 buttons do anything?
Yes. They're stored, rejected phrasing is injected into future generations as things to avoid, and per‑model keeper rates steer which model gets picked automatically. They're one of the three feedback channels, alongside real engagement scoring and your own edits to the brief.
Does approving a post publish it?
No — those are separate acts. Approval makes an item eligible; you then push it from the 📤 Publish rail with the channels ticked. But be aware that on production, pushing it does publish for real: direct publishing is enabled, so Publish reaches the live account in about five minutes when no time is picked. Schedule with a future time if you want a review window.
It says published but nothing appeared on the account. Why?
The post has no real permalink on the platform. On Instagram this is the reminder flow — a channel not in direct‑publish mode turns the scheduled post into a mobile‑app prompt for a human to finish by hand, while the API still reports success. Never trust the status alone: open the actual profile. If you see this, raise it with your admin — it's a channel configuration problem, not a content one.
Why do Analytics look flat?
Platform metrics update roughly daily and need pulling. Hit ↻ Sync from Metricool on the Analytics page before reading anything.
Can another agency on the platform see my clients?
No. TT Studio is multi‑tenant: each agency's book is isolated server‑side, the same way each client is isolated within an agency. Only the platform owner (superadmin) sees across agencies.
Where do I send a client their monthly results?
📊 Analytics → 📄 Monthly report opens a print‑ready report built entirely from stored data. Print → Save as PDF and send it.
Is there in‑app help?
Yes — the 📘 FAQ link at the bottom of the sidebar opens this document: the workflow stage by stage, then screen‑by‑screen reference. Billing, account access, bugs or legal go to customerservice@turquoise-tree.com.
Troubleshooting
A generation came back generic / off‑brand.
Check the client has a saved Strategy Brief and the 🧠 Brand Memory on badge is showing. No brief → no brand grounding.
Numbers or claims look invented.
Grounding may have been off or research credit low. Re‑run with grounding, or paste a source URL.
An image tile is blank / broken.
The provider's temporary URL may have expired. Open the asset and Swap plate in the editor to regenerate, then Save (which hosts it durably).
The campaign plan looks cut off.
Very large plans are token‑budgeted automatically; if a plan ever looks truncated, reduce the cadence and re‑plan.
A client can't see a feature I can.
By design — Agency, Proposal, Agency Dashboard and API Console are admin‑only.
Nothing published after I approved.
Approval and publishing are separate. Connect the channel in 🔗 Channels and push the approved item to the queue. The platform never auto‑publishes.
Publishing is blocked and the Voice Guardian shows a low score.
Working as designed. The Guardian scores outgoing copy against the client's brand voice: 90+ ships, 70–89 asks you to confirm, under 70 blocks. It almost always trips on an unverifiable claim — a percentage, a ranking, a guaranteed return — that isn't in the brief. Remove the claim or ground it, then re‑check. Real on‑brand copy typically scores in the low‑to‑mid 90s.
The Voice Guardian panel says "Guardian unavailable".
It fails open by design, so publishing still proceeds. The usual cause is the client having no saved Strategy Brief — the Guardian needs a brand voice to audit against.
I want to work across all clients at once.
Use 🏢 Agency for the portfolio view. Bulk actions across clients are a planned extension.
Getting unstuck
| Symptom | Almost certainly | Fix |
|---|---|---|
| Output is bland, could be any brand | No Strategy Brief — Brand Memory is off | 🎯 Strategy → build and save the brief, then ✓ Approve brief. Check for the 🧠 badge. |
| The Strategy wizard vanished | The brief is approved — the lock hides steps 1–4 | Press ✏️ Edit brief; the whole wizard reappears. |
| Publish blocked, low Voice Guardian score | An unverifiable claim (%, ranking, guaranteed return) not in the brief | Under 70 blocks, 70–89 asks, 90+ ships. Remove or ground the claim and re-check. |
| Figures or claims look invented | Grounding was off, or research credit ran low and it degraded | Re-run with grounding, or paste a source URL. Check the balance strip. |
| "Monthly allowance reached" | Plan quantity cap hit — a real server-side block | Upgrade the tier or wait for the month to roll. See the Plan Usage meter on Home. |
| "Not included in the plan" | Capability gate — Lite has no video or premium voice at any volume | Upgrade to Green or above. Quantity won't help. |
| An image tile is blank or broken | The provider's temporary URL expired before the asset was hosted | Open it, Swap plate in the editor, Save — saving hosts it durably. |
| Nothing posted after I approved | Approving doesn't publish — it must be pushed from the publish rail | Push it from the rail with the channels ticked and a date set. |
| It says published but the account shows nothing | The post has no real permalink — on Instagram this is the reminder flow, where a human must finish it by hand | Check the actual profile, not the status. Raise it with your admin — it's a channel-mode problem, not a content one. |
| Instagram post rejected | Instagram requires media on every post | Add an image or video, or untick Instagram. |
| Analytics look flat or stale | Metrics not synced — they update roughly daily | 📊 Analytics → ↻ Sync from Metricool. |
| A client can't see something I can | Working as intended | Agency, Proposal, Agency Dashboard and API Console are admin/superadmin-only. |
| A campaign plan looks truncated | Very large plans are token-budgeted | Reduce the cadence and re-plan. |
Still stuck? Two escalation steps, in order: the screen‑by‑screen reference below covers every screen; and anything about billing, account access, bugs or legal goes to customerservice@turquoise-tree.com — don't guess at those.
One-page cheat sheet
Print this page and keep the last sheet.
THE LOOP
Strategy → Plan → Produce → Guardian → Approve → Publish → Measure → Learn → Strategy
BEFORE EVERY GENERATE
☐ Right client in the pill? ☐ 🧠 Brand Memory badge showing?
☐ Plan allowance left? ☐ Read the plan / script first?
NO IMAGE/VIDEO SPEND (use freely) SPENDS REAL MEDIA CREDIT (deliberate only)
✨ Plan only 🚀 Launch autonomous campaign
✨ ⚡ per-field rewrites Generate (content / image)
🔁 A/B hook swap Generate video ← most expensive
🛡 Voice Guardian check Re-render one scene (cheaper than the whole video)
↻ Sync from Metricool
(these are text calls — pennies. Images and video are where the money goes.)
THE GATES
🛡 Guardian <70 blocks · 70-89 asks · 90+ passes · unreachable = ungated, read it yourself
✓ Approvals never skippable · approved ≠ published
📤 Publish LIVE on this deployment — no draft step. Publish now ≈ live in ~5 min.
Want a safety window? Use Schedule with a future time.
Always open the real profile after a new client's first post.
402 "allowance reached" → tier includes it, month is spent → upgrade or wait
403 "not in the plan" → tier excludes it (Lite: no video, no premium voice) → upgrade
PLANS images/mo video/mo video? premium voice?
TT Lite 30 — no no
TT Green 90 150s yes yes
TT Blue 220 360s yes yes
TT Aqua 500 900s yes yes
(no plan assigned = NO CAP AT ALL — always assign one)
WHERE THINGS ARE
Brief & sign-off ....... 👥 Marketing OS › 🎯 Strategy
Voice & don't-list ..... 👥 Marketing OS › 💎 Brand IQ
Make a post ............ ✨ Studio › ✦ Content
Make a video ........... ✨ Studio › 🎬 Video
Media library / editor . ✨ Studio › 🎨 Design & Assets
Plan the month ......... 📅 Calendar › 📆 Schedule › 🚀 Autonomous campaign
Sign off ............... 📅 Calendar › ✓ Approvals
Results & report ....... 📈 Performance › 📊 Analytics
Connect socials ........ ⚙️ Settings › 🔗 Channels
Provider spend ......... 📈 Performance › 📊 Analytics (admin panels) + sidebar balance
HELP
📘 FAQ — workflow, then reference → customerservice@turquoise-tree.com
Glossary
| Term | Meaning |
|---|---|
| Brand Memory | The client's brief injected into every AI call so output stays on‑brand. |
| Grounding | The Perplexity→Claude sequence: research real facts first, then write. |
| Strategy Brief | The signed source of truth for a brand's industry, audience, voice and market. |
| Arc | The 3–4 phase narrative structure an autonomous campaign builds toward a goal. |
| Plate | The underlying generated image, before any text overlay. |
| Draft vs. final models | Fast/cheap models for testing; best hero models for client‑facing work. |
| Approval gate | The rule that every asset must be reviewed by a human before it can be scheduled. |
| DFY (Done‑For‑You) | The operating model: the agency runs the platform on the client's behalf, strategy‑first and human‑led. |
| Marketing OS | The category TT Studio occupies: a system that runs a brand's whole marketing loop (research → strategy → creation → publish → learn), not a single‑purpose tool. |
| The loop / closed loop | The continuous cycle from research through publishing to learning and back into strategy. TT Studio closes the front two‑thirds today; the feedback edge is on the roadmap. |
| Layers | How the OS is organised: Knowledge · Strategy · Execution · Memory · Optimization · Autonomy. |
| Voice Guardian | The automatic brand‑voice audit run before publishing. Scores /100: under 70 blocks, 70–89 asks, 90+ passes. Fails open. |
| Quantity cap (402) | The monthly image / video‑second allowance on a plan. Feature is included; the month is spent. |
| Capability gate (403) | A feature the tier excludes entirely — Lite has no video and no premium voiceover at any volume. |
| Publish rail | The sticky right‑hand column in Content and Video: channel picks, per‑channel captions, Guardian check, schedule and publish. |
| Per‑shot routing | Classifying each video scene and sending it to whichever model (Kling / Veo / Seedance) suits that shot. |
| Identity / reference lock | Locking one reference image so a person or product stays recognisably the same across every scene. |
| Seed lock | Reusing the previous render's seed so a prompt tweak changes only what you changed. |
| Tenant | One agency's isolated world on the platform. Multi‑tenant = several agencies resell TT Studio without seeing each other's books. |
| DFY view | The simplified interface a done‑for‑you client sees — creation tools hidden, calendar and results visible. |