Bandcamp bans AI music: can a video bed be substantially AI?

Bandcamp bars music made wholly or in substantial part by AI. Where a video soundtrack made with Sume's Music Router sits, and how to keep a human lead.

5 min readSume
All posts

Can you upload AI music to Bandcamp? No, if it is generated wholly or in substantial part by AI. Bandcamp's January 13, 2026 post "Keeping Bandcamp Human" (read 2026-10-04) says that music and audio made that way is not permitted, and that AI tools used to mimic other artists or styles are barred under its existing impersonation policies. Enforcement leans on reports from the community, and Bandcamp reserves the right to remove music it suspects is AI-generated.

That rule is about what you sell on Bandcamp. A soundtrack bed inside a video you publish elsewhere is not a Bandcamp upload. The overlap is a creator who scores a video with a generated bed and then wants to sell the same piece, which is where a clear line between the video and the release saves trouble.

Read the policy, not a summary

Start with Bandcamp's own page, Keeping Bandcamp Human. The two phrases that matter are "wholly or in substantial part" and the impersonation language. Neither is defined in numbers I could find, so do not assume a percentage.

What a video team should split

Treat the video's score and the release as two deliverables with two sources of audio.

  • Video score: a generated bed is fine to cut against; keep it labeled in your project as generated.
  • Release audio: if you plan to sell it, make it human-led, with your own performance or composition carrying it.
  • Style prompts: write about mood, tempo and instruments, not a living artist's name, since Bandcamp bars mimicking other artists.

A style-neutral brief that avoids naming artists

The Music 1.0 docs describe a seven-axis brief: emotion, genre lineage, tempo as a number, key and mode, two to four textured instruments, an arc with one named moment, and era or production. None of those axes needs an artist's name.

import os
import requests

r = requests.post(
    "https://api.sume.com/v1/music-router/generate",
    headers={
        "Authorization": "Bearer " + os.environ["SUME_API_KEY"],
        "Idempotency-Key": "bandcamp-bed-001",
    },
    json={
        "model": "sume/music-auto",
        "prompt": "Hushed and slightly melancholic chamber folk, 72 BPM, D minor. Nylon guitar, soft cello, brushed snare. The cello answers the guitar from 0:12. Dry and close, 1998 production. Instrumental, no vocals.",
        "mode": "sync",
        "wait_timeout_seconds": 30,
    },
    timeout=60,
)
print(r.status_code)
print(r.json())

Where Sume stops

Sume does not tell you how Bandcamp or any other store will judge a file. It returns audio and the routed engine name in job.request.routed_model. Read the store's current page before you upload.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume