Valasys Media

Lead-Gen now on Auto-Pilot with Build My Campaign

ROI Calculator new

Personalised ABM Video for 44 Cents per Account? We Tested Seedance 2.5 on a B2B Demand-Generation Brief

We generated personalised ABM video openers with Seedance 2.5 for $0.44 per account and checked names, on-screen text, loudness and brand safety. Your team is welcome to design the featured banner.

Guest Author

Last updated on: Nov. 3, 2026

one prompt template

Three personalised openers from one prompt template, generated with Seedance 2.5 at 480p for a fictional B2B campaign.

Account-based marketing treats each target account as a market of one. For email, landing pages and display ads, that is routine: automation fills in the company name, the industry and the pain point. Video has been the exception. A personalised video per account used to mean a seller recording dozens of webcam clips, or a template with the prospect’s logo pasted onto a stock background. Neither scales, and neither looks made for that one account.

Text-to-video models with built-in sound change the arithmetic. If a model can produce a five-second clip of a presenter in the prospect’s kind of workplace, saying the prospect’s company name, for under a dollar, then an opener for every account on a 200-account list becomes a line item. The question for a demand-generation team is whether the clips get the B2B details right: the account name, the industry setting, on-screen numbers, brand safety, and consistency across a series.

We tested that with a concrete brief. We invented a software vendor and three target accounts, generated every clip with Seedance 2.5, the video model from ByteDance’s Seed team, and checked the output the way a campaign manager would before launch: speech recognition on every spoken line, frame-by-frame checks of on-screen text, loudness measurements and a look at the metadata. Nine generation requests cost $3.41. Prompts, timings, costs and failures are below, with a three-minute walkthrough video at the end.

The scenario

Everything here is fictional. Our vendor, Tallyforge, is an imaginary accounts-payable automation platform for mid-market companies. Its demand-generation team wants to open each account sequence with a short personalised video: an account executive, standing in a setting that looks like the prospect’s business, greeting the account by name and naming one pain point. The clip would run as the first touch in an account-targeted LinkedIn or programmatic campaign and as the preview in the first sales email. We picked three accounts from three verticals:

  • Northgate Freight, logistics. Setting: a freight warehouse at dusk.
  • Brightwater Health, a hospital group. Setting: a hospital administration office.
  • Kessler Tooling, manufacturing. Setting: a factory floor with CNC machines.

Invented names are deliberately harder for a model to pronounce than common words, which is exactly the situation a real target list creates.

How we generated the clips

Seedance 2.5 returns video with synchronised audio, including speech when the prompt contains quoted dialogue, at 480p, 720p or 1080p and up to 30 seconds. Requests are asynchronous: submit, receive a task ID, poll. Our clips took 146 to 157 seconds each; we ran all nine in parallel.

Personalisation at scale only works if most of the prompt is fixed. Our template had a fixed presenter description, a slot for the setting and a slot for the spoken line:

import time, requests

BASE = “https://YOUR_API_HOST/v1”

H = {“Authorization”: “Bearer YOUR_KEY”}

PRESENTER = (“A friendly female account executive in her thirties with shoulder-length ”

“dark hair, wearing a navy quarter-zip sweater”)

def prompt(a):

return (f”Medium shot {a[‘scene’]}. {PRESENTER}, holds a tablet, looks straight into ”

f”the camera and says: \”{a[‘line’]}\” {a[‘light’]}, shallow depth of field, ”

f”steady camera, corporate video style.”)

def generate(text, model=”seedance-2.5″, resolution=”480p”, size=”16:9″):

tid = requests.post(f”{BASE}/videos/generations”, headers=H, json={

“model”: model, “prompt”: text, “size”: size,

“resolution”: resolution, “duration”: 5,

}).json()[“data”][0][“task_id”]

while True:

d = requests.get(f”{BASE}/tasks/{tid}”, headers=H).json()[“data”]

if d[“status”] in (“completed”, “failed”):

return d

time.sleep(6)

One lesson from the run: a network error while polling crashed our first script after all jobs had been submitted. Because we wrote every task ID to disk at submission, we resumed polling instead of resubmitting. With a paid asynchronous API, log the task ID before anything else, or a careless retry loop doubles the bill.

from account list to opner

The pipeline we tested, from CRM export to an ad-ready personalised opener.

