Instagram Feed video ad primary text: 125 characters, 30 hashtags

Meta's Instagram Feed video ad page lists primary text at 125 characters and 30 hashtags at most. Check bulk-generated copy against both before upload.

4 min readSume
All posts

Meta's Instagram Feed video ad specs list primary text at 125 characters maximum and at most 30 hashtags. If you generate caption copy in a Sume bulk run, your code, not the model, should count both before anything reaches Ads Manager.

The text limits

Text specifications from Meta's Instagram Feed video ad page (read 2026-10-05)
FieldLimit
Primary text125 characters maximum
Hashtags30 maximum
Video captionsOptional, recommended

Check generated copy

A structured-output schema keeps each result to the keys you ask for, and does not enforce length. This checker does.

import re

def problems(text: str) -> list[str]:
    out = []
    if len(text) > 125:
        out.append(f"primary text is {len(text)} characters, limit 125")
    tags = re.findall(r"#\w+", text)
    if len(tags) > 30:
        out.append(f"{len(tags)} hashtags, limit 30")
    return out

for t in ["Spring drop is live #sale", "x" * 130]:
    print(problems(t) or "ok")

Where this fits

Run the check on every item in a finished queue and resubmit only the ones that fail. Failed items keep their index in the queue receipt.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume