Back to Blog
·nglsong

Start Image Requirements: Kling 3, Seedance 2.5, Veo 3.1

Image to VideoKling 3Seedance 2.5Veo 3.1Troubleshooting

Short answer: the start-image rules depend on the model and on the route you run it through.

  • Kling 3.0: JPG or PNG, at least 300 px per side, width ÷ height between 0.4 and 2.5, and 10 MB to 50 MB depending on the route.
  • Seedance 2.5: 300 to 6000 px per side, width ÷ height between 0.4 and 2.5, under 30 MB, and the video takes the shape of your image.
  • Veo 3.1 / 3.1 Fast: 16:9 or 9:16, 720p or larger, and 8 MB to 20 MB depending on the route.

If you want one image that works everywhere, export a JPEG at 1280 × 720 (or 720 × 1280), under 5 MB. The rest of this page shows where every number comes from, so you can check the one that applies to you.

I put this together because most size-related image-to-video upload failures come down to one of four things: file size, pixel size, aspect ratio or file format. Each provider documents those rules, but in different places, in different units, and sometimes with different numbers for the same model. Kling's own API documents 50 MB, for example, while Replicate's Kling 3.0 Omni endpoint documents 10 MB. All values below were read from the providers' own pages on 27 October 2026. They change, so the source of each number is linked.

Start-image limits by model and route

"Route" means the service that actually receives your file: the model maker's own API, a model host such as Replicate or fal, or an app built on one of them.

Kling 3.0

RouteFormatsMax file sizeMin pixelsAspect ratio (width ÷ height)
Kling API, Kling 3.0 image-to-videoJPG, JPEG, PNG50 MB300 px per side1:2.5 to 2.5:1 (0.4 to 2.5)
Replicate, Kling 3.0 OmniJPG, JPEG, PNG10 MB300 px1:2.5 to 2.5:1
fal, Kling 3.0 Pro image-to-videonot listed50 MB300 × 300 px0.40 to 2.50

On Replicate, the output aspect_ratio setting (16:9, 9:16 or 1:1) is described as "Required when not using start frame or video editing." With a start image, plan your framing in the image itself.

Seedance 2.5

RouteFormatsMax file sizePixels per sideAspect ratio (width ÷ height)
BytePlus ModelArk, Seedance 2.5JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIFunder 30 MB300 to 6000 px0.4 to 2.5
fal, Seedance 2.5 image-to-videoJPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIF30 MBnot listednot listed
Replicate, Seedance 2.5not listednot listednot listednot listed

Seedance has one rule that trips people who are used to picking an output ratio. In first-frame mode the output follows the shape of your image. BytePlus says ratio "must be adaptive" for first-frame and first-and-last-frame generation, Replicate says these modes "require 'adaptive'", and fal fixes aspect_ratio to "auto" for image-to-video. If you need a 9:16 video, give Seedance a 9:16 image.

BytePlus also states that Seedance 2.5 "does not support directly uploading reference images or videos containing real human faces", and lists three approved routes for portrait work. That is a content rule, not a size rule, so resizing will not fix it.

Veo 3.1

RouteMax file sizeResolutionAspect ratio
Google Cloud, Veo 3.1 and Veo 3.1 Fast20 MBinput resolutions 720p, 1080p"Supported aspect ratios: 9:16, 16:9"
fal, Veo 3.1 Fast image-to-video8 MB"720p or higher"16:9 or 9:16; other shapes "will be cropped to fit"
Replicate, Veo 3.1 Fastnot listed"Ideal images are … 1280x720 or 720x1280"16:9 or 9:16

Veo is the strictest of the three on shape. Kling and Seedance accept anything between 0.4 and 2.5. Veo expects 16:9 or 9:16, and at least one route crops anything else, so a square product photo can lose its edges.

Where the sources disagree

These are the conflicts I found. When two numbers apply to the model you use, the one that counts is the limit of the route your file actually goes through.

  • Kling 3.0 file size: 50 MB or 10 MB. Kling's own API and fal (Kling 3.0 Pro endpoint) document 50 MB. Replicate's Kling 3.0 Omni endpoint documents 10 MB. A 20 MB PNG passes one and fails the other.
  • Veo 3.1 Fast file size: 20 MB or 8 MB. Google Cloud documents 20 MB for image-to-video input. fal's Veo 3.1 Fast endpoint documents 8 MB.
  • Veo 3.1 minimum size: stated three ways. Google lists 720p and 1080p as input resolutions, fal asks for "720p or higher", and Replicate calls 1280 × 720 "ideal" without stating a hard minimum.
  • Seedance 2.5 limits: documented on two routes only. BytePlus and fal both say 30 MB. Replicate's schema lists no size, format or pixel limit. "Not listed" does not mean "no limit". It means the page does not tell you.
  • Apps add their own limits on top. An app that runs these models may have a smaller upload cap than the model route behind it. imgmov is an example, below.

Safe start image for Kling, Seedance and Veo

If you do not know which route an app uses, prepare the image for the strictest value in each column:

