# Turn a campaign brief into a storyboard your team can animate

> Paste the brief, get six shots back as images you can re-roll, animate into short clips, and send to the team for review without leaving the page.

- Workflow type: app
- Services: Higgsfield, Google Drive, Slack
- Categories: Marketing
- Published: 2026-08-24

## What it does

- Keeps every campaign on one screen, so the team can reopen a board they built last month and reuse a storyboard that worked
- Paste a brief and hit Build the storyboard: the app breaks it into five or six shots, writes the direction for each one, and fills the strip with generated frames
- Rewrite the direction on any single frame and generate it again, either as a brand new image or as an edit of the frame already sitting there
- Pick a camera move from a gallery of examples to turn a still into a short cinematic clip, file approved work into that campaign's Drive folder, and post the finished strip to Slack for review

## What you'll need

- A Higgsfield account, which is what generates the frames and the clips
- A Google account with Drive, so approved frames and clips get filed somewhere the team can find them
- A Slack workspace and the channel your team reviews creative work in
- A campaign brief to start from. A paragraph is enough

## Prompt

Build me an app where my creative team turns a campaign brief into a finished storyboard without leaving the page. It uses Higgsfield to generate the frames and the clips, Google Drive to archive approved work, and Slack to send the board out for review.

The main surface is a list of campaigns. Each campaign is a saved record with a name, the brief text, the date it was created, the number of shots, and a thumbnail of its first frame. Past campaigns stay browsable and reopenable forever, because the whole point is that the team can go back to a board that worked and reuse it. A New campaign button opens an empty campaign with a large text area for the brief.

Inside a campaign I paste the brief and hit Build the storyboard. That button kicks off an embedded background agent. The agent reads the brief, splits it into five or six shots that cover the arc of the spot, and writes both a short human readable shot direction and a full image prompt for each shot. It saves that shot list onto the campaign right away so the strip renders immediately with placeholder tiles, then submits each shot to the Higgsfield operation Generate Image with Soul (Text-to-Image) and records the returned request id on the shot. The campaign can also carry one Soul style id, chosen from List Soul Styles, so every frame in a board shares a consistent look.

Higgsfield generation is asynchronous and that has to be baked into the UI, not bolted on. A submit returns a request id, not an image, so the app polls Get Request Status per request until it reaches a terminal state: queued, in_progress, completed, failed, or nsfw. Every frame tile carries its own state chip for queued, in progress, and done. There must never be one blocking spinner across the whole board. Frames appear on the strip as they finish, out of order is fine, and tiles that come back failed or nsfw show the reason plus a retry button. If someone closes the campaign and reopens it later, any generation still in flight resumes polling instead of getting lost.

Clicking a tile opens that single frame full size with its prompt in an editable field. From there I can generate it again in one of two ways. Generate a fresh image runs Generate Image with Soul (Text-to-Image) with the edited prompt. Edit this frame runs Generate Image with FLUX Kontext (Text-to-Image / Edit), passing the current frame image url along with the instruction, for when I want the existing composition changed rather than a whole new picture. Keep a version history per shot so a re-roll never destroys the previous frame, and let me pick which version is the keeper for the strip.

Every frame also has an Animate button. It opens a visual motion preset gallery built from List Motions, showing each preset's preview so I choose by looking rather than by reading names. Picking one submits Generate Video with DoP (Image-to-Video, Motion Presets) with that frame's image url and the chosen motion id, and the resulting clip tracks through the same per item queued, in progress, done states as the images do. When the clip is ready it plays in place of the still on that tile, with a toggle back to the frame.

Approving a frame or a clip archives it. The first approval in a campaign calls the Google Drive operation Create Folder to make a folder for that campaign, nested under a parent folder set once in app settings, and saves the folder id on the campaign so everything else lands in the same place. Each approved asset is then archived with Upload File (Multipart), named by shot number and campaign. Multipart upload covers files up to 5MB, so check size first and, when a clip is larger than that, keep its source link on the shot record and show that clearly instead of failing quietly.

A Send for review button posts the finished strip to our team channel using the Slack operation Send a Message. The message carries the campaign name, a one line summary of the brief, each shot in order with its direction and a link to the frame, links to any clips that exist, and a link to the campaign's Drive folder. Record on the campaign when it was last sent and who sent it, and keep the button available so a board can be sent again after changes.

Persist campaigns, shots, prompts and prompt history, request ids, generation states, image and video urls, approvals, the Drive folder id and the Slack channel, so reopening a campaign weeks later shows exactly the same board. Everything is shared across the team rather than per user: whoever opens the app sees every campaign.

## How to customize

- Change how many shots a brief gets split into, and the look every frame is generated in
- Point the review post at a different Slack channel, or file campaigns under a different Drive folder
- Decide whether a frame has to be approved before anyone can animate it

## FAQ

### How long does one frame take to appear?

Frames are generated in the background and land one at a time, so the page never freezes behind a single spinner. Each tile shows its own waiting, generating, and done state, and you can keep working on other shots while one is still rendering.

### Can I fix one shot without rebuilding the whole board?

Yes. Open any frame, rewrite the direction, and generate just that one. You can either start it fresh or ask for an edit of the picture already there, which keeps the composition and changes only the part you described.

### Where do the finished frames and clips end up?

Anything you approve is filed into a Google Drive folder created for that campaign, so the rest of the company can get to the assets without opening the app.

### Can we reuse a storyboard on a new campaign?

Past campaigns stay on the main list. Reopen any board, read back the shot direction that worked, and use it as the starting point for the next brief.

### Do I need to be a designer or a video editor to use this?

No. You write the brief in plain language and pick a camera move from a visual gallery. The shot breakdown, the images, and the clips are all generated for you.

Use this prompt in General Input: https://www.generalinput.com/prompts/turn-a-campaign-brief-into-a-storyboard-your-team-can-animate