How to Build a Full AI TikTok Slideshow Workflow in Ghostfeed

By Meet Shukla··9 min read
ai slideshowstiktok marketingcontent automationworkflow designghostfeed

Most slideshow workflows are a prompt, a folder, and hope.

The actual Ghostfeed workflow is much more direct:

Ask your agent
angle → slide-by-slide script → choose From Social, From Prompt, or From Scratch → editable Ghostfeed base → cast each background → place editable text → write the caption → review the saved sequence → generate hook-led variants

Choose the correct starting door

  • Use From Social to remix a TikTok Photo Mode post or image-only Instagram carousel. Ghostfeed keeps the reference’s slide count and beat logic, then writes fresh copy and casts fresh images.
  • Use From Prompt when you know the audience and angle. Type @ to attach products, image collections, or approved avatars; if no slide count is specified, the Director chooses a length that fits the story.
  • Use From Scratch when the script is already approved or an agent will art-direct every slide through MCP. The dashboard starts with three editable slides; the MCP operation can create the exact deck length requested.

Step 1: start with one angle and one audience

Use reviews, support tickets, search language, or founder knowledge to identify a specific tension. The first slide should make that tension recognizable; the remaining slides should pay it off.

Write the arc before touching images:

  1. hook;
  2. deepen the situation;
  3. name the mechanism;
  4. give evidence or steps;
  5. handle the obvious objection;
  6. close with one next action.

Step 2: create the editable base

For the MCP-driven scratch route, Ghostfeed's create_blank_slideshow operation creates the saved slideshow and the number of slides you want to art-direct. You can add, remove, or reorder slides later, up to the product limit.

This is not a flattened image export. Each slide remains editable.

Step 3: cast every background

For each slide, search for a scene rather than a topic.

"Tired parent checking a phone in a dark nursery" produces a more native background than "sleep tracking infographic."

Ghostfeed can cast from:

  • Pinterest search results;
  • workspace collections;
  • linked product collections;
  • approved avatar image libraries;
  • an uploaded or external image URL.

The tool rejects undersized images, and the chosen Pinterest query is saved so the editor can reopen or shuffle that search later.

Step 4: place the text as a separate layer

Use set_slide_texts with a role and placement for each text block. Ghostfeed maps headings, body copy, and CTAs into mobile-safe positions.

Keep copy out of the generated background. When a line changes, you should edit the line—not regenerate the scene.

Lifestyle slideshow example featuring a direct personal hook01
Beauty and confidence slideshow example from the Ghostfeed landing page02
Elegant habits listicle slideshow example from the Ghostfeed landing page03
Viral theories slideshow example using a curiosity-led hook04
Four mobile-first slideshow examples from the Ghostfeed landing-page set.

Step 5: caption and review the whole sequence

Set the post caption, then call get_slideshow to read back every slide, text box, background source, and variant.

Review the sequence for:

  • hook payoff;
  • repeated scenes;
  • visual continuity;
  • text density;
  • unsupported claims;
  • product appearing too late;
  • CTA fit.

Step 6: build a real variant

In the dashboard, choose a ready base and open Generate variants. Write the direction or let Ghostfeed suggest distinct hooks, choose the count, and generate.

Each hook becomes the topical truth for its own deck. Ghostfeed keeps the base slide count and text geometry, writes fresh copy, and changes backgrounds according to source: recast Pinterest slides, rotate collections and avatar pools, preserve uploads and standalone AI images.

Do not call a resized export a new variant. A variant should change a hypothesis: hook, scene language, proof order, or CTA.

Claude builds a Ghostfeed photo-mode deck through MCP: blank deck, sourced backgrounds, editable text, and saved review state.

Step 7: export and learn

The MCP surface builds and reviews the deck. Final downloading and platform posting remain deliberate user actions. After publishing, log results against the angle and variant so the next deck inherits an actual learning.

That is the full creative loop.

That works until you need to:

  • regenerate slide four without changing the character;
  • trace an unsupported claim;
  • publish five aspect-ratio variants;
  • understand why a post worked;
  • stop an automation from shipping broken text.

The structured contract below is how you keep that Ghostfeed workflow intact when you automate larger batches. It is supporting detail, not the article's main idea.

This is the slideshow pipeline I would build for an app team.

Start with the unit of work

One slideshow should be one structured object.

Ask your agent
{ "id": "sleep-001", "platform": "tiktok", "objective": "qualified_trial", "audience": "new parents with fragmented sleep", "angle": "the 3 a.m. wake-up is not the whole problem", "evidence": ["interview-17", "support-theme-04"], "slides": [], "status": "briefed" }

That object survives every stage:

Ask your agent
research → brief → script → image candidates → approved slides → rendered post → review → publish → performance

Do not pass the work between stages as prose pasted into Slack.

Define each slide explicitly

Ask your agent
{ "position": 1, "job": "hook", "overlay": "Your sleep tracker is hiding the useful part", "visualIntent": "tired parent checking phone in a dark nursery", "continuity": { "characterId": "creator-maya-01", "locationId": "nursery-night-01", "wardrobeId": "grey-hoodie-01" }, "claimIds": [], "cta": null }

The important fields are not the exact names. The important idea is that copy, visual intent, continuity, evidence, and status are separate.

When the overlay is baked into the image prompt, a copy edit forces an image regeneration. Keep text as a render layer unless the native aesthetic specifically needs photographed text.

Give every slide one job

A useful nine-slide structure:

SlideJobFailure mode
1Earn the first swipeGeneric category statement
2Deepen the tensionRepeats slide one
3Name the mechanismUnexplained jargon
4–6Prove or demonstrateDecorative filler
7Handle the objectionStraw-man objection
8Show the next stepProduct appears from nowhere
9Ask for one actionThree competing CTAs

Slide two should make sense if someone lands there, but it does not need a fake “second hook.” It needs to advance the argument.

Build the brief from evidence

The creative brief should cite inputs:

  • customer interview excerpts;
  • support-ticket themes;
  • product behavior;
  • ad comments;
  • sales objections;
  • approved product claims;
  • previous creative results.

Example:

Ask your agent
problem: statement: "Users do not know why they wake up tired." evidence: - support-theme-04 mechanism: statement: "The app separates time asleep from interruptions." evidence: - product-feature-sleep-segments proof: statement: "Show the sleep-segment chart in the real app." evidence: - product-capture-2026-06

This prevents a language model from filling gaps with plausible nonsense.

Lock continuity before generating images

Continuity is a small production bible:

Ask your agent
character: id: creator-maya-01 approvedReference: maya-neutral-front-v3 permittedUse: organic-and-paid-social location: id: nursery-night-01 palette: [warm-lamp, dark-blue-window, off-white-wall] camera: deviceLanguage: handheld-phone focalRange: 24-28mm-equivalent processing: low-sharpening textSafeArea: top: 12% bottom: 20%

Use only people and likenesses you have permission to use. “AI generated” does not erase publicity, contract, endorsement, or platform obligations.

Generate candidates, not final assets

For each visual:

  1. generate a small candidate set;
  2. reject structural failures;
  3. compare continuity against adjacent slides;
  4. choose one;
  5. regenerate only the failed slot.

Do not blindly generate eight variants for every slide. Spend more candidates on high-risk frames:

  • hands interacting with products;
  • readable interfaces;
  • recurring characters;
  • unusual camera angles;
  • product packaging.

Spend fewer on simple objects and environments.

Validate before human review

Cheap deterministic checks should run first:

Ask your agent
exactly 9 slides all overlays within character limit no missing asset all assets portrait safe-area rules pass one CTA only every factual claim has an approved claim ID no duplicate overlay no unlicensed character ID

Then add visual checks:

  • face and hand integrity;
  • product/logo correctness;
  • character continuity;
  • text contrast;
  • duplicated artifacts;
  • accidental watermarks;
  • implausible physics.

Automation should remove boring mistakes before a human sees the batch.

Add approval gates where errors get expensive

I would use three:

Gate 1: brief

Approve the audience, claim, evidence, angle, and product role.

Gate 2: source frame

Approve the creator, setting, wardrobe, and visual language before generating the sequence.

Gate 3: final post

Approve copy, sequence, render, CTA, rights, and publishing metadata.

One video. Hundreds of posts only works when the approved decisions are reusable.

Render from a template

Keep layout tokens separate from content:

Ask your agent
{ "canvas": { "width": 1080, "height": 1920 }, "overlay": { "maxWidth": 850, "fontToken": "social-display-bold", "position": "upper-third", "contrastTreatment": "soft-scrim" }, "footerSafeArea": 360 }

Then render platform-specific variants without rewriting the creative.

Story-led slideshow example featuring a strong opening frame01
Expensive-looking habits slideshow example from the Ghostfeed landing page02
Interesting facts slideshow example using a saveable list format03
Male creator slideshow example from the Ghostfeed landing page04
A second four-example set showing varied subjects, hooks, and text-safe composition.

Publish through supported paths

Use platform-supported publishing integrations and preserve:

  • destination account;
  • scheduled time;
  • caption;
  • audio choice;
  • disclosure state;
  • post ID;
  • exact rendered asset hash.

Do not build device farms, proxy choreography, or fake-human behavior. That is evasion infrastructure, not marketing leverage.

Close the feedback loop

Store performance against the exact creative object:

Ask your agent
{ "postId": "platform-post-id", "slideshowId": "sleep-001", "views": 18420, "averageSlidesViewed": 5.7, "saves": 211, "shares": 94, "profileVisits": 317, "qualifiedTrials": 23, "windowHours": 72 }

Use a consistent window. Do not compare a three-hour post with a seven-day post.

More importantly, do not optimize only for views if the objective is qualified trials.

A concrete iteration

Version A:

I fixed my sleep with this app.

It is broad, outcome-heavy, and barely says anything.

Version B:

My sleep score looked fine. This graph showed why I still felt wrecked.

The second version creates a specific information gap and naturally introduces a real product screen.

The next test should change one meaningful variable:

  • hook specificity;
  • evidence type;
  • creator;
  • visual setting;
  • objection;
  • CTA.

Do not change all six and call the result learning.

The operating rule

A slideshow system is not “30 scripts in one prompt.”

It is:

Ask your agent
structured evidence + explicit creative decisions + reusable continuity + deterministic validation + human approval + attributable performance

That is the difference between content generation and a production system.

Ghostfeed is built around the same idea: no filming, no editing, no prompting as the operating model—but with the briefs, source frames, approvals, variants, and publishing state kept visible.

The output is not merely more slides.

It is a system you can inspect, improve, and trust.