Meta Ads CLI dynamic creative: limits for videos and text
Meta's Ads CLI dynamic creative takes up to 10 videos, 10 images and 5 each of titles, bodies, descriptions and CTAs. How to size a batch of AI variants.

Meta's Ads CLI accepts up to 10 videos and 10 images, plus up to 5 titles, 5 bodies, 5 descriptions and 5 call-to-action buttons, in one dynamic creative. Meta describes Dynamic Creative Optimization as testing combinations of those variations and optimizing delivery toward the variants that perform well.
The limits and flags are from the Ad Creatives page of Meta's Ads CLI docs, read 2026-09-29. Sume is not part of that tool; the Sume section shows how many finished variants a batch of Format runs can produce, from Sume's Bulk runs docs.
What are the Ads CLI dynamic creative limits?
| Asset type | Maximum | Plural flag |
|---|---|---|
| Images | 10 | --images |
| Videos | 10 | --videos |
| Titles | 5 | --titles |
| Bodies | 5 | --bodies |
| Descriptions | 5 | --descriptions |
| Call-to-actions | 5 | --call-to-actions |
How do I pass several videos?
Meta's requirements are --link-url, at least one --images or --videos asset, and the plural flags instead of the single-asset ones (--video, --body, --title). Repeat each plural flag once per variant:
meta ads creative create --name "Video DCO" \
--page-id <PAGE_ID> \
--link-url https://example.com \
--videos ./vid1.mp4 --videos ./vid2.mp4 \
--titles "New Arrivals" --titles "Watch Now" \
--bodies "Check out our new collection" --bodies "See what's trending"How many videos can one Sume batch make?
A Sume bulk run queues 1 to 100 Format runs with a concurrency of 1 to 16, so ten variants fit in one queue. Each finished child run lists its files in artifacts[]; Sume's docs say those are durable media.sume.com HTTPS URLs that do not expire and are public to anyone holding the URL. Because the CLI wants local files, download each one before you run the command above.
Pick the ten you want to test. The CLI limit is on what one creative holds, so a batch of 40 needs a selection step or several creatives. Bulk run mechanics are in Format bulk runs.
How should I plan the ten videos?
Treat the limits as a budget for the whole creative, not per video. If a creative already holds 10 videos, the eleventh belongs in a second creative. Give every video its own file name (vid1.mp4 to vid10.mp4) so a repeated --videos flag maps cleanly back to the run that produced it.
Titles and bodies are capped at 5 each, so write the five copy variants first and keep the video variants to one changed idea apiece, such as the hook or the opening shot. That way, whatever Meta reports back can be traced to a single difference between two files.
Can I change a creative after it is made?
Meta's page says the API prevents updating some fields after creation, and that if an update fails you should create a new ad creative. It also says you cannot delete creatives that active ads use; pause or delete the ads first.
Sources
Related posts
More in Integrations
- Meta Ads CLI video ad: upload an AI-generated MP4
Meta's Ads CLI makes a video ad from a local file with meta ads creative create --video. Download the Sume clip first, then upload; ads start paused.
- Meta ads MCP server in Claude Code: the add command
Meta's docs add its ads MCP server to Claude Code with one claude mcp add line. The same session can also add Sume's hosted MCP to make the video.
- Do I need a Meta developer app for the ads MCP server?
Not always: Meta says owning an app is not a prerequisite. With your own app you choose OAuth or a user access token with seven listed permissions.
- Meta ads MCP server rules: cap what an AI agent can do
Meta's ads MCP rules deny an agent action on one ad account or catalog, such as budget increases above 20%. What the rule fields are and where Sume adds a cap.
Written by Sume