We fixed the test list and budget before generating: five Seedance 2.5 clips at 480p, one 720p showcase, and three drafts on the cheaper seedance-2.0-mini model.

Test 1: one template, three industries

Does the setting slot produce a recognisable vertical? The hospital prompt, exactly as sent:

Medium shot inside a bright hospital administration office, staff working at desks with monitors softly out of focus behind. A friendly female account executive in her thirties with shoulder-length dark hair, wearing a navy quarter-zip sweater, holds a tablet, looks straight into the camera and says: “Hi Brightwater Health team, let’s get your supplier invoices paid on time.” Soft daylight from large windows, shallow depth of field, steady camera, corporate video style.

model: seedance-2.5 | size: 16:9 | resolution: 480p | duration: 5

The warehouse clip had stacked pallets, two forklifts and warm dusk light through open dock doors, close to what a logistics marketer would pick from a stock library. The factory clip put the presenter beside a large machine-tool enclosure with a bright hall and workers in high-visibility vests behind her. The hospital clip was weakest: a bright open-plan office with a few staff in teal tops that might be scrubs, but nothing that said “hospital” unambiguously. For healthcare accounts we would add one concrete cue, such as a nurse’s station.

Each clip took 146 to 148 seconds and cost $0.436. The presenter delivered the full line within five seconds in every clip, with natural gestures. One flaw repeated: the first frames show her with her mouth wide open, almost mid-laugh. If your ad platform or email tool uses the first frame as the thumbnail, set the poster frame manually to around two seconds.

Test 2: did the presenter say the right account name?

right account name

Mangling a prospect’s company name is worse than not personalising at all. We transcribed every spoken clip with Whisper and calculated the word error rate (WER) against the script. Whisper makes its own mistakes, so these numbers are an upper bound on the model’s errors.

Test 2: Whisper transcripts versus the script. Account names were heard correctly in all eight spoken clips.

Whisper transcribed “Northgate Freight”, “Brightwater Health” and “Kessler Tooling” correctly in all eight clips with speech, across both models and both resolutions. On Seedance 2.5, four of five lines had zero errors. In the factory clip Whisper heard “your machine” instead of “your machines”, one dropped plural in twelve words (8.3 percent WER), which could as easily be the listener as the speaker.

We also ran Whisper on the dashboard clip from Test 5, which contains only quiet music. It returned “Thanks for watching!”, a phrase Whisper is known to invent on music or silence. If you automate QC, treat any transcript of a clip that should be silent as noise.

Test 3: is it the same presenter every time?

same presenter everytime

A series works best when one account executive appears in every opener, so a buying committee recognises one person. Our presenter description was identical in five Seedance 2.5 requests. We got five different people.

Test 3: the same presenter description produced five visibly different women.

All five matched broadly: a woman in her thirties, dark hair, a navy sweater. Faces and hairstyles varied clearly: long waves in the freight clip, a short bob in the factory, dark red hair in the vertical video. Clothing drifted too. Only three of five wore the requested quarter-zip; the freight and factory presenters wore crew necks. The 480p freight clip also shows a dark vertical line down the presenter’s neck, easy to miss in motion but visible in a still.

Text alone cannot hold a consistent spokesperson. Seedance 2.5 accepts reference images; supply the same one in every request, or film a real account executive once and use the model for settings only. If the reference is a real employee, get written consent. For one opener per account the drift does not matter; for a nurture sequence it does.

Test 4: are cheap drafts good enough to approve scripts?

seedance mini draft

We ran the same three prompts on seedance-2.0-mini, at $0.082 per five-second 480p clip, about a fifth of the Seedance 2.5 price. Drafts arrived in 107 to 139 seconds.

Test 4: seedance-2.0-mini drafts (top row, $0.08 each) against Seedance 2.5 (bottom row, $0.44 each).

Visually, the drafts did their job. All three scenes matched their prompts, framing was close to the finals, and every mini presenter wore the quarter-zip. Images were softer and skin and fabric looked more synthetic, as expected at this price.

The audio was the problem. The mini model pronounced the account names correctly but mangled the product word in all three drafts: Whisper heard “your Insys’s”, “your supplier infas” and “your unfaces” where the script said “invoices”. For an accounts-payable vendor, that is the most important word in the line. Seedance 2.5 said it correctly in all five clips that contained it. One mini draft also put a recognisable consumer-electronics logo on the back of the tablet, which no brand team would accept. Use drafts to check framing and setting, and approve spoken copy only on the model you will ship. In practice that switch is a single argument: the Seedance 2.5 video API takes the model name, resolution, aspect ratio and duration as plain request parameters, so the same account template can produce a cheap framing draft, the landscape final and the vertical cut.

Test 5: personalisation on the screen

personalization on screen

Many ABM videos personalise the visuals: the prospect’s name on a dashboard, a benchmark number. We asked for that with no dialogue:

Close-up of a laptop on a tidy office desk showing a clean finance dashboard. The large headline on the screen reads “Northgate Freight” and below it a big green number reads “31% faster invoice approvals”. A hand moves the mouse, the camera slowly pushes in toward the screen, softly blurred office in the background, light ambient music, no dialogue.

model: seedance-2.5 | size: 16:9 | resolution: 480p | duration: 5

Test 5: the green headline types itself in, with wrong digits at 2.0 seconds; it is complete only from 3.0 seconds.

Both lines were eventually spelled correctly, a good result for text inside generated video. “Northgate Freight” was legible from the first frame, though set in two weights, an unrequested design choice. Stepping through in half-second increments showed the real issue: the model animated the green line as if the dashboard were loading. It is absent until 1.5 seconds, reads roughly “78% fast” at 2.0 seconds, “31% faster invoice” at 2.5 seconds, and is complete only from 3.0 seconds. Small interface labels are illegible pseudo-text throughout.

Only the last two seconds are usable as a still, and a viewer who scrolls past early may see a wrong number. A figure like “31% faster” is a claim that must be correct wherever it appears. Keep numbers out of the generated pixels and add them as captions in editing. The clip cost $0.436 and took 148 seconds.

Test 6: a vertical cut for mobile feeds

vertical cuts mobile feeds

For phone-first feeds we wrote a vertical prompt for Kessler Tooling:

Vertical social media video. A friendly female account executive in her thirties with shoulder-length dark hair, wearing a navy quarter-zip sweater, walks toward the camera along a bright modern office corridor holding a coffee cup, smiles and says: “Kessler Tooling, one short demo, zero paper invoices.” Handheld follow shot, natural light, empty space at the top of the frame for a caption.

model: seedance-2.5 | size: 9:16 | resolution: 480p | duration: 5

Test 6: the 9:16 version delivered the line cleanly, but placed an invented logo on the coffee cup.

This was the most natural clip in the batch. The presenter glances down, looks up and delivers the line with a relaxed smile, like a seller filming on a phone. Whisper transcribed it with zero errors, the requested headroom for a caption is there, and the output is true 480 by 854 vertical, not a crop.

The flaw: we asked for “a coffee cup” and got a cup printed with a shield logo and brand-like text that is not legible. It is not a real brand as far as we can tell, but in an ad it reads as product placement. The model also added a lapel microphone nobody asked for. Plausible details make generated video convincing, and they are what brand-safety review must catch. Write “a plain white cup with no logo or text”.

Test 7: 480p or 720p for the final?

480p or 720p

We re-ran the exact freight prompt at 720p. It took 157 seconds and cost $0.980, 2.25 times the 480p price for 2.25 times the pixels.

Test 7: the 720p version is sharper, but it is a different take with a different presenter.

The 720p clip is visibly sharper in hair, knit and background, got the quarter-zip right and avoided the neck artefact. But it is not an upscale of the 480p clip. It is a new generation: a different woman with a shorter bob, a different warehouse with tall racking and hard daylight shadows. Only the spoken line, transcribed with zero errors in both, is shared.

So you cannot approve a 480p draft and expect the 720p render to match. Approve at the resolution you ship. For feed ads watched a few centimetres wide, 480p was good enough in our clips; for a landing-page hero or sales-deck embed, we would pay for 720p and approve that take directly.

Test 8: are the files ready for the ad platform?

We checked every file with ffprobe and measured loudness with EBU R128 (integrated loudness in LUFS, true peak in dBTP).

Clip Resolution Loudness True peak Size
A Freight (480p) 854 x 480 −16.2 LUFS −4.1 dBTP 1.1 MB
B Hospital (480p) 854 x 480 −17.0 LUFS −2.8 dBTP 1.0 MB
C Factory (480p) 854 x 480 −16.9 LUFS −3.6 dBTP 1.2 MB
D Dashboard (480p) 854 x 480 −29.1 LUFS −13.9 dBTP 2.2 MB
E Vertical (480p) 480 x 854 −15.4 LUFS −1.9 dBTP 2.8 MB
A Freight (720p) 1280 x 720 −18.1 LUFS −4.9 dBTP 3.7 MB
Mini drafts (3) 864 x 496 −11.5 to −15.1 LUFS −0.7 to −2.3 dBTP 1.0–1.1 MB

All Seedance 2.5 files were 5.06-second H.264 at 24 frames per second with stereo AAC audio at 32 kHz. Most editing timelines expect 44.1 or 48 kHz, so resample on export, and scale-and-pad the 854-pixel width if your template expects exact 1280 by 720. Loudness matters more: speech clips sat between −15.4 and −18.1 LUFS, the dashboard clip was 11 to 14 LU quieter, and one mini draft peaked at −0.7 dBTP, close to clipping. Normalise every clip to one target and limit peaks to −1 dBTP before cutting a sequence.

Every clip, from both models, carried an embedded C2PA manifest, the provenance standard behind “Content Credentials” labels, naming the model. That helps disclosure and asset tracking, but some editing tools strip it on re-encode, so check the exported file. A short “AI-generated presenter” note in the caption costs nothing and avoids awkward questions from a buying committee.

Test 9: what does a personalised opener cost at ABM scale?

generation costs

Test 9: generation costs for the whole test and projected costs for a 200-account list.

Step Requests Time per request Cost
Seedance 2.5, 480p, 5 s 5 146–148 s $2.18
Seedance 2.5, 720p, 5 s 1 157 s $0.98
seedance-2.0-mini, 480p, 5 s 3 107–139 s $0.25
Total 9   $3.41

A single 480p take costs $0.44 per account. Two takes plus a mini draft for framing comes to about $0.95. For a 200-account tier-one list with two Seedance 2.5 takes each, generation costs about $174, and speech-recognition QC adds well under a cent per clip. The real cost is review: most of our clips had at least one detail a reviewer needed to catch, from a logo to a missing zip to a mid-laugh first frame. Budget a minute or two per clip, plus editing for captions, loudness and end cards. Compared with a seller recording 200 webcam videos at ten minutes each, more than 30 hours of selling time, the generated route moves the work from recording to reviewing.

Where it fits in a demand-generation programme

Use generated openers for the first touch, where the goal is recognition: “this was made for us”. Follow up with real content, such as a customer story or a message from a real seller, once the account engages, and never use a synthetic presenter for anything implying a real relationship. Measure with a holdout: run the personalised opener against a generic version for matched accounts and compare account engagement, view-through rate and meetings over a full sales cycle, because personalisation often lifts attention without lifting pipeline.

The walkthrough video

Walkthrough: personalised ABM video openers generated with Seedance 2.5 (about 3 minutes).

Checklist for personalised ABM video

  1. Template the prompt. Fix presenter, style and camera; change only setting and line per account.
  2. Give each vertical one unmistakable cue. “Hospital office” produced a generic office.
  3. Check every spoken line with speech recognition. Names were right in 8 of 8 clips, but verify, and ignore text on silent clips.
  4. Do not expect one presenter from text alone. Five requests gave five women; use a reference image.
  5. Approve copy on the final model. The mini model mispronounced “invoices” in 3 of 3 drafts.
  6. Keep numbers out of the pixels. The on-screen figure was wrong at 2.0 seconds.
  7. Write “no logo, no text” for props. Cups and tablets picked up logos.
  8. Normalise and resample before upload. Loudness varied by more than 17 LU; audio came at 32 kHz.

The bottom line

For $3.41, Seedance 2.5 produced personalised five-second openers for three fictional target accounts, a dashboard shot with the account name on screen, a vertical feed version and a 720p showcase. The strengths are the ones ABM needs most: invented company names pronounced correctly in every clip, recognisable industry settings, and 44 cents per 480p take. The weaknesses are just as clear: the presenter changed from clip to clip, a key number passed through wrong values, unrequested logos appeared on props, and higher resolution meant a different take rather than a sharper copy. None of that rules out personalised generated video for demand generation. It makes it a production process with a review step, which is how B2B teams should treat any asset carrying a prospect’s name.

Guest Author

Scroll to Top
Valasys Logo Header Bold
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.