Back to Blog

How to Make a Spotify Canvas with AI: Size, Specs, Loops

A Spotify Canvas is the 3–8 second vertical loop that replaces your album art in the Now Playing view of the Spotify mobile app. Spotify's size spec is short: 3–8 seconds, a vertical 9:16 ratio, "between 720px - 1080px tall", and an MP4 or JPG file (Canvas guidelines). To make one with AI, generate a 9:16 clip from your cover art or a still from the release's world, cut it to under 8 seconds at no more than 1080 px tall, check that the last frame flows into the first, and add it to the track in Spotify for Artists.

Generating the clip is the easy part now. The work is in what the spec leaves out: loops that visibly jump, twelve Canvases that look like twelve different artists, and uploads that fail or never show.

Spotify Canvas size and specs: what Spotify says, and what it doesn't

Most of the confusion online comes from guides filling the gaps in Spotify's spec with numbers of their own.

Spotify's guidelineWhat third-party guides sayWhat to deliver
Length3–8 seconds"8 seconds"6–7.5 seconds. Leave a margin
ShapeVertical 9:169:169:16
DimensionsBetween 720 and 1080 px tall"1080×1920 recommended", "720×1280 minimum"608×1080 (or 576×1024)
FormatMP4 or JPGMP4, MOV, M4VH.264 MP4, or a JPG for a still
File sizeNot stated8 MB, 10 MB, 15 MB, 20 MB, 200 MBNo official cap. A short, silent file is small anyway
Frame rateNot stated24 or 30 fpsKeep the source frame rate
AudioNot stated"No audio"Strip it. Canvas plays silently over the track

Dimensions: 1080 px tall is the ceiling, not the width. Spotify gives the same range on its guidelines and its upload-error page: 720–1080 px tall (Fix a Canvas upload error). At 9:16, the tallest frame inside that range is about 608×1080. The 1080×1920 that many guides recommend is 1920 px tall, outside Spotify's stated range, so scale a 1080×1920 master down before upload rather than hoping it passes. The "720×1280" numbers come from a different product: Spotify's Canvas for advertisers, specced at 720–1280 px and MP4 or MOV (Canvas for advertisers). If you want the ratio mathematically exact with even pixel counts, 576×1024 and 540×960 are both 9:16.

Length is strict at the edges. The same upload page says a file can fail if its length or size is "even slightly off". Several video models generate exactly 8 seconds, so trim a few frames rather than delivering 8.0.

A clean export with FFmpeg, which trims to 7.5 seconds, fills a 608×1080 frame and drops the audio:

ffmpeg -i clip.mp4 -t 7.5 \
  -vf "scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080" \
  -c:v libx264 -crf 18 -pix_fmt yuv420p -an -movflags +faststart canvas.mp4

How to make a Spotify Canvas with AI, step by step

1. Start from a frame, not a prompt. Cover art is square and a Canvas is 9:16, so the first job is a vertical keyframe that carries the cover's palette, texture and subject. Extend the artwork or build a new still from the same world. If the release already has a music video or shoot footage, a few seconds of it can be the source instead: models that edit existing video, such as Gemini Omni 1.1 Flash and Seedance 2.5, can restyle it toward the cover. Spotify suggests leaving out the song title and artist name, since they already show in the Now Playing view.

2. Keep the action in the safe area. Spotify warns that the edges may get cut off on some phones, and its original Canvas tips add that the player controls partially cover the lower half of the screen (10 tips for Canvas). Put the subject in the upper-middle of the frame.

3. Choose the loop type before you generate. Spotify's guidelines name three: a Continuous loop, a Hard Cut with clear edit points (which "can be artfully disguised"), and a Rebound, which plays forwards and then in reverse. Each needs a different kind of clip:

Loop typeWorks forFails onHow to make it with AI
ContinuousSmoke, water, drifting light, slow orbits, weatherAnything with a clear start and finishUse the same image as the start and end frame, or crossfade the tail into the head (recipe below)
ReboundSlow push-ins, fabric and hair in wind, floating objectsMotion with a direction: falling, pouring, walking, rising smoke, fireGenerate 3.5–4 seconds forward, then append a reversed copy
Hard cutA deliberate snap: lights on, cut to black, a flash of the next sceneSubtle, atmospheric motion, where the cut reads as a mistakeGenerate the clip and make the cut on purpose, on a strong change

4. Generate short, and pick the model by its frame controls. Most AI Canvas makers wrap the same few video models, and the feature that matters for a loop is whether you can set a start and an end frame. In Visuals, where Runway, Kling, Seedance and Luma models are available on paid plans, Luma Ray 3.2 takes start and end frames in 5- or 10-second clips. Veo 3.1 generates 9:16 clips of 4, 6 or 8 seconds, and its 1080p mode needs the 8-second length, so trim it.

5. Keep mouths out of it. Spotify's guidelines say to choose footage without talking, singing or rapping, because a 3–8 second clip won't sync with the lyrics. Video models like to animate faces, so frame the artist in profile, from behind or at a distance, or keep people out of the shot. Avoid rapid cuts and intense flashing too.

6. Trim, strip the audio, export at no more than 1080 px tall, and run the seam test below.

Making a Canvas from a single image

If all you have is the cover or one photo, there are three routes:

  • A still JPG Canvas. Spotify accepts a JPG. It doesn't move, but a vertical crop or extension of the artwork that differs from the square cover still fills the screen. It's the fastest option for a large back catalog.
  • Image to continuous loop. Extend the image to 9:16, then use it as both the start and the end frame, with a prompt for one small, constant movement: drifting smoke, moving light, a slow sway.
  • Image to rebound. Generate 3.5–4 seconds of a slow push-in or parallax move from the image, then play it forwards and backwards.

Whichever route you take, leave any text from the cover out of the moving version. Generators tend to warp lettering.

Why AI loops show a seam

A loop that "jumps" usually has one of five problems, and each has its own fix.

What you see at the restartCauseFix
The image jumpsThe last frame doesn't match the firstRegenerate with a matching start and end frame, or crossfade
Everything lines up, but the motion hiccupsThe model slows the motion down as it reaches the end frame, then the loop restarts at full speedPick motion that stays constant, cut off the slow-down and crossfade, or switch to rebound
A tiny freezeThe clip ends on the exact frame it starts on, so that frame plays twiceDrop the final frame
Light or colour popsExposure and grade drift over the generationColour-match the end to the start, use a shorter clip, or crossfade
A brief softness or flickerCompression quality differs between the first and last framesExport at a high quality setting (CRF 18 or lower in x264)

A crossfade fixes most of these. It blends the last second into the first, so the new end runs straight into the new start. For a clip of L seconds, set the offset to L − 2:

ffmpeg -i clip.mp4 -filter_complex \
 "[0:v]split[a][b];[a]trim=start=1,setpts=PTS-STARTPTS[body];\
  [b]trim=end=1,setpts=PTS-STARTPTS[head];\
  [body][head]xfade=transition=fade:duration=1:offset=5.9[v]" \
 -map "[v]" -c:v libx264 -crf 18 -pix_fmt yuv420p -an loop.mp4

The result is one second shorter than the source. It works best on atmospheric motion. On a clear movement, such as a person walking, the blend shows as a double exposure.

How to test a Canvas loop before you upload

Small seams are easiest to see on a phone, at full screen, with the song playing. Use your eyes and one number.

The number. Compare the change across the loop point with the normal change between neighbouring frames. The command below plays the clip twice in a row and scores every frame against the next one with SSIM, where 1.0 means identical:

N=$(ffprobe -v error -count_frames -select_streams v:0 \
  -show_entries stream=nb_read_frames -of csv=p=0 canvas.mp4)
ffmpeg -v error -stream_loop 1 -i canvas.mp4 -stream_loop 1 -i canvas.mp4 -lavfi \
 "[1:v]trim=start_frame=1,setpts=PTS-STARTPTS[next];[0:v][next]ssim=stats_file=steps.log" \
 -f null -
grep "^n:$N " steps.log        # the loop point
awk -F'All:' '{split($2,a," "); print a[1]}' steps.log | sort -n \
  | awk '{v[NR]=$1} END{print "median step:", v[int(NR/2)]}'

How to read it:

  • Loop point close to the median: the restart looks like any other frame. Clean.
  • Loop point well below the median: a visible jump. Use the fixes above.
  • Loop point at or near 1.0 while the median is lower: a doubled frame. Drop the last one with -vf "trim=end_frame=$((N-1))".

We ran it on the web preview of one of our own Canvas studies, which was cut as a preview rather than a loop. The loop point scored 0.33 against a median step of 0.88, a hard cut anyone would see. After the crossfade, the loop point scored 0.90 and the frames either side scored 0.91 and 0.92. Calibrate on loops you know are clean, since fast motion lowers every score.

The eyes. Make a five-pass file with ffmpeg -stream_loop 4 -i canvas.mp4 -c copy canvas_x5.mp4, send it to a phone and watch it full screen with the track playing.

Spotify Canvases for a whole album or catalog

One Canvas is a creative task. Twelve is a consistency problem. Spotify's guidelines suggest connecting your Canvas to your album art, profile picture and header image, or creating "a narrative across an entire release". Label Worx recommends a unique Canvas for every track (Label Worx). There are three ways to do both:

ApproachFitsWatch out for
One world, a different moment per trackAlbums and concept recordsSameness. Vary the subject and the motion, not only the angle
Cover-art family: every Canvas grows from the cover, and each animates a different elementEPs and single-led campaignsSquare covers need a vertical extension, and any text on the cover has to go
Catalog treatment: one fixed look applied to each track's own artworkBack catalog with many different coversLooking like a filter. Keep each track's own imagery in charge

Whichever you choose, write a lock sheet before you generate track one. It splits the decisions in two:

  • Fixed for every track: three to five colours taken from the cover, grain and texture, lens feel, the allowed camera moves (for example, slow push-ins and drifts only), the loop type, the target duration, the safe area, and how to handle people's faces (if a real person appears, the source images are your own or ones you have permission to use).
  • Chosen per track: the subject, the one element that moves, and the change in light.

Get the artist and management to approve the lock sheet against the first two finished Canvases, then make the rest in a batch. That split is also the right one for working with AI: the batch is the tedious part, and the lock sheet is where people make the creative calls. In Visuals, the fixed half can be saved as a Skill and the generate, trim and export steps as a Flow, so track nine is made the same way as track one, and a recurring character stays consistent from track to track. The Midnight Static study shows a Canvas made from the same world as the release's visualizer and creator-style clip.

Track the batch in one sheet, one row per track:

TrackVersion / ISRCAccess confirmedSource frameLoop typeDurationSeam score / medianExplicit?Approved byUploaded

For back catalog, put first the tracks where a Canvas will actually be seen. It plays only in the mobile app and only in a published list of countries. India and Pakistan, for example, aren't on it (Canvas not showing). Spotify's most recent figure was measured in its own playlists with Now Playing open (see the data below), so start with tracks earning playlist streams in Canvas markets. That's our inference, not Spotify's advice.

How to upload a Spotify Canvas, and who can

Who can add one. Spotify lists the first main artist on the track, the main artist on both the track and the release, and team members with the Admin or Editor role (Adding a Canvas). The Reader role can't (access levels).

How. On the web: log in to Spotify for Artists, go to Music, select the track, then click Add Canvas. In the Spotify for Artists mobile app: Music, select the track, then tap Canvas. You can add a Canvas to upcoming releases, so it can be live on release day.

Approvals. If the AI imagery depicts the artist or anyone else real, work only from your own photos or images you have permission to use, and get that person's sign-off on the likeness. On Spotify's side, we found no AI-specific rule in its Canvas pages, and no review queue before a Canvas goes live. What Spotify describes is removal. The Canvas content policy says a Canvas that breaks the Platform Rules will be removed, and an overly promotional one may be. It rules out:

  • links or URLs, ticket vendors and requests to follow or like
  • text that isn't relevant to the track, or that distracts from the artwork
  • promotion of other songs or unrelated albums, social accounts, brands (Spotify's logo included), products, discounts, fan experiences, contests and sweepstakes

Mark a Canvas explicit if it contains profanity (written or illustrated), violence or abuse, drug use, sexual behaviour or other sensitive topics.

Replacing a Canvas. A view counts when someone opens Now Playing and sees the Canvas, at most once per stream (How we count Canvas views), and views carry over when you swap the Canvas (Canvas metrics guide). If you're testing two looks, log the swap date.

Troubleshooting: Canvas upload errors and a Canvas not showing

SymptomLikely causeFix
Upload errorLength at or over 8.0 s, a 1920 px tall master, a ratio that isn't 9:16, or a MOV fileRe-export at 6–7.5 s, 608×1080, H.264 MP4. Spotify also suggests trying the Spotify for Artists mobile app, or reinstalling it
No "Add Canvas" optionReader access, or you aren't the first main artistAsk a Team Admin to change your access level in Spotify Manage
A label can't add a Canvas to a songSplit rights: another label's version of the same recording is live, often a compilation or a collaborationYou can add a Canvas only to the versions you own. Make sure you're viewing your version (Label teams)
Uploaded, but not showingThe viewer is on desktop, on iOS older than 12 or Android older than 6.0, has Data Saver on, has Canvas off in Content and display, or is outside the listed countriesCheck on a phone in a listed country, with Data Saver off and Canvas on (Canvas not showing)
Showed, then disappearedRemoved under the content policyCheck for URLs, handles, brands or calls to action

What Spotify's data on Canvas actually says

The "up to 120% more streams" line is repeated everywhere, usually without a source. Here is what Spotify itself published:

FigureSpotify sourceWhat it actually measures
Streams up to +120%, saves up to +114%Canvas metrics guide, October 2019 beta"Up to": the best cases for a "high-quality" Canvas, not the average
Streams +5%, shares +145%, playlist adds +20%, saves +1.4%, profile visits +9%2020 Spotify for Artists recap, from the betaAverage lift for listeners who saw a Canvas, against a control group
Over 4x more saves and playlist addsSpotify Fan Study, October 1–31, 2023Only listening in Spotify playlists with the Now Playing view open

For planning, the honest number for streams is the average of about 5%, not 120%. The biggest effects are on shares and, in playlists, on saves and playlist adds. All three figures are Spotify's own, and we found no independent replication. That's enough to justify a Canvas on a priority track, but not to promise an artist a stream count.

Before you upload: the checklist

  • 3–8 seconds, with a margin under 8.0
  • 9:16, no more than 1080 px tall (608×1080), H.264 MP4 with no audio track
  • No talking, singing or rapping on screen. No rapid cuts or intense flashing
  • No title, artist name, URLs, handles, brands or calls to action
  • Key action in the safe area: clear of the edges and the lower half's controls
  • Seam score close to the median step, and checked by eye on a phone
  • Explicit flag set where needed
  • Version, rights and Admin or Editor access confirmed for this track
  • Lock sheet approved, and the row filled in on the batch sheet

To see how the steps fit together on one canvas, from the reference frame to the export, see Spotify Canvas in Visuals.

How this was made: researched and written by the Visuals.fm team with AI assistance, then fact-checked by people against the sources linked in the text.

A few things
worth knowing.

What size is a Spotify Canvas?

Spotify's guidelines say a Canvas must be 3–8 seconds long, vertical 9:16, between 720 and 1080 px tall, and an MP4 or JPG. At 9:16 that means about 608×1080 at most. The 1080×1920 size many guides recommend is taller than Spotify's stated range.

Is there a file size limit for a Spotify Canvas?

Spotify's Canvas pages don't state one. The 8 MB and 10 MB limits quoted by third-party guides don't appear in Spotify's documentation. A silent 7-second H.264 file at 608×1080 is a few megabytes, so length and dimensions are the usual reasons an upload fails, not file size.

Can I make a Spotify Canvas from a single image with AI?

Yes. Extend the image to 9:16, then either use it as both the start and end frame of an image-to-video generation for a continuous loop, or generate a short push-in and play it forwards and backwards as a rebound. Spotify also accepts a still JPG. We found no AI-specific rule in Spotify's Canvas pages; the same specs and content policy apply.

How do I make a Spotify Canvas loop seamlessly?

Generate with the same image as the start and end frame, or crossfade the last second of the clip into the first. Then check the loop point: the change from the last frame to the first should be about the same size as the change between any two neighbouring frames. If the last frame is identical to the first, drop it, or the loop will briefly freeze.

Why is my Spotify Canvas not showing?

A Canvas plays only in the Spotify mobile app (iOS 12 or later, Android 6.0 or later) and only in a published list of countries. Listeners won't see it with Data Saver on or with Canvas turned off in Content and display. For labels with split rights, a Canvas can only be added to the versions you own.

Does a Spotify Canvas increase streams?

According to Spotify, yes, but by less than the headline suggests. The often-quoted 'up to 120% more streams' is a best case from the 2019 beta. Spotify's average from beta testing was about 5% more streams, with much larger lifts in shares (+145%) and playlist adds (+20%).