Published · Updated · By Ankur Khandelwal

AI video clip length limits, by model and plan

Veo 3.1 makes clips of 4, 6 or 8 seconds, in Google Flow and in Google’s Vertex AI API. On the API a Veo clip can be extended 7 seconds at a time, to 37 seconds at most. For a longer video, generate several clips and join them. Below is the limit for every model we could check from Google, OpenAI, Runway, Kling, ByteDance and MiniMax, each read from the vendor’s own page.

The short answer

Veo 3.1: 4, 6 or 8 seconds per clip. Veo 3.1, Veo 3.1 Fast and Veo 3.1 Lite all allow the same three lengths, in Google Flow and on Google’s API. On the API, reference image to video is 8 seconds only.

Extending Veo: 7 seconds at a time, up to 37 in total, on Google’s API. The clip you extend must be an MP4 of 1 to 30 seconds at 24 fps. Gemini Omni Flash (in preview) extends to 40 seconds. In Flow, Veo 3.1 Quality and Fast have no Extend, and Veo 3.1 Lite’s Extend takes 8-second videos only.

Gemini Omni Flash 1.1 in Flow: 4, 6, 8 or 10 seconds.

Longest single clip still available here: 30 seconds, from Kling 4.0 and Seedance 2.5, according to Runway’s page for its hosted copies.

Sora 2 and Sora 2 Pro on OpenAI’s API were shut down on 24 Sep 2026, per OpenAI’s deprecations page.

Plans: no vendor page we could read sets a different clip cap per plan. Limits are set per model.

Every value on this page comes from the vendor’s own documentation, help page or SDK source, linked in its row. Where a page is silent, the cell is left empty rather than filled in from reviews or press. Values confirmed 12 Nov 2026.

Clip length limits by vendor, model and plan

One row per model and the place you use it. “One generation” is the longest clip a single request makes; “after extending” is the longest clip once extensions are chained. Scroll sideways on a phone.

