> ## Documentation Index
> Fetch the complete documentation index at: https://docs.baseten.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Baseten Distribution Platform

> Sell a deployed model through Baseten using a shared Model API or customer-isolated Dedicated deployments.

The Distribution Platform lets you sell a model through Baseten. Baseten handles the customer contract and billing for both distribution channels.

<Note>
  The Distribution Platform is part of [Baseten for Model Labs](/labs). Baseten enables it per workspace. To get access, [talk to us](https://www.baseten.co/talk-to-us/).
</Note>

## Choose a distribution channel

Choose the channel that matches how customers should consume your model. You can publish the same model through both channels.

### Model API

Model APIs use a shared endpoint and can serve models across modalities and
runtimes. Each Model API exposes the request and response interface that the lab
defines.

### Dedicated deployment

Dedicated gives each customer an isolated deployment pinned to a published version of your model. This is useful when customers need isolated infrastructure.

## How distribution works

To distribute a model through Baseten:

1. **Deploy**: Use [Manage your
   model](/labs/platform/manage#deploy-your-model) to deploy to your Baseten
   workspace and save the model and model version IDs. For supported deployment
   workflows, see [Deploy and
   iterate](/development/model/deploy-and-iterate).
2. **Validate**: Use [Manage your
   model](/labs/platform/manage#validate-your-model) to send representative
   requests to the deployed model and check its responses. For request formats
   and authentication, see [Call your
   model](/inference/calling-your-model).
3. **Publish**: Use [Manage your
   model](/labs/platform/manage#publish-your-model) to publish through one or
   both distribution channels:
   * Create a Dedicated listing for customer-isolated deployments.
   * Create a Model API for a shared endpoint.
4. **Update**: Use [Manage your
   model](/labs/platform/manage#update-your-published-model) when you deploy a
   new version:
   * Publish a new Dedicated listing version, make it live for adoption, and
     have the customer adopt it.
   * Point the Model API at the new model.
5. **Retire**: Use [Manage your
   model](/labs/platform/manage#retire-your-model) when you no longer want to
   distribute it:
   * Delete the Dedicated listing.
   * Delete the Model API endpoint.

## Dedicated version adoption

Each customer deployment stays pinned to the listing version that the customer
adopted. Making a newer listing version live changes the version available for
new adoption, but it does not update existing customer deployments. A customer
adopts the newer version when they are ready; the older deployment continues to
run until the customer replaces or retires it.

Deleting a Dedicated listing stops new adoption and removes its catalog
resources. It does not terminate customer deployments already created from an
adopted version. Those deployments continue until each customer replaces or
retires them.

## Customer availability and artifact access

A lab can start a Model API with an allowlist of selected customer workspaces,
then make it available to all eligible Baseten customers after validation.
Baseten configures Model API allowlists and broader availability during assisted
setup. For Dedicated listings, `is_public` controls whether the listing is
publicly accessible.

`closed_source` and `allow_truss_download` control artifact access, not customer
availability. Closed-source Dedicated listings prevent customers from viewing
or downloading the Truss and weights. The [Baseten Delivery
Network](/development/model/bdn) delivers model weights to customer deployments
without exposing source credentials, and Baseten blocks API operations that
expose artifacts. For Dedicated deployments, customers cannot view the Truss
configuration, download artifacts, run [`truss push`](/reference/cli/truss/push),
use SSH, or change the instance type. Set `closed_source` when you create a
Dedicated listing and keep `allow_truss_download` set to `false` for each
published version.

## Next steps

* **[Manage your model](/labs/platform/manage)**: Create a Dedicated listing or Model API endpoint and complete the assisted setup.
* **[Report usage](/labs/platform/usage-reporting)**: Report billable usage that the gateway cannot meter.
* **[Give customers access](/labs/platform/access)**: Understand customer activation and limits.
* **[Insights](/labs/platform/insights)**: Track customers, models, and proceeds.
