Declare AI usages
Two usages say what a platform may do with your recordings for generative AI:
| Usage | Name in Labelcamp | What the rights holder allows |
|---|---|---|
ai_training | AI training | Use the recordings to train generative AI models. |
ai_generation | AI generation | Let generative AI use a recording as a reference to produce new works: covers, remixes, style imitations. |
They sit in the usage object, next to the four distribution usages (download, on_demand_stream, non_interactive_stream, copy_scan).
Not to be confused with Declare AI contribution: a contribution tells the platform that AI was used to make the content. A usage tells it what it may do with the content. A label can refuse training and still have to declare AI-made releases.
Not allowed until declared
Both AI usages are false until the rights holder explicitly agrees, your catalog predating this feature included. The four distribution usages keep their default of true.
Only set one to true when the rights holder agreed to that specific use. Do not derive it from another field of your own system.
Two independent usages
No rule links ai_training to ai_generation: a rights holder can allow one and refuse the other. Neither depends on the distribution usages either.
Where to declare them
| Where | Resource | Effect |
|---|---|---|
| Label | labels, usage attribute | The default for the label's new products. A product's default offer copies it when the product is created. |
| Offer | offers, usage attribute | The value for that release. |
Changing a label's usages does not change the offers that already exist. To change existing releases, update their offers.
There is no declaration at the artist, track or artwork level.
Write semantics
usage is replaced as a whole. A key you leave out goes back to its default (true for distribution, false for AI); it does not keep its current value. Read the current usage, change the keys you need, and send all six.
Code
The keys inside usage use underscores, unlike the attribute names.
What platforms receive
A usage is sent only to platforms whose delivery format can express it. The other platforms receive nothing for it, and the rest of the delivery is unchanged.
When a platform's format starts supporting a usage, what you already declared is sent to it, without you having to declare it again.