Skip to content
SBDocs

Customers · Guides

Use a model's licence in your product

Read the licence each output was made under, what commercial_use means, and how to credit a model.

Before you start
  • A completed run whose output a model made.
You'll end with
A check that flags any file you should not ship without a closer look.

Before you put a generated file in a game you sell, you need to know whether the models that made it allow that. Every output a model made carries the answer, recorded when the file was made.

Note: not legal advice

The licence record tells you what each model's listing on Sushibelt said when your file was made. It is not legal advice. For anything you ship, read the licence and the provider's terms it links to.

Where to find it#

Each entry in a run's output has a licence when a model step is involved in making it — the step itself, or any step before it. An output that no model touched, such as text you typed, has no licence.

The licence is recorded with each stored file: images, meshes and audio. A text model's answer is not stored as a file, so it carries no licence record, and nor does a file made while your team's storage was full. For those, check the model's licence on its page.

An output made by two modelsJSON
{
  "node_id": "c3a8…",
  "step_type": "Upscaler",
  "result": { "images": [{ "url": "https://example.com/files/0.png" }] },
  "licence": {
    "commercial_use": "provider_terms",
    "models": [
      {
        "node_id": "7c41…",
        "provider_key": "fal_ai",
        "model": "flux-schnell",
        "licence": "Apache-2.0",
        "licence_url": "https://www.apache.org/licenses/LICENSE-2.0",
        "commercial_use": "yes",
        "terms_url": null,
        "stamped_at": "2026-09-29T09:14:02Z"
      },
      {
        "node_id": "c3a8…",
        "provider_key": "replicate",
        "model": "real-esrgan",
        "licence": null,
        "licence_url": null,
        "commercial_use": "provider_terms",
        "terms_url": "https://example.com/provider-terms",
        "stamped_at": "2026-09-29T09:14:40Z"
      }
    ]
  }
}

The verdict: commercial_use#

licence.commercial_use is one answer for the whole output. It is as strict as the strictest model it came from: a non-commercial image model feeding a commercial 3D model gives a non-commercial mesh. From strictest to least strict:

Values of commercial_use on an output
ValueDescription
noAt least one model this output came from does not allow commercial use.
uncheckedAt least one model's licence had not been checked when the output was made, and none says no. Treat it as unknown until you have checked it yourself.
provider_termsCommercial use rests on a provider's terms rather than the model's own licence: the provider's terms grant you the output. Read them at terms_url.
yesEvery model this output came from allows commercial use under its licence.

Each model: licence.models#

licence.models lists every model step the output came from, with that model's licence as it stood when the step ran. On a model entry, commercial_use is null when the licence had not been checked; the output's verdict counts that as unchecked.

Fields of each entry in licence.models
NameDescription
node_idstring · RequiredNo description.
provider_keystring · RequiredThe provider that ran the model.
modelstring · RequiredNo description.
licencestring or null · RequiredNo description.
licence_urlstring or null · RequiredNo description.
commercial_usestring or null · Requiredyes, provider_terms (the provider's terms grant the output), no, or null when it had not been checked. One of: yes, provider_terms, no.
terms_urlstring or null · RequiredThe provider's own terms.
stamped_atstring (date-time) · RequiredNo description.

The record is fixed when the file is made. If a model's listing changes later, the files it already made keep the licence they were made under.

Before you ship#

  1. Check licence.commercial_use on every output you plan to use.
  2. For provider_terms, read the terms at each model's terms_url.
  3. For unchecked, read the licence at licence_url, or on the model's page, yourself.
  4. Keep the licence record with the file, for example in your repository beside it.
Find the outputs that need a closer look
# Needs jq. Prints each output whose licence is not a clear yes.
JOB_ID="YOUR_JOB_ID"

curl -s "https://app.sushibelt.ai/api/v1/runs/$JOB_ID" \
  -H "Authorization: Bearer $SUSHIBELT_API_KEY" \
  | jq '.output[] | select(.licence and .licence.commercial_use != "yes")
        | { node_id, step_type, commercial_use: .licence.commercial_use,
            models: [.licence.models[] | { model, licence, commercial_use, terms_url }] }'

Attribution#

Some licences ask you to credit the model wherever you use its output — the Creative Commons BY family (CC BY, CC BY-SA, CC BY-NC and so on). When licence names one, credit the model, its provider and the licence, with a link to it. For example: Made with MODEL (PROVIDER), licensed CC BY 4.0 — LICENCE_URL.

A delivery step can write this line for you. Turn on its manifest, and each file's licence entry carries an attribution when its licence asks for one. See The manifest.

Licences before you build#

  • The models page shows each model's licence before you use it.
  • Model licences lists the licences of the models on Sushibelt, and what each allows.

Next steps