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.
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.
What does this prompt do?
- 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 do I need to use this?
- 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
How can I customize it?
- 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
FAQs
How long does one frame take to appear?
Can I fix one shot without rebuilding the whole board?
Where do the finished frames and clips end up?
Can we reuse a storyboard on a new campaign?
Do I need to be a designer or a video editor to use this?
Related templates
Generate on-brand ad variants in every format, approve the winners, and keep a ready library you can swap in the day an ad starts to fatigue.
Work every partner tier decision from one board, with the revenue and commission numbers, clear promotion thresholds, and AI review briefs.
Open one board at month end to find every closed deal missing a commission, every commission with no deal behind it, and every amount that does not add up.
Search, filter and sort your whole signed contract repository, then have an assistant read any contract and write a plain English brief back onto the row.
Open one screen each Monday to see which upcoming posts still have no image, generate three on-brand options, and file the one you pick.
See warmup status, daily send volume, and bounce risk for every sending account in one grid, with the riskiest mailboxes floating to the top.
Stop rebuilding storyboards in a slide deck.
Give your creative team one page where a brief becomes a shot list, a set of frames, and clips ready for review.