DocsWorkspaces

Approving Media Models

Decide which image and video generation models the people in your workspace may use.

What you get
An approved model list • Enforcement everywhere generations are submitted • A change recorded in the activity log

What it looks like

The Advanced tab
The Advanced tab, where an admin chooses which media models the workspace may spend on.

Overview

By default a workspace can use every model in the catalogue. An admin can narrow that to an approved list, and the list is saved and shown to everyone in the workspace. Note that it is not yet enforced at generation time: today it records the policy your team has agreed rather than blocking a model at the point of use, so treat it as a stated standard, not a technical control.

Quickstart

Use this when a policy, a client contract or a jurisdiction limits which providers your organisation may send content to.

1

Open the workspace settings

Workspace settings, Advanced. Model approvals sit with the other workspace-wide governance controls.

Open workspace settings
2

Turn on restriction

Until you do, every model in the catalogue is available — that is the default and it stays that way for existing workspaces.

3

Approve the models you allow

Select from the catalogue. Internal utility models are exempt so that narrowing the list cannot break background processing.

4

Save, and tell your team

The change applies to everyone immediately, on every surface that submits a generation.

Who this is for

Ideal users

  • Admins with a compliance or procurement constraint
  • Owners standardising a team on a known set of models

Before you start

  • Owner or admin on the workspace

Use cases

Restrict to approved providers

Approve only the models your organisation has cleared, and members cannot pick anything else.

Standardise output across a team

Narrow the catalogue so everyone produces with the same models.

Best practices

  • Leave it unrestricted unless you have a real constraint; every model you leave out is one your team cannot use.
  • Tell the team before you narrow the list — the change applies immediately and a member's usual model may simply stop being selectable.

Detailed guide

Long-form notes, richer formatting, and implementation context for teams that need more than the quickstart.

Deep dive
Rich formatted reference
Use this section for implementation nuance, workflow depth, and operational guidance that does not fit in a simple checklist.

Choosing which media models your workspace can use

Restrict a workspace to an approved list of image, video and music models — how to set the list, what each state of it means, and exactly what the list does and does not stop today.

What the setting does

A workspace owner or admin decides which generation models the people in that workspace may run. The list covers the whole customer catalogue in one place: image models, image-editing models, video models and music models.

Most admins open this screen for one of two reasons. Either legal or brand has cleared a specific set of models and everything else is off the table, or the expensive video models are burning the workspace balance faster than anyone intended. The screen shows the per-unit credit price next to every model for exactly that second reason.

The list is a property of the workspace, not of a person. There is no per-member exception and no way to approve a model for one team and not another inside the same workspace. Split the teams into separate workspaces if you need different lists.

What is enforced today

Nothing yet. The screen loads, the toggles work, and saving genuinely writes your list to the workspace — but no generation is currently checked against it. A member can still pick and run any model in the catalogue their plan includes, in the studio, in workflows and through the API.

The check itself is written and the storage is live; what is missing is the call to it from the generation path. Until that lands, treat this screen as recording a decision, not as a control.

Do not rely on this list to stop spending or to keep an uncleared model out of your workspace. If you need those guarantees now, use the per-member credit limits and billing-group budgets on the Members and Groups tabs, which are enforced. See [Shared credits and spend limits](./workspace-credits.md).

Everything below describes what is stored and what the enforcement check does when it is reached, so that the list you save now is the list you meant.

Three states, not two

The stored list has three distinct states, and two of them look similar on screen while behaving very differently.

StateHow the workspace gets thereMeaning
No listThe restriction has never been turned onNo restriction at all. Every live and beta model in the catalogue stays available. This is the default and what every existing workspace has
A list of modelsRestriction on, with models approvedOnly the models on the list are approved. Everything else is refused
An empty listRestriction on, with every model clearedNothing is approved. All image, video and music generation in the workspace is refused

An empty list is a real, deliberate setting — not the same as having no list. It is the one way to stop media generation in a workspace outright, and the screen warns you before you save it.

Because "no list" is the default, the feature changes nothing for a workspace that never opens the screen. There is no deny-by-default state and nothing needed to opt out.

Set the list

  1. Open the Media Models section

Go to /app/settings/team, choose the Advanced tab, then Media Models in the left-hand list. Pick the workspace you are administering in the switcher at the top of the Team page first — the section always edits the workspace you have switched to.

  1. Turn on "Limit this workspace to approved models"

Turning it on for the first time ticks every model in the catalogue rather than starting from nothing. That is deliberate: your first save then matches what is already in force, so nobody halts a workspace by turning a switch on and walking away.

  1. Approve or clear models

Toggle a model individually, or use Approve all / Clear all on a modality group. The search box filters by model name, slug, provider or category. Models are grouped as Image, Image editing, Video and Music.

  1. Save the model policy

Nothing you toggle takes effect until you press Save model policy. Edits are staged on purpose, because this policy lands on colleagues mid-session rather than being a personal preference. Discard puts the staged toggles back to what is stored.

Saving is a full replacement of the list, not a merge. What is on screen when you save is the entire policy afterwards.

Turning the switch off and saving clears the list back to "no list" — the unrestricted default — rather than remembering your ticks for next time.

Who can change it

Role in the workspaceCan see the listCan change it
OwnerYesYes
AdminYesYes
MemberYesOnly with an explicit workspace-settings grant on their membership
ViewerYesOnly with an explicit workspace-settings grant on their membership

Anyone who can see the section but not change it gets a read-only view with the reason stated on screen, and the toggles disabled. A save attempted without permission is refused by the server as well as hidden in the interface, so a crafted request cannot set the policy.

The policy applies to everyone in the workspace, including the owner and the admin who set it. There is no self-exemption.

What a member sees when a model is not approved

When the check is reached, the request is refused before any credits are reserved, and the message names the model and where to get it approved:

<model name> isn't approved for this workspace. A workspace owner or admin can allow it under Workspace → Advanced → Media Models, or pick one of the approved models.

Two things this refusal is not:

  • It is not a hidden model. The model pickers, the studio and the public /v1/image-video/models listing all show the full live and beta catalogue regardless of your list. A member browsing models sees unapproved ones and finds out at generation time.
  • It is not a charge. The check sits ahead of the credit reservation, so a refused generation costs nothing.

Internal utility models are never governed

The model catalogue also holds internal rows that are not models anyone picks — local video transforms such as thumbnailing, resizing and caption burn-in. They live in the same table so they share the pricing and metering machinery, and tools and workflow nodes call them by name.

These rows are exempt from the list twice over. They are excluded from the screen, so you cannot approve or unapprove them; and the enforcement check lets them through even when the workspace has an empty list.

The reason matters: an allowlist that caught them would let an admin who thought they were declining a video model silently break their own workspace's thumbnailing, with no way to see the connection. They are also refused outright as a customer-facing model — asking for one by name through the API returns an unknown-model error rather than billing it as a video generation.

Where the rule reaches

Every customer-facing image, video and music generation goes through one shared validation step before any work starts. That is why the list can be a single setting rather than one per surface.

SurfaceUses the shared validation stepChecked against your list today
Image & Video studioYesNo
Music studioYesNo
Image, video and music workflow nodesYesNo
Platform API POST /v1/image-video/generateYesNo

The right-hand column is the enforcement gap described above, not a difference between surfaces — the check is missing for all of them equally. When it is wired into the shared step, all four are covered at once, including the paths that run without a signed-in user: a workflow node executing in the background and an API call authenticated by a workspace key both name a workspace, and that is all the check needs.

The same shared step already enforces the plan tier a model requires, your concurrency and daily generation limits, monthly image and video allowances, and the content-safety preflight.

Limits and behaviour worth knowing

BehaviourDetail
Models on a listUp to 500. A larger save is refused whole
Applying a changeReplaces the stored list at once, for everyone. Nothing is grandfathered and there is no staged rollout
A job already runningFinishes. The list is evaluated when a generation is submitted, not while it runs
A model retired after you approved itKept in the stored list but ignored. The screen names the stale entries beneath the switch, and your next save drops them
Approving a model that has left the catalogueRefused, with a prompt to reload the page. Only current catalogue entries can be stored, so a saved list never disagrees with what the screen shows
An unreadable or malformed stored listTreated as no restriction, and logged. This is spend and usage governance over models the caller is already entitled to by plan, not a security boundary, so a bad row must not take a workspace's generation offline

That last row is a deliberate trade. If you need a hard block on a model rather than a governance setting, the plan-tier gate on the model itself is the mechanism that fails closed.

What gets recorded

Saving writes an entry to the platform activity log naming who changed the policy, whether a restriction is now in force, and the approved slugs.

That entry does not currently appear in Advanced → Audit Log. That section lists events tagged with a workspace id, and the model-policy entry is written without one. Nothing is lost — the record exists — but you cannot read your own policy history from the workspace audit view yet.

Was this page helpful?
Approving Media Models | SonicVox Docs | SonicVox Docs