Floniks
Workflows vs Single Steps

An A/B-Test Asset Generation Workflow

Updated 2026-06-19·8 min read
Key takeaway

A/B testing creative assets requires generating multiple controlled variants where exactly one element differs between each pair while everything else stays constant. Manually producing these variants one by one is slow and introduces unintended differences between shots. This article explains how to build a Floniks workflow that generates structured variant sets by branching on a single parameter — headline copy, hero image composition, color palette, or call-to-action wording — while holding all other inputs constant. You'll learn how to structure the branching node, manage the variant matrix, and output a labeled asset set ready for direct upload to ad platforms or testing tools.

The Problem with Manually Created A/B Variants

Meaningful A/B testing requires that the only difference between variant A and variant B is the element under test. When variants are created manually — even by the same person using the same tool — small unintended differences accumulate: a slightly different crop, a marginally different color temperature, a prompt phrasing that inadvertently changes the mood. These uncontrolled differences contaminate the test signal, making it impossible to attribute performance differences to the intended variable. A workflow solves this by encoding all fixed elements as shared upstream nodes and only branching at the specific parameter being tested, guaranteeing that every other dimension of the asset is identical across variants.

Workflow Structure: Fixed Nodes and a Variant Branch

The A/B-test asset workflow has two sections. The first section is a fixed shared pipeline: an image generation node with a locked seed value, locked style reference, locked character reference, and locked composition prompt. Everything that must remain constant across variants is upstream of the branch point. The second section is the branch: a Parameter Branch node that holds an array of test values — for example, three different headline copy strings, or four different background color descriptions — and fans out one execution path per value. Each branch path feeds into a Text Overlay or Image Variation node that applies only the differing parameter, then into an output node that labels the result with its variant identifier (A, B, C, D).

The critical implementation detail is the locked seed. Set the same seed value on every generation node across all branch paths. This ensures that the underlying image structure is identical for every variant, and only the overlaid or prompted variation differs. Without a locked seed, the generative randomness itself becomes a confounding variable.

What to Test: Choosing the Right Variable

Not every variable is worth testing in an automated variant workflow. The highest-value variables for creative A/B testing are those with a small discrete set of options and a clear hypothesis: "version with a person in the hero image outperforms version without a person" is testable. "Better looking ad" is not a testable hypothesis. Structure your variant branch around a single discrete variable per test run: headline copy (two to four options), primary visual composition (subject present vs. subject absent, or product close-up vs. lifestyle shot), call-to-action button label, or primary color palette.

Avoid testing more than one variable simultaneously in a single workflow run. If you need to test headline copy AND composition simultaneously, you are running a multivariate test, which requires a much larger sample size to reach statistical significance and should be managed through a separate experimental design — typically a full factorial matrix where each workflow run generates one cell of the matrix.

Labeling and Organizing Variant Output

For A/B test results to be actionable, each output asset must be unambiguously labeled with its variant value. In the Floniks workflow, configure the output node on each branch path to embed the variant identifier in the file name — for example: "campaign-hero-v1-headline-A.jpg", "campaign-hero-v1-headline-B.jpg". Also embed the variant metadata (which parameter value corresponds to this file) in the output asset's task record. This metadata record becomes the lookup key when you retrieve performance data from your ad platform and need to match click-through or conversion metrics back to the specific variant configuration.

If you are running multiple test dimensions across multiple campaigns, consider adding a Campaign ID and Test ID field to each output node so the entire asset library is queryable by both dimensions independently.

Scaling to Full Factorial Matrices

A single variant workflow tests one variable at a time. When you need to test two or more variables simultaneously — for a multivariate test — expand the workflow into a full or fractional factorial matrix. In Floniks, this is implemented by nesting branch nodes: the first branch fans out by headline (four options), and each headline branch further fans out by background composition (three options), producing twelve total variants from one workflow run. Twelve variants is a reasonable upper bound for a single workflow execution; larger matrices should be decomposed into multiple workflow runs to keep execution time and credit cost predictable. Label the outputs with a combined variant code — for example "H2-BG3" for headline option 2, background option 3 — to make performance data attribution tractable.

FAQ

How do I ensure the seed stays identical across all branch paths?+

In the Floniks editor, set the seed value explicitly on the upstream shared generation node before the branch point. If your variant branches include their own generation sub-steps, copy the same seed value into each branch's generation node manually and verify it in the node configuration panel. Do not use "random seed" mode on any node in an A/B test workflow — that mode generates a new seed on each run, which will differ across branches.

Can I use this workflow to test video ads as well as static images?+

Yes. The branch structure works identically for video generation nodes. Fix the video node's seed, motion parameters, and character reference upstream of the branch, then branch on the variable element — for example, an opening hook scene versus a product close-up opening — and produce one video variant per branch path. Video variants take longer to generate than image variants, so keep the number of branches small (two to four) for video A/B tests to keep execution time manageable.

How do I import the variant output into an ad platform for testing?+

Download the labeled asset set from the Floniks output collector. Most ad platforms — Meta Ads Manager, Google Ads, TikTok Ads Manager — allow bulk upload of creative assets via CSV manifest where each row specifies the asset file path and its associated targeting or campaign parameters. Use the variant metadata from the workflow task record to populate the CSV, mapping each file name to its variant configuration. This bulk upload path is faster than manual asset-by-asset upload and preserves the variant labeling for later performance attribution.

Related guides

Build it on Floniks

Image, video, digital humans, and reusable workflows on one canvas. Sign up gets you starter credits — no card required.

Explore Floniks