Facebook in-stream ads: video specs and the 15-second rule

Facebook in-stream video ads: 16:9 or 1:1, at least 1080×1080, 5–15 s on desktop. Ads of 15 s or less play in full; longer ones stop at 15 s.

5 min readSume
All posts

Facebook in-stream ads are video ads that play before, during, or after videos people watch on Facebook, on desktop and mobile. Meta recommends 16:9 or 1:1 video of at least 1080×1080 pixels; an ad of 15 seconds or less plays in full, while a longer one shows its first 15 seconds and then truncates, with a card viewers can click to resume it.

Meta's specs are quoted from its Ads Guide page for Facebook in-stream video, which shows the Awareness objective, read on 2026-09-27; they can change. The Sume facts come from Video generation, Timeline 1.0, and Video captions.

What are Facebook's in-stream video ad specs?

Meta splits the page into design recommendations, text recommendations, and technical requirements. Only the last group is labeled a requirement, and even its durations may vary by objective.

From Meta's Ads Guide: Facebook In-Stream Video, Awareness objective, read 2026-09-27.
SpecMeta's valueListed as
File typeMP4, MOV, or GIFDesign recommendation
Ratio16:9 or 1:1Design recommendation
ResolutionAt least 1080 × 1080 pixelsDesign recommendation
Video settingsH.264, square pixels, fixed frame rate, progressive scan, stereo AAC at 128 kbps+Design recommendation
CaptionsOptional, but recommendedDesign recommendation
SoundOptional, but strongly recommendedDesign recommendation
Primary text, headline125 characters, 40 charactersText recommendation
Duration on desktop5 to 15 seconds; may vary by objectiveTechnical requirement
Duration on mobile5 seconds to 10 minutes; may vary by objectiveTechnical requirement
Maximum file size4 GBTechnical requirement

How do in-stream ads play, and what happens after 15 seconds?

Meta's page describes the playback like this:

  • The ad can play before, in between, or after the main video. An ad in between can show up after 15 seconds of the main video. In-stream ads can also appear in Facebook Live streams from a select group of approved gaming, entertainment, and sports partners.
  • An ad of 15 seconds or less plays for its full duration. Ads may also be served as skippable, which lets the viewer skip after the first 5 seconds.
  • A longer ad shows its first 15 seconds and then truncates. Viewers can watch it in full by clicking the context card that appears below the main video.

How do I make an in-stream video ad with AI?

Generate a 16:9 or 1:1 clip of 5 to 15 seconds: that fits the desktop range and plays in full. On Sume, POST /v1/videos takes aspect_ratio, resolution, and duration, and GET /v1/videos/models lists each model's supported_aspect_ratios, supported_resolutions, and supported_durations. Most models stop at 15 seconds.

Meta strongly recommends sound. generate_audio defaults to the model's audio capability, and the docs' seedance-2 record reports generate_audio: true, 1:1 and 16:9, 1080p, and 4–15 seconds, as in the request below. Three more things to check:

  • Shape: in today's catalog code, the four Seedance ids, kling-3, wan-3.0, minimax-h3, and minimax-h3-max list both 16:9 and 1:1; gemini-omni-flash-1.1 takes 16:9 or 9:16 only.
  • Size: every v1 model reports supported_sizes: null, so a resolution tier such as 1080p is not a published pixel size. To deliver exactly 1920×1080 or 1080×1080, render the clip through Timeline 1.0 with that output (even edges from 256 to 2,160). Today a Timeline render's sound comes only from its audio spine, so detach the clip's audio and pass it as audio.url.
  • Captions: Meta recommends them. POST /v1/video-captions burns them from the clip's speech, or from timed cues you write when the clip has none. Today it takes sources of up to 60 seconds that carry an audio track, which covers any desktop in-stream length.
curl -X POST https://api.sume.com/v1/videos \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: instream-square-001" \
  -d '{
    "model": "seedance-2",
    "prompt": "Slow orbit around a ceramic coffee mug on a walnut table, morning light",
    "aspect_ratio": "1:1",
    "resolution": "1080p",
    "duration": 15,
    "generate_audio": true
  }'

Which in-stream specs can't Sume set for me?

A few parts of the spec sit outside what Sume controls:

  • Encoding: which of Meta's video settings a Sume file meets, and which you should check with your own tool, is covered in Meta video ad specs.
  • Length past 15 seconds: mobile in-stream allows up to 10 minutes, but a longer ad is truncated at 15 seconds. seedance-2.5 and wan-3.0 make clips up to 30 seconds, and Timeline 1.0 joins clips into renders of up to 1,800 seconds.
  • Objectives: Meta's Ads Guide has a separate in-stream spec page per objective and shows which objectives each placement supports. Sume makes the file; the campaign itself is set up in Meta's tools.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume