AI Video Resolution Drops to 720p After Export: Fix

Generated at 1080p but the file on disk is 720p, 540p, or 480p. Fix by using the in-app HD download, checking your plan's export cap, and upscaling with Topaz, Runway, or DaVinci Resolve.

The generation preview clearly says 1080p. You hit Download and the file on disk is 720p, 540p, or 480p — heavily compressed, with visible macroblocking on flat areas and chroma smear on edges. This is almost always one of three things: a free/starter tier cap, the wrong download action (you saved the web preview, not the render), or a CDN that handed you a transcoded variant. The high-res pixels you saw in the preview frequently were never written to your file.

Fastest fix: use the asset card’s official Download / Download HD button (never right-click the player), confirm your plan actually allows 1080p+ export, then run ffprobe on the file to see what you really got. If the render is genuinely capped at 720p, upscale with Topaz Video AI, Runway Upscale, or DaVinci Resolve Super Scale instead of re-rolling credits.

Which bucket are you in

Run this on the downloaded file first — it tells you which of the five causes you have before you change anything:

ffprobe -v error -select_streams v:0 \
  -show_entries stream=width,height,bit_rate \
  -of default=noprint_wrappers=1 file.mp4
What ffprobe showsMost likely causeSection
width 854 or 960 (540p)You saved the player preview, not the render#2
width 1280 (720p), bitrate normalFree/starter tier export cap#1
width 1920 (1080p), bitrate < 4 MbpsCompressed web/H.264 delivery profile#3
Resolution changes per download attemptCDN serving a player-size variant#4
Aspect ratio differs from the previewAspect/orientation change forced a downscale#5

Common causes

Ordered by hit rate.

1. Free or starter tier caps export resolution

As of June 2026, the free tiers cap output well below what the preview implies:

  • Runway Free exports at 720p with a watermark; clean 1080p needs Standard, native 4K needs Pro.
  • Pika free is now 480p only (Pika 2.5); 720p and 1080p are paid-only.
  • Kling free is capped at 720p; 1080p (and native 4K on Kling 3.0) is on paid plans.
  • Sora in ChatGPT Plus typically tops out at 720p in-app; 1080p needs ChatGPT Pro.

The HD pixels may render in the cloud, but the export pipeline reencodes down to your tier ceiling.

How to spot it: Open the plan page and read the Export Resolution / output line. If it says “720p,” “480p,” or “Standard quality,” that is your hard cap no matter what the preview displayed.

2. Download action saved “Preview MP4” instead of the HD render

On Runway you can right-click the preview player and “Save video as,” which grabs a ~540p web preview, not the render. The Download HD action in the asset card’s three-dot menu is the only path to the rendered pixels. Sora and Veo have the same trap: the browser context-menu save grabs whatever the inline <video> player loaded.

How to spot it: ffprobe reports width 854 or 960. That is a preview proxy, not the export.

3. Output codec set to a compressed web delivery profile

Some tools default the H.264 delivery profile to CRF 28 or higher for fast streaming. The frame is 1080p, but compression has already destroyed the detail.

How to spot it: Check bitrate with ffprobe -v error -show_entries format=bit_rate file.mp4. Anything under 4 Mbps for 1080p is a web-tier compressed file.

4. CDN delivered a transcoded variant

Sora, Veo/Flow, and some hosted UIs serve videos through a CDN that auto-transcodes based on player size and connection. A right-click save grabs whatever adaptive variant the player happened to load.

How to spot it: The downloaded resolution changes depending on the window size or zoom level at download time. The cause is delivery, not the model — use the official Download button instead.

5. Aspect ratio / orientation change cropped and downscaled

You generated at 1920x1080 but the export preset was Vertical 1080x1920. The tool refits and downscales to fit, and the deliverable is now a smaller crop window than the source.

How to spot it: Compare the saved file’s aspect ratio against the preview. A mismatch means a re-fit pass ran on export.

Shortest path to fix

Step 1: Use the correct in-app export action

# Runway
- Asset card -> three-dot menu -> Download (HD)
- NOT: right-click on player -> Save video as

# Pika (2.5)
- My Library -> hover asset -> Download icon
- Pick the 1080p option (paid plans only)

# Kling (3.0)
- Generation detail -> Download / Export
- 1080p on paid; native 4K available on Kling 3.0

# Sora (in ChatGPT)
- Result card -> three-dot menu (...) -> Download
- Avoid the browser context-menu save