Vendor and modelWherePlanClip lengthConditions and the page’s wordingSource
Google
Veo 3.1
veo-3.1-generate-001
Vertex AI APIAPI (Vertex AI / Gemini Enterprise Agent Platform; no consumer plan)4, 6 or 8 s
One generation
Reference-image-to-video supports 8 seconds only. Output up to 4K.
Page text: 'Video lengths: 4, 6, or 8 seconds; reference image to video only supports 8 seconds.' The page gives no date other than release (2025-11-17).
Google Cloud: Veo 3.1 model page
Recorded 5 Nov 2026
Google
Veo 3.1 Fast
veo-3.1-fast-generate-001
Vertex AI APIAPI (Vertex AI / Gemini Enterprise Agent Platform; no consumer plan)4, 6 or 8 s
One generation
Output up to 1080p (no 4K).
Page text: 'Video lengths: 4, 6, or 8 seconds.'
Google Cloud: Veo 3.1 model page
Recorded 5 Nov 2026
Google
Veo 3.1 Lite (Preview)
veo-3.1-lite-generate-001
Vertex AI APIAPI (Vertex AI / Gemini Enterprise Agent Platform; no consumer plan)4, 6 or 8 s
One generation
Reference images not supported.
Preview model, released 2026-04-02 per the page.
Google Cloud: Veo 3.1 model page
Recorded 5 Nov 2026
Google
Veo 3.1 (extend video)
Vertex AI APIAPI (Vertex AI / Gemini Enterprise Agent Platform; no consumer plan)Up to 37 s in total
After extending, 7 s per extension
Input must be MP4, 1 to 30 seconds, 24 fps, 720p/1080p/4k, 9:16 or 16:9.
'Videos can be extended up to ... 37 seconds for Veo'; 'The extended length is 7 seconds.' The page states no limit on how many extensions can be chained.
Google Cloud: Extend videos
Recorded 5 Nov 2026
Google
Gemini Omni Flash (extend video) (Preview)
gemini-omni-1.1-flash-preview
Vertex AI APIAPI (Vertex AI / Gemini Enterprise Agent Platform; no consumer plan)Up to 40 s in total
After extending
'Videos can be extended up to 40 seconds for Gemini Omni Flash.' Per-extension length not stated on this page.Google Cloud: Extend videos
Recorded 5 Nov 2026
Google
Veo 3.1 Quality
Google FlowGoogle Flow (AI Plus, Pro, Ultra); the page names no per-plan clip cap4, 6 or 8 s
One generation
No Ingredients, Extend or Video to Video on this model.
Flow models page: '4s, 6s, 8s video lengths' for Text to Video and Frames.
Flow Help: models
Recorded 5 Nov 2026
Google
Veo 3.1 Fast
Google FlowGoogle Flow (AI Plus, Pro, Ultra); the page names no per-plan clip cap4, 6 or 8 s
One generation
Ingredients/References: 8s videos only. No Extend.
Flow models page: '4s, 6s, 8s video lengths'.
Flow Help: models
Recorded 5 Nov 2026
Google
Veo 3.1 Lite
Google FlowGoogle Flow (AI Plus, Pro, Ultra); the page names no per-plan clip cap4, 6 or 8 s
One generation
Ingredients/References and Extend: 8s videos only.
Flow models page: '4s, 6s, 8s video lengths'.
Flow Help: models
Recorded 5 Nov 2026
Google
Gemini Omni Flash 1.1
Google FlowGoogle Flow (AI Plus, Pro, Ultra); the page names no per-plan clip cap4, 6, 8 or 10 s
One generation
Video to Video editing: up to 10s.
Flow models page: '4s, 6s, 8s, 10s video lengths'. The page says all users can access Omni models; the Flow get-started page says a plan is required, and the two are not reconciled.
Flow Help: models
Recorded 5 Nov 2026
OpenAI
Sora 2
Shut down 24 Sep 2026
sora-2
OpenAI API (Videos API)API (pay per second)Up to 20 s
One generation
Up to six extensions of up to 20 seconds each, 120 seconds total.
Guide: 'Both sora-2 and sora-2-pro support 16- and 20-second generations.' The page never lists every accepted value (examples use 8). Shut down 2026-09-24 per OpenAI's deprecations page. Consumer Sora app limits are not on a page a program can read (see "Vendors not covered" below).
OpenAI: video generation guide
Recorded 5 Nov 2026
OpenAI
Sora 2 Pro
Shut down 24 Sep 2026
sora-2-pro
OpenAI API (Videos API)API (pay per second)Up to 20 s
One generation
Up to six extensions of up to 20 seconds each, 120 seconds total. 1080p output.
Same guide sentence as Sora 2. Shut down 2026-09-24 per OpenAI's deprecations page.
OpenAI: video generation guide
Recorded 5 Nov 2026
Runway
Gen-4.5
gen4.5
Runway APIAPI (credit-based; the page names no per-plan clip cap)2 to 10 s
One generation
Runway's Python SDK (generated from its API spec): 'Must be an integer from 2 to 10.' Gen-4 Turbo's SDK entry states no range (see "Vendors not covered" below).Runway Python SDK source
Recorded 5 Nov 2026
Kling
Kling 4.0
kling_4
Runway API
Runway’s hosted copy, in Runway’s words
API (credit-based; the page names no per-plan clip cap)3 to 30 s
One generation
Runway's model page: '720p or 1080p video for 3–30 seconds'. This is Runway's wording for its hosted copy, not Kling's own page (unreadable).Runway API: models
Recorded 5 Nov 2026
Kling
Kling 3.0 Pro
Runway API
Runway’s hosted copy, in Runway’s words
API (credit-based; the page names no per-plan clip cap)3 to 15 s
One generation
Runway's model page: '1080p text and image to video, 3–15 seconds'. Runway's wording, not Kling's.Runway API: models
Recorded 5 Nov 2026
Kling
Kling 2.5 Turbo Pro
Runway API
Runway’s hosted copy, in Runway’s words
API (credit-based; the page names no per-plan clip cap)5 or 10 s
One generation
Runway's model page: 'Text and image to video at 5 or 10 seconds'. Runway's wording, not Kling's.Runway API: models
Recorded 5 Nov 2026
ByteDance
Seedance 2.5
seedance2_5
Runway API
Runway’s hosted copy, in Runway’s words
API (credit-based; the page names no per-plan clip cap)Up to 30 s
One generation
Runway's model page: 'Cinematic video up to 30 seconds at 480p, 720p, and 1080p'. Runway's wording, not ByteDance's (BytePlus docs unreadable).Runway API: models
Recorded 5 Nov 2026
MiniMax
Hailuo 2.3
MiniMax-Hailuo-2.3
MiniMax APIAPI6 or 10 s
One generation
10 seconds only at 768P; 1080P only at 6 seconds.
API reference: 'Video length (seconds). Default is 6.' with a duration-by-resolution table.
MiniMax API reference
Recorded 5 Nov 2026
MiniMax
Hailuo 02
MiniMax-Hailuo-02
MiniMax APIAPI6 or 10 s
One generation
10 seconds only at 768P; 1080P only at 6 seconds.
Same table as Hailuo 2.3 on the API reference.
MiniMax API reference
Recorded 5 Nov 2026

“Recorded” is the date the value was read from the page; none of these pages shows a date of its own. Download all 18 rows: CSV · JSON.

Sora 2: shut down on the API

OpenAI’s deprecations page lists the Sora 2 video generation models and the Videos API as shut down on 24 Sep 2026. The two Sora rows stay in the table as a record: OpenAI’s video generation guide said both sora-2 and sora-2-pro support 16- and 20-second generations, and that a video could be extended up to six times, by up to 20 seconds each, to 120 seconds in total.

The consumer Sora app’s limits by plan are not stated here: OpenAI’s help centre refuses automated reading, so we have no page to quote.

How to make a longer video from short clips

A scene longer than one generation is several clips joined end to end. With Veo that means pieces of up to 8 seconds, or 37 seconds at most if you extend on Google’s API.

  1. Generate the pieces in one shape: all 16:9 or all 9:16, ideally from the same model and settings, so they match when joined.
  2. Join them in Merge videos online, free in your browser, with nothing uploaded. It is built for up to 10 clips at a time, so ten 8-second Veo clips make 80 seconds. Clips that match and are joined with a straight cut are copied without re-encoding; a crossfade, slide or wipe shortens the video by its length at each join.
  3. If the clips carry Google’s visible mark, tick the box in the merger and it is taken off each clip in the same pass. Google’s invisible SynthID stays in the file. Only do this with clips you own or have the right to edit.

