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

> ## Agent Instructions
> This site documents two API families. Choose the family before generating integration code and keep its request fields, billing, statuses, responses, and webhooks together.
> SwitchX API: POST /v1/switchx/generations; use /quickstart and /authentication. Completed generation files are under output.
> Enterprise API: POST /v1/products/{product}/jobs and GET /v1/product-jobs/{job_id}; use /enterprise/quickstart and /products. Check /enterprise for current access requirements. Completed product files are under outputs.
> For product jobs, fetch model-specific input_schema from GET /v1/products/{product}/models. OpenAPI defines the common job response; product guides show illustrative completed outputs. Do not treat output examples as exhaustive schemas.
> SwitchX 2.0 Finish uses the separate switchx_finish product and model_id switchx-2.0. Follow /products/switchx-finish: pass inputs.parent_job_id (a completed Standard switchx product generation's public dap_ ID owned by the same key owner, organization, and team) and inputs.target_resolution (1080 or 2160), without uploading media. Fast results, Finish results, and legacy SwitchX API generations cannot be parents. Estimate the transition, then submit and poll the new child ID; result files are under outputs.
> For product APIs, authenticate with an Organization API Key in x-api-key and keep the same organization and X-Beeble-Team-Id context for uploads, estimates, submissions, and reads. Use Beeble Cloud credits; product routes do not support USD.
> Follow /enterprise/llms-txt for the product API workflow: discover products and models, upload media, estimate credits, submit with an idempotency_key, and poll or receive webhooks. On an uncertain submission, retry the same body and key; do not create a replacement job.
> Product-job success is status=success; stop polling on failed, cancelled, or credit_required. Use the chosen product guide for completed response examples and download fields. Refer to /enterprise/errors, /enterprise/rate-limits, /guides/billing, and /guides/jobs for failures, limits, and refunds.

# llms.txt

> AI documentation covering SwitchX API and Enterprise API.

Both files cover **SwitchX API** and **Enterprise API**, regardless of the
documentation selector. They are generated from the published documentation.

## Available Files

<CardGroup cols={2}>
  <Card title="llms.txt" icon="robot" href="https://developer.beeble.ai/docs/llms.txt">
    Concise index of all documentation pages with summaries. Use this for quick
    context and discovery.
  </Card>

  <Card title="llms-full.txt" icon="file-lines" href="https://developer.beeble.ai/docs/llms-full.txt">
    Full documentation content in a single file. Use this when you need complete
    API details.
  </Card>
</CardGroup>

## Choose the API context

| Documentation  | Create a job                       | Get started                                                         |
| -------------- | ---------------------------------- | ------------------------------------------------------------------- |
| SwitchX API    | `POST /v1/switchx/generations`     | [Quickstart](/docs/quickstart) · [Authentication](/docs/authentication)       |
| Enterprise API | `POST /v1/products/{product}/jobs` | [Quickstart](/docs/enterprise/quickstart) · [Product catalog](/docs/products) |

Tell your AI tool which API you are using. Keep that API's request fields,
billing, job statuses, response format, and webhooks together. Product job
results use `outputs`; SwitchX generation results use `output`.

## Product API workflow

Give your AI tool the [Quickstart](/docs/enterprise/quickstart) and the guide for your
[chosen product](/docs/products), then follow this order:

1. **Authenticate:** create an [Organization API Key](/docs/enterprise/authentication)
   and send `x-api-key`. Keep the same organization and internal team for uploads and jobs.
2. **Discover:** use `GET /v1/products` and `GET /v1/products/{product}/models`.
   Build `inputs` from the selected model's `input_schema`; do not invent model IDs or fields.
3. **Prepare and estimate:** pass a Beeble URI, authorized CDN URL, public/presigned
   HTTPS URL, or base64 data URI in each supported media field. Follow the
   [media limits](/docs/guides/uploads#choose-a-media-input), including the 50 MiB decoded
   data URI limit and model-specific requirements. Supported audio references
   also accept these forms. [Estimate credits](/docs/guides/billing#estimate-before-submitting)
   before submission; estimates may store imported files without charging.
   Keep external URLs readable with unchanged contents through both calls.
4. **Submit:** use a unique `idempotency_key` for each new job. On an uncertain
   result, [retry with the same key and body](/docs/guides/jobs#safe-retries).
5. **Retrieve:** poll `GET /v1/product-jobs/{job_id}` until `success`, or use
   [webhooks](/docs/enterprise/webhooks). Download the fields shown in the product's completed response.

The [request schema](/docs/enterprise/schemas/product-job-request) and
[response schema](/docs/enterprise/schemas/product-job) define the common job structure.
Product output examples are illustrative, not exhaustive schemas. Product jobs
use Beeble Cloud credits; check the [Overview](/docs/enterprise) for current availability.

## SwitchX 2.0 Finish

For a higher-resolution version of a completed SwitchX 2.0 product
result, follow [SwitchX 2.0 Finish](/docs/products/switchx-finish). Use product
`switchx_finish`, model `switchx-2.0`, and only `parent_job_id` plus
`target_resolution` inside `inputs`; no upload is needed. The parent must be a
public `dap_…` generation owned by the same key owner, organization, and team.
Finish results and legacy `/v1/switchx/generations` jobs cannot be parents.

Supported transitions are 720 → 1080, 720 → 2160, and 1080 → 2160, subject to
source-size limits. Estimate the transition before submitting, keep the same
body and idempotency key on uncertain retries, and retrieve `outputs` from the
**new child job ID**, not the parent.

## OpenAPI Specification

For programmatic API client generation or tool integrations (MCP, Cursor, etc.), the OpenAPI spec is available at:

```
https://api.beeble.ai/developer-api-docs/openapi.json
```
