Write batch_plan(slots, cost_per_image) — the function that turns
the creative plan into two totals. Fair warning: the dollar figure
comes out comically small. Generation is cheap; nobody defends $1.28
in a budget meeting. The number that scales is the asset count —
32 variants is 32 things a human has to review before anything
reaches the calendar gate, and that review time is the real cost
you're planning here.
For each slot dict (in order), print one line:
<slot padded to 13> x<variants padded to 3> $<line cost, 2 decimals>
i.e. f"{s['slot']:<13} x{s['variants']:<3} ${s['variants'] * cost_per_image:.2f}"
Then return a tuple (total_assets, total_cost) — the sum of all
variant counts and the sum of all line costs.
Expected output:
email-header x6 $0.24
story x8 $0.32
feed-square x8 $0.32
ad-banner x10 $0.40
total: 32 assets, $1.28