Facebook in-stream ads play inside video content — before, during, or after the clip someone is already watching — which makes their specs a little different from a normal feed or Stories ad. If you've ever had a video rejected, letterboxed, or cropped oddly on this placement, it's usually because the creative was built for feed first and in-stream second. This guide covers the video ad specs for Facebook in-stream ads you need to hit, plus how to design the first few seconds so people don't skip past your offer.
What Are Facebook In-Stream Ads, Exactly
In-stream ads are the video ads that run inside other video content on Facebook and Meta's Audience Network partner apps — think pre-roll before a clip starts, or mid-roll during a natural break in a longer video. They're different from feed ads, which appear as someone scrolls, and from Stories ads, which run full-screen between Stories. Because in-stream ads are embedded in a video player rather than a scrolling feed, the player's shape and behavior drive most of the spec requirements.
This placement works well for brand awareness and reach because it rides along with content people already chose to watch. It also means your ad is competing with the content itself, not just with the next post in a feed — so the creative needs to earn attention quickly, often before any skip control becomes available.
Video Ad Specs for Facebook In-Stream Ads
Here's a practical rundown of what to aim for. Exact pixel and megabyte limits can shift as Meta updates Ads Manager, so treat the numbers in our linked resolution and file size guides as the source of truth and use the table below for direction.
| Spec | What to aim for |
|---|---|
| File format | MP4 or MOV, encoded with H.264 video and AAC audio — the safest default for upload and compression |
| Aspect ratio | Horizontal 16:9 is the primary format for in-stream, since it matches the shape of most video players this placement lives in |
| Resolution | Export at a resolution higher than the platform's stated minimum so compression doesn't leave it looking soft — see our full guide on minimum resolution for details |
| File size | Keep the file well under the current cap rather than right at the edge; large files get recompressed harder and lose quality — check our file size guide for the latest limit |
| Duration | Pre-roll slots tend to favor shorter clips; mid-roll breaks can hold slightly longer ones. Test against the pacing advice in our ideal video duration guide |
| Captions | Burned-in, word-by-word captions rather than relying only on platform-generated subtitles |
| Sound | Always include a soundtrack and voiceover, but write the opening so the message lands even if sound is off |
Aspect Ratio and Framing for In-Stream Placements
This is where in-stream most often trips people up. A lot of advertisers build everything vertical by default because that's the shape of feed and Reels placements — and then that same 9:16 file gets pillarboxed with black bars when it runs in-stream, since it's playing inside a horizontal video player. The creative still runs, but it looks smaller, less confident, and easier to scroll past mentally even if the person can't physically scroll past it.
The safer approach is to treat 16:9 as the primary export for any campaign that includes in-stream placements, then adapt your vertical or square cuts for feed, Stories, and Reels separately. If you're running the same campaign across placements, plan for at least two framings from the start rather than trying to force one shape to do everything.
- Build the 16:9 version first if in-stream is part of the plan — framing product shots and text for a wide canvas is harder to retrofit than the reverse.
- Keep key text and product details inside the center-safe area, since some surfaces add player controls or captions along the edges.
- Preview the ad in Ads Manager before publishing — the preview tool shows roughly how each placement will crop or pad your file.
Duration and Pacing: How Long Should an In-Stream Ad Be
There's no single right length, but the placement itself gives you a clue: in-stream ads interrupt something someone is actively watching, so patience is shorter than it is for a passive feed scroll. A good rule of thumb to test is building your core message — hook, product, and offer — to land inside the first several seconds, before any skip control might appear, then let any remaining time reinforce the call to action rather than introduce new information.
If you're unsure where to start, build one short cut aimed at pre-roll and one slightly longer cut for mid-roll, then compare results. For more on pacing a Facebook video ad in general, our guide on ideal video duration for Facebook feed ads covers the same logic applied to the feed placement, which is a useful comparison point.
Sound, Captions, and the Skip Button
Because in-stream ads often start with sound off until someone interacts with the player, design the opening to carry meaning visually. That means on-screen text that states the hook plainly, not just a logo or an atmospheric shot waiting for a voiceover to explain it. Word-by-word captions help here too — they keep the message readable even if the viewer never turns sound on, and they give the ad a second chance to land the offer if attention drifts for a moment.
A few opening lines worth testing for a product-led in-stream ad:
- "Still charging your phone every night?" over a quick before shot — problem-first, no logo yet.
- "This gummy jar lasts 3x longer than the one you're using" as bold on-screen text with the product front and center from frame one.
- "If your dog scratches the door, watch this" paired with a close-up of the exact pain point — specific enough to stop the scroll.
Each of these works with the sound off, then gets reinforced once voiceover and music kick in for anyone who stays with sound on.
Common Mistakes with In-Stream Ad Specs
- Submitting a vertical-only file and letting it get pillarboxed for in-stream without ever previewing it first.
- Opening with a slow logo animation or brand intro before showing the product or the hook.
- Leaning entirely on voiceover with no burned-in captions, so the first few seconds carry no message on mute.
- Exporting at the lowest acceptable resolution, which looks noticeably softer once the platform recompresses it.
- Treating in-stream, feed, and Stories as one ad instead of planning separate framings from the same core script.
Building In-Stream-Ready Ads Faster with FrameNotion
If you're producing creative for multiple Meta placements at once, the framing and pacing work above is where most of the manual effort goes. FrameNotion handles that by generating a full ad — hook, problem, benefit, proof, offer, call to action — from a product link or a few uploaded images, with an AI voiceover, a music track cut to the beat, and word-by-word captions already built in, so the ad is designed to work on mute from the start.
Every ad is produced in 9:16 first, but also comes out as 4:5, 1:1, and 16:9 automatically — so the horizontal cut you need for in-stream placements is ready alongside the vertical cut you'd use for Reels or Stories, without re-briefing a second edit. If you want to see finished examples before trying it, check out sample ads or read how the process works. The first ad on any new account is free, and paid plans start from the pricing page if you need a steady volume of placement-specific cuts.
A Simple Checklist Before You Publish
- Export in MP4 with H.264/AAC encoding.
- Lead with a 16:9 cut if in-stream is in your placement mix.
- Confirm resolution is above the stated minimum, not right at it.
- Keep file size comfortably under the current cap to avoid heavy recompression.
- Burn in word-by-word captions and make sure the opening message works with sound off.
- Preview the ad in Ads Manager across every placement before publishing.
Frequently asked questions
Do Facebook in-stream ads have to be horizontal?+
Horizontal 16:9 is the safest and most reliable framing for in-stream because it matches the shape of the video player this placement lives inside. Vertical or square files can still be uploaded, but they often get pillarboxed with bars on either side rather than filling the player.
Can one video run as both an in-stream ad and a feed ad?+
Technically yes, but it usually performs better if you adapt the framing for each. Use the same script and offer, but export a horizontal cut for in-stream and a vertical or square cut for feed, Stories, and Reels rather than forcing one file across every placement.
Does Facebook show a skip button on in-stream ads?+
Depending on the specific in-stream slot and length, a skip option may become available after the opening seconds. Design your hook and offer to land clearly before that point so the core message gets through even if someone skips once they're able to.
Should in-stream ads always include a voiceover?+
A voiceover adds polish and works well for anyone watching with sound, but it shouldn't be the only way your message gets across. Pair it with burned-in captions and clear on-screen text so the ad still communicates with sound off.
Where can I find the exact current file size and resolution limits?+
Platform limits can change, so check Meta's Ads Manager specs directly before a big campaign, and use dedicated breakdowns like our minimum resolution and file size guides for the latest practical guidance alongside the official source.
