← All posts

Cast Packs for Multi-Character AI Shoots

Save named bundles of LoRA and voice version pins in Wavemaker, apply them to workflow spec bindings in one step, and ship multi-role apps without rebinding every node.

Illustration for: Cast Packs for Multi-Character AI Shoots
Conceptual illustration — product screenshots appear in the guide below where they help you click through.

Cast packs bundle up to twenty version-pinned LoRA and voice assets so multi-character workflows inherit default bindings in one apply step—after you train runnable weights, not instead of dataset and epoch discipline.

Multi-character shoots fail on binding friction

Each role might need:

  • An image LoRA on krea2 (face/product)
  • A video LoRA on wan (motion)
  • A voice clone with consent (narration)

Without cast packs, rebinding every graph for each campaign week burns producer time and invites version mistakes (v2 on lead, v1 on supporting). Cast packs encode who plays whom as data.

This feature is casting logistics. For the broader map of consistency tactics (subject references, review gates, planning), read /blog/consistent-characters-across-scenes/—we link there intentionally without retargeting that head term.

What goes into a pack

From model assets docs:

  • Up to 20 asset version pins
  • Optional recommended weights per pin
  • Optional voice pin (elevenlabs-path clone with consent on file)

Only runnable trained or imported assets pass pickerAssetsForSlots compatibility—the same gate as the editor asset picker (Flux/SDXL honesty).

Create and edit packs

  1. Train or import roles (character LoRA guide, Civitai import, video Wan LoRA, voice with consent).
  2. Pick epochs manually—never auto-last.
  3. Open Library → Cast / style packs.
  4. Name the pack (slug rules apply) and add pins + weights.
  5. Save.

Workflow editor spec panel and assistant entry points for binding assets

Workflow copilot — describe a pipeline and review the assembled graph.

Kill switch: workflowCastPacksEnabled (default ON) with workflow platform—503 when disabled.

Apply pack in the workflow editor

Open a workflow → deselect nodes so the spec panel shows graph defaults → Apply pack. Pure function applyCastPackToSpec merges pins into spec.bindings; save the workflow to persist.

Apply does not mutate Hub-published apps until you republish—treat apply as a draft accelerator, then review diffs.

API: /api/v1/cast-packs

Routes support list/create/patch/delete and POST …/:id/apply for automation. Org-scoped auth matches other kernel resources. Agents in builder MCP mode can bind packs after training webhooks fire—still require human epoch/consent gates where policy demands.

Cast packs vs subject references

Subject references excel when you have photographic anchors without training. LoRAs excel when trigger tokens must scale across dozens of gens. Cast packs excel when the same ensemble repeats across workflows ( episodic show, multi-ad family). September’s comparison post [subject refs vs LoRAs vs cast packs] will sit on the calendar—today, use cast packs when pins already exist.

Strength and evaluation after apply

Packs carry recommended weights, not guaranteed perfection. After apply:

Hub and marketplace angles

Published workflows expose bindings to remixers; cast packs help internal teams more than public remixers— but creators selling multi-role templates can document which pack slug buyers should apply. Marketplace economics tie to Hub tour.

Ecommerce ensembles

Product + spokesperson roles combine product LoRAs with character LoRAs—cast packs prevent swapping SKU pins between campaigns.

Failure modes

MistakeFix
Library-only SDXL pin in packRemove; train krea2 product LoRA
Stale version after retrainBump pin to new picked epoch
Voice without consentComplete R-45a before pin
Never saved workflow after applySave spec

Version bumps without breaking published apps

Published Hub apps pin asset versions at publish time. Updating a cast pack pin does not retroactively change live apps until authors republish—communicate version bumps to remixers in release notes.

Style packs vs cast packs naming

Cast / style packs share machinery; naming conventions help teams find packs (“BrandX_Summer2026_Cast”). Slugs must match server regex—use lowercase hyphenated slugs in API automation.

Testing apply on forked workflows

Fork before apply when experimenting—spec panel merges can overwrite bindings you meant to keep on golden templates. Diff review in editor history where available.

Role sheets for directors

Maintain a simple role sheet: character name → asset id → version → weight → voice pin. Cast packs encode the sheet into data; directors still need human-readable docs on set. When a role recasts, update the pack before applying to production graphs—avoid “fixed in the prompt only” drift.

Spec panel vs per-node overrides

Apply pack fills defaults in spec bindings; individual nodes may override. Audit overrides before publish—overrides are how lead actors silently revert to v1 while pack says v3.

Collaboration with external agencies

Agencies without org access can deliver trained assets you import, but cast packs remain org-local. Process: agency trains → you pick epoch → you import or receive trained asset pin → you build pack—never share API keys to dodge consent gates.

Field notes for multi-character production

Start from a role table: name, asset version, weight, voice pin, pack slug. Update table when evaluation promotes defaults—Apply pack reads pins, not your table, unless you sync them. Fork workflows before experimental apply. After apply, click Save—unsaved spec changes cause “pack broken” ghosts. For two-hander dialogue ads, separate character LoRAs; do not train both faces in one dataset. Ecommerce adds product LoRA third pin—see product LoRAs. When stakeholders ask consistency broadly, link /blog/consistent-characters-across-scenes/; cast packs are binding logistics. API users: test POST …/cast-packs/:id/apply on staging graphs; org scoping is strict. Revisit packs when /lora-training engine matrix updates runnable families.

Workshop scenarios

Sitcom three-hander — three character LoRAs trained, epoch picked each, one cast pack sitcom_core, apply to episode template before weekly shoot. Spokesperson + product — two pins + optional voice, weights documented in runbook. Agency delivers LoRA files — you import/train, you pick epoch, you own pack; no shared org keys. Apply pack forgot Save — classic failure mode; QA checklist includes save spec. Published app unchanged after pack update — expected until republish; comms to remixers.

Extended production checklist

Maintain role table synced with pack pins after every epoch pick or eval promote. Fork before experimental apply; save spec after apply. Slug API apply in staging before prod. Remove library-only pins from packs—they fail silently at bind. Document pack slugs in runbooks for weekly episodic workflows. Refresh packs when /lora-training runnable matrix changes. Product + talent ensembles need separate trained assets—see product LoRAs. For general consistency tactics, link /blog/consistent-characters-across-scenes/. Train ops owns epoch pick; cast ops owns pack refresh—handoff checklist prevents v1/v3 mixups.

Operator deep dive

Pack slugs should be human-memorable for directors (“sitcom-core”, not uuid soup). When remixers fork Hub apps, document which pack slug completes bindings—cast packs are org-local unless you republish instructions. API apply endpoints still require saved workflows—automate save verification in CI. Weight recommendations in packs are starting points; directors may override per episode with logged rationale. Multi-org agencies need separate packs per client—never cross-pin assets. When /lora-training adds runnable families, revisit packs to swap library-only pins for trained replacements.

Closing principles for cast operations

Cast packs encode who is pinned, not how to direct scenes—link directing consistency to /blog/consistent-characters-across-scenes/. Apply pack → save workflow is a mantra; unsaved specs cause ghost support tickets. Version bumps require pack updates the same day epoch picks or eval promotions land. Hub published apps do not auto-update pins—plan republish comms. API users validate org scoping on every apply call. Product + talent ensembles reference product LoRAs for SKU pins alongside character pins.

Name packs after shows or campaigns, not individual editor usernames—continuity survives team churn when slugs stay stable.

Directors should receive pack slug + role table PDFs before shoot weeks—Apply pack in editor is fast, but creative alignment still needs human-readable casting docs. When evaluation promotes new defaults, update packs before Monday batch slug-runs to avoid split-brain bindings. Remixers need explicit instructions: packs are org-local; forked Hub apps may not include your pack unless you document apply steps. Train finance on /lora-training separately from pack ops—packs do not train, they pin.

Treat pack slugs like infrastructure names: rename rarely, document always. When two packs differ only by weight, encode weights in pack metadata rather than duplicating pins without reason.

Add “apply pack + save spec” to QA scripts before every Hub publish—regression tests catch missing saves faster than user reports.

Cast packs scale ensemble shows; they do not replace /blog/consistent-characters-across-scenes/ for directing—link both in onboarding.

One saved spec after Apply pack prevents a week of “why is my lead on the wrong LoRA version?” tickets.

Where to go next

Frequently asked questions

What is a cast pack on Wavemaker?
A cast pack is an org-scoped named bundle of up to 20 model asset version pins—optional recommended weights plus an optional voice pin—you can apply from a workflow's spec panel to fill default bindings at once.
How are cast packs different from training a new LoRA?
Training creates assets; cast packs organize existing runnable pins for reuse. They do not replace datasets, epoch picks, or consent for voice— they accelerate binding when you already trained or imported compatible weights.
Do cast packs work with library-only Flux LoRAs?
No. Only runnable assets on krea2, ltx, wan, hunyuan, or elevenlabs paths appear in picker gates. Flux/SDXL library imports stay catalog-only until engine mounts ship.
Where do I manage cast packs?
Library → Cast / style packs for CRUD, and the workflow editor spec panel (no node selected) → Apply pack. API routes exist under /api/v1/cast-packs when workflow platform flags are enabled.