# Veo (in Gemini app / Flow)
- Use the official Download control on the clip
- Flow / API / Vertex offer 1080p and 4K output

Step 2: Confirm your plan actually allows the resolution you want

# Export caps by tier (verify in your own account; as of June 2026):
- Runway Free: 720p (watermarked) | Standard: 1080p clean | Pro: 4K
- Pika Free: 480p only | paid: 720p / 1080p
- Kling Free: 720p | paid: 1080p (native 4K on Kling 3.0)
- Sora: ChatGPT Plus ~720p in-app | ChatGPT Pro: 1080p
- Veo (Flow): 720p / 1080p / 4K depending on access

Sora downloads also carry a visible watermark plus C2PA provenance metadata on most tiers — that is expected, not a bug.

Step 3: Inspect file metadata to confirm the real problem

# What resolution and bitrate did you actually get?
ffprobe -v error -select_streams v:0 \
  -show_entries stream=width,height,r_frame_rate,bit_rate file.mp4

# If width/height are below your tier max -> escalate to support, it under-rendered.
# If width/height match but bitrate is under 4 Mbps at 1080p -> recompress (Step 5).

Step 4: Upscale with a quality tool when re-render is not possible

# Topaz Video AI (as of June 2026)
- Import clip
- Model: Iris for faces, Proteus for general cleanup,
  Rhea / Rhea XL for 4x fine detail, Starlight (Sharp) for degraded footage
- Target: 1080p or 4K
- Export ProRes 422 HQ for editing, H.264 for delivery

# Runway Upscale
- Workspace -> Tools -> Upscale Video
- Input: your 720p clip
- Output: 1080p or 4K depending on plan

# DaVinci Resolve Super Scale (free version included)
- Right-click clip -> Clip Attributes -> Super Scale: 2x
- Sharpness: Medium, Noise Reduction: Low
- Set Project Settings -> Timeline Resolution to target, then render

Step 5: Recompress at a proper bitrate if resolution is fine but quality is poor

# Recompress the original at a higher bitrate (lower CRF = higher quality)
ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow -c:a copy output.mp4

# Or transcode to ProRes (an editing intermediate, not a delivery file)
ffmpeg -i input.mp4 -c:v prores_ks -profile:v 3 -c:a copy output.mov

# Confirm: bitrate should now be roughly 8-15 Mbps for 1080p H.264

How to confirm it’s fixed

Re-run the ffprobe from “Which bucket are you in.” You’re done when width/height match your target (1920x1080 for 1080p, 3840x2160 for 4K) and bitrate for delivery H.264 sits in the 8-15 Mbps range for 1080p (higher for 4K). If you upscaled, also eyeball a flat-color frame at 100% zoom — no macroblocking means the recompress/upscale held.

FAQ

The preview is sharp 1080p but my download is 720p — is the render lost? Usually not. The most common cause is the wrong download action (you saved the player preview) or a tier cap. Use the asset card’s Download HD button and check your plan’s export ceiling before assuming the cloud render failed.

Will upscaling 720p to 1080p look as good as a native 1080p render? No, upscaling reconstructs detail rather than revealing it, but a good model (Topaz Rhea/Starlight, Runway Upscale) gets close for most delivery use. If the clip still has credits and your plan supports it, re-rendering natively at 1080p+ beats upscaling.

Why does my Sora download have a watermark and odd metadata? As of June 2026, Sora exports carry a visible watermark and C2PA provenance metadata on most tiers. That is expected behavior. Clean exports depend on your tier and OpenAI’s current policy, not on the download method.

My file is 1080p but looks blocky and smeared. What now? That is a bitrate problem, not a resolution problem. Recompress the source at a higher bitrate with ffmpeg -crf 18 (Step 5). If the source itself is already low-bitrate, only a re-render or an AI upscale will recover detail.

Does right-clicking and saving ever give the full-res file? Sometimes, but it is unreliable — on CDN-delivered players you get whatever adaptive variant loaded, and on preview players you get the proxy. Always prefer the tool’s official Download / Download HD control.

Prevention

  • Standardize on the in-app Download HD button across every tool; never right-click the player.
  • Keep an ffprobe resolution/bitrate check in your workflow after every download.
  • Match your editing sequence resolution to the highest output your plan supports so the final export never refits.
  • Generate at the target aspect ratio so export does not need to refit and downscale.
  • Keep a Topaz or Runway Upscale pass available as a last resort for older capped assets.

External references: Runway Help Center, Topaz Video AI docs.

Tags: #ai-video #Troubleshooting #resolution