Nebul Docs

Projects

Understand AI Studio projects: members, API keys, model access, usage, and budgets

A project is where day-to-day AI work is grouped in AI Studio. Each project has its own members, API keys, model access, usage, and optional monthly budget.

Projects belong to your organization. Use them to separate environments (prod, staging, experiments), teams, or clients. The active project is what the sidebar and dashboards scope to. Switch it from Projects in the sidebar anytime you belong to more than one.


What a project contains

Each project is self-contained:

  • Members: users you invite to the project, as a member or an owner
  • Model access: which models API keys in this project are allowed to call
  • API keys: all keys belong to exactly one project and inherit its model access
  • Usage and activity: request logs and spend roll up per project

Keys and model access do not bleed across projects. A model enabled in Project A does not apply to Project B unless someone configured it there too.

AI Studio project settings for choosing which models are enabled for the active project
Settings → Project → Model access: allow or block models for this project.

Structuring projects and API keys

A project is the boundary that keeps work separate in AI Studio. Your API keys, model access, usage, and budget each attach to exactly one project. A key inherits its project's model access, spends from its project's budget, and shows up in its project's usage. There is no environment field on a key, and no per-key budget or model limit, so anything you want to isolate needs its own project.

Model each environment as its own project, and put the environment in the project name. For an app called my-app, create my-app-test, my-app-acceptance, and my-app-prod. Issue keys inside the project that matches the environment they serve.

Two ways to lay this out

LayoutProjectKeysWhat it isolates
One project per environment (recommended)One per environment, for example my-app-prodOne or more inside each projectBudget, model access, usage, members, and key rotation, per environment
One project per use case, keys per environmentOne per use case, for example my-appOne per environment, for example prod and testNothing beyond the keys themselves; every environment shares one budget, one model-access set, one usage rollup, and one member list

Why one project per environment

Keys, model access, usage, and budget all bind to the project, so the project is the finest unit you can isolate. Laying out one project per environment gives you:

  • Separate budgets: cap production spend, or leave it open, without capping test, and the reverse.
  • Separate model access: let test try a new model while production stays on a locked allow-list.
  • Separate usage: read production activity and cost without test and CI traffic mixed in.
  • Separate members: give QA access to test and acceptance only, not production.
  • Separate keys: rotate or revoke a test key without touching production.

Worked example: an OTAP setup

An app called my-app runs four stages: development, test, acceptance, and production. Map each stage to its own project in your organization.

ProjectStageModel accessBudgetMembers
my-app-devDevelopmentFull catalogUnlimitedEngineering
my-app-testTestFull catalogUnlimitedEngineering, QA
my-app-acceptanceAcceptanceProduction allow-listLow capEngineering, QA, product
my-app-prodProductionProduction allow-listReal spend capOperations only

Within each project, create keys by function, such as backend and batch. Key names only need to be unique inside their project, so you can reuse the same name across environments.

When keys per environment is enough

If environments need no isolation at all, a single project works: same models, same budget, same members, and pooled usage, with separate keys only so you can rotate them independently. Most teams want at least production isolated for budget and access, so the default above is the safer starting point.

Naming

Project names are unique within your organization and can be anything, so make the environment part of the name. -dev, -test, -acceptance, and -prod is a clear convention. Keys are named freely and only need to be unique within their project.


Project roles

Set per person under Settings → Project → Members (and during invite flows that add people to a project).

RoleWhat it means
OwnerManages this project: teammates, model access, rename, archive, and budget. Can do everything a member can.
MemberNormal build and operate work: create API keys, call models, view dashboards for this project. Cannot change project members, model access, or budget unless they are also an owner.
ViewerRead-oriented access to project data; how prominently this role appears in the UI may vary.

Organization owners always have full access to every project, whether or not they appear on that project's member list.

Quick reference

Organization ownerProject ownerProject member
Day-to-day work inside a joined project✓✓✓
Manage project people, model access, and budget✓✓—
Create or archive projects, org-wide billing and analytics✓——

Usage and cost

Qualified inference traffic tied to your API keys automatically appears in AI Studio; you don't toggle metering on anywhere.

Where in StudioWhat it shows
Inference → Activity logRequest trail for the active project: when, which key, which model, outcome, and volume
Inference → UsageAggregates for a period, often split by model or key, scoped to the active project
Settings → Organization → Usage (organization owners)Compare projects side by side at organization scale

Usage totals may include estimated spend depending on your subscription. Treat these as indicators, not your invoice. Failures (4xx/5xx) usually still appear in activity logs, which helps when debugging integration issues.

For organization-wide billing and cost roll-ups, see Organization.


Monthly project budget

Project owners and organization owners can set a monthly spending limit for a project under Settings → Project → Budget. This helps prevent accidental overspending by capping how much a project can consume in a calendar month.

AI Studio project budget settings showing monthly spending limit and usage for the current period
Settings → Project → Budget: monthly spending limit for the project.
  • Usage resets at the start of each calendar month.
  • Budgets are set in whole euros, with a minimum of €10.00.
  • Leave budget unset for unlimited usage within your organization's subscription.

When a project's budget limit is reached, further API requests using keys belonging to that project are denied with HTTP status code 429.

Best-effort enforcement

Budget limits are enforced on a best-effort basis. Usage totals are updated asynchronously, so there may be a delay between billed requests and the consumption shown in Studio. A project can exceed its budget until aggregated usage reflects recent activity.

See Organization for how organizations, billing, and projects fit together.

On this page