The step-by-step guide to joining Veo clips covers the order, the transitions and what the merged file keeps. A longer video is also a bigger file: if yours has to fit a size limit, how long a video fits in 25 MB gives the length at each quality and resolution.

Vendors not covered

These were looked for, but their own pages could not be read by our checker or state no clip length, so no limit is given for them here, not even from press reports.

Frequently asked questions

How long can a Veo 3.1 video be?

One generation is 4, 6 or 8 seconds, in Google Flow and in Google's Vertex AI API, for Veo 3.1, Veo 3.1 Fast and Veo 3.1 Lite. On the API, reference image to video makes 8-second clips only. Google's Extend videos page says an extension adds 7 seconds and a Veo video can be extended up to 37 seconds; the clip you extend must be an MP4 of 1 to 30 seconds at 24 fps. In Flow, the models page lists no Extend for Veo 3.1 Quality or Fast, and limits Veo 3.1 Lite's Extend to 8-second videos. Pages read 5 Nov 2026.

How do I make an AI video longer than 8 seconds?

Either extend it, where the model offers that (Veo on Google's API, up to 37 seconds), or generate the scene as several clips and join them. Clipwipe's free merger joins clips in your browser without uploading them and is built for up to 10 at a time, so ten 8-second Veo clips make 80 seconds, less any transitions. If the clips carry Google's visible mark, it can take that off each clip in the same pass.

Is Sora 2 still available, and how long were its clips?

Not through OpenAI's API: OpenAI's deprecations page lists the Sora 2 video generation models and Videos API as shut down on 24 Sep 2026. Before that, OpenAI's guide said sora-2 and sora-2-pro support 16- and 20-second generations, and that a video could be extended up to six times by up to 20 seconds each, 120 seconds in total. The Sora app's limits by plan are not stated here, because OpenAI's help centre could not be read by our checker.

Does a paid plan give you longer AI video clips?

Not on any vendor page we could read. Google Flow's models page lists clip lengths per model for its AI Plus, Pro and Ultra plans without a different cap for any plan, and the API pages set limits per model. Flow's page also says all users can access the Gemini Omni models while its get-started page says a plan is required; Google has not reconciled the two. Runway's plan limits are on its help centre, which our checker cannot read.

Which AI video generator makes the longest single clip?

Of the models still available in this table, Kling 4.0 and Seedance 2.5 make the longest single clips: up to 30 seconds, according to Runway's page for its hosted copies. Gemini Omni Flash 1.1 in Flow makes up to 10 seconds, and Veo 3.1 up to 8. Kling's and ByteDance's own pages could not be read, so their limits elsewhere may differ.

Download the data

Download CSV · Download JSON

18 rows, one per model and surface, 20 columns, each with the vendor page it is read from. Free to reuse under CC BY 4.0.

The short answer and the FAQ are our own reading of the rows and are not in the files. The licence covers our compilation and wording; the quoted phrases stay with the vendors that wrote them.

ColumnMeaning
keyA stable id for the row.
vendorThe company that makes the model.
modelThe model, as the source names it.
model_idThe model’s API id, when the source gives one.
surfaceWhere the model is used: an API or an app such as Google Flow.
planThe plan the limit applies to. Where the page names no per-plan cap, the cell says so.
hosted_bySet when the row is read from another company’s page for its hosted copy of the model.
limit_kindper_clip (the longest single generation) or extended_total (the longest clip after chained extensions).
min_secondsThe shortest length the page allows, when it gives a range.
max_secondsThe longest length the page allows.
allowed_secondsThe exact lengths the page lists, when it lists them. In the CSV: separated by spaces.
per_extension_secondsHow many seconds one extension adds, when the page says.
conditionsModes or settings that change the limit, as the page states them.
statusavailable, preview or shut_down.
notesThe page’s own wording and anything else that changes how to read the row.
source_urlThe vendor page the row was read from.
source_updatedThe date the page shows, or the date it was read when it shows none, as YYYY-MM-DD.
source_checkThe result of the last automated re-read: whether the key phrases were still on the page.
status_checkFor a shut-down model: the shutdown date and the result of re-reading the vendor’s shutdown notice, with the day it was read.
checkedThe day the values were last confirmed (the last nightly re-read that matched), as YYYY-MM-DD.

How this page is kept current

Every night a script re-reads each vendor page cited here and checks that the phrases the values come from are still on it. If a phrase changes or a page disappears, the check fails, the last good row stays up, and a person re-reads the page before anything here changes. A vendor moves from “not covered” into the table only once its own page can be read. The date at the top of this page moves only when a row or this page’s own text changes.

Spotted a limit that has changed, or a model we should add? Email nocodetalks@gmail.com.

About the author

Ankur Khandelwal is an independent maker who builds small, practical web tools under the name nocodetalks, Clipwipe among them.

← Clipwipe home