CheckStrictest documented valueWhat to export
FormatJPG, JPEG or PNG on Kling's API and Replicate's Kling endpointJPEG (or PNG for graphics)
File size8 MB on fal Veo 3.1 Fast; 5 MB if you upload through imgmovUnder 5 MB
Shape16:9 or 9:16 for Veo 3.1Exactly 16:9 or 9:16
Minimum size720p for Veo 3.1Short side at least 720 px
Maximum size6000 px per side on BytePlus Seedance 2.5Long side at most 6000 px

The arithmetic for the aspect-ratio rule: divide width by height. 1280 ÷ 720 ≈ 1.78 and 720 ÷ 1280 ≈ 0.56, both inside Kling's and Seedance's 0.4 to 2.5 range, and both exactly the 16:9 and 9:16 shapes Veo expects. A 3:1 banner (3.0) fails Kling and Seedance. A 21:9 frame (≈ 2.33) passes Kling and Seedance but does not match Veo's 16:9 or 9:16. A 1:1 square (1.0) passes Kling and Seedance, but Veo routes expect 16:9 or 9:16 and fal crops other shapes.

So the safe export is 1280 × 720 JPEG for landscape or 720 × 1280 JPEG for vertical, quality around 85 to 90, under 5 MB. If your subject does not fit the new shape, pad the canvas (add background) rather than stretch the photo, so faces, logos and packaging keep their proportions.

Check your image in one minute

You do not need an account or an upload to check the four numbers:

  • Windows: right-click the file → Properties → Details shows Dimensions and Size.
  • macOS: in Terminal, sips -g pixelWidth -g pixelHeight photo.jpg; Finder's Get Info shows the file size.
  • Any system with ImageMagick: magick identify photo.jpg prints format and pixel size.

Then compare: width ÷ height between 0.4 and 2.5 (16:9 ≈ 1.78 or 9:16 ≈ 0.56 for Veo), short side at least 300 px (720 px for Veo), and file size under the route's limit.

Matching a failed upload to its cause

What you seeLikely causeFix
Rejected before or during upload for size (imgmov shows "File size exceeds 5MB limit.")File over the route's cap (5, 8, 10, 20, 30 or 50 MB)Re-export as JPEG at 1280 × 720 or 720 × 1280
Rejected on a very wide or very tall imageWidth ÷ height outside 0.4 to 2.5Pad or crop to 16:9 or 9:16
Veo output is missing the edges of your photoShape other than 16:9 or 9:16 was cropped to fitPad to 16:9 or 9:16 before uploading
Seedance output has a different shape from the one you pickedFirst-frame mode follows the image shape (adaptive)Make the image the shape you want
HEIC photo from an iPhone is refusedKling's API and Replicate's Kling endpoint accept JPG/PNG only; apps varyExport as JPEG
BytePlus says the image "may contain real person"Seedance real-face rule (code 1 below)Not a size problem; see BytePlus's portrait routes
BytePlus says "Invalid Base64 image URL"Bad Base64 input, corrupted data or unsupported format (code 2 below)Check the encoding, or re-export as a standard JPEG or PNG

The two BytePlus codes, as listed on its error codes page:

1. InputImageSensitiveContentDetected.PrivacyInformation 2. InvalidImageURL.InvalidFormat 
  • Code 1 message: "The request failed because the input image may contain real person."
  • Code 2 message: "Invalid Base64 image URL". BytePlus explains: "The Base64 format may be incorrect, the image data may be corrupted, or the format may not be supported."

What imgmov does with your start image

imgmov runs Kling 3.0 Omni, Seedance 2.5 and Veo 3.1 Fast through Replicate. This is what its upload step does, read from the current code rather than from marketing copy:

  • It accepts JPEG, PNG, WebP and GIF. HEIC is not accepted as-is: depending on the browser it is rejected or converted, so export iPhone photos as JPEG first.
  • Images other than JPEG and PNG (WebP, GIF and anything else your browser can decode) are converted to PNG in your browser before upload. An animated GIF becomes a single still.
  • The 5 MB upload limit is checked after that conversion. A large photo saved as WebP can grow past 5 MB as a PNG, so send JPEG instead.
  • There is no dimension or aspect-ratio check before the job is sent. An image that is too small or too wide passes the upload and fails later at the model, so check the four numbers yourself.

That makes imgmov's upload cap the smallest number on this page, which is why the safe spec above ends at 5 MB. Once your image is ready, you can try image-to-video on imgmov or compare the models in the video model benchmark.

How this page is maintained

Each value was read on 27 October 2026 from the linked page, and the Replicate rows reflect the schemas shown on that date. Google's Veo 3.1 page showed "Last updated 2026-10-26 UTC" when it was read. When a provider changes a number, this page should change with it; if you find a mismatch, the linked source wins.

Resize your start frame in the browser to crop it or add a background before making a video.

Continuing a clip? Extract its last frame and check the next cut.

    Start-image limits for Kling 3, Seedance 2.5 and Veo 3.1 by route (official API, Replicate, fal): file size, pixels, aspect ratio, and one spec for all.

    Published: 2026-10-27 - By nglsong

    Back to blog | Pricing | Start creating

    imgmov - Home - Blog - Gallery