# Get Account Info

Source: [Get Account Info](https://developer.beeble.ai/docs/api-reference/account/get-account-info)

`GET /v1/account/info`
Get account metadata and current rate limit usage.

# Get Billing Info

Source: [Get Billing Info](https://developer.beeble.ai/docs/api-reference/account/get-billing-info)

`GET /v1/account/billing`
Get billing period details and per-meter usage breakdown.

# Get Job Status

Source: [Get Job Status](https://developer.beeble.ai/docs/api-reference/switchx/get-job-status)

`GET /v1/switchx/generations/{job_id}`
Poll the status of a SwitchX job.

# List Jobs

Source: [List Jobs](https://developer.beeble.ai/docs/api-reference/switchx/list-jobs)

`GET /v1/switchx/generations`
List your SwitchX jobs with cursor-based pagination.

# Start Generation

Source: [Start Generation](https://developer.beeble.ai/docs/api-reference/switchx/start-generation)

`POST /v1/switchx/generations`
Start a SwitchX compositing job.

# Create Upload URL

Source: [Create Upload URL](https://developer.beeble.ai/docs/api-reference/uploads/create-upload-url)

`POST /v1/uploads`
Create a presigned upload URL for a media file.

# Authentication

Source: [Authentication](https://developer.beeble.ai/docs/authentication)

How to obtain and use your Beeble API key.

## Getting Your API Key

Go to [developer.beeble.ai/api-keys](https://developer.beeble.ai/api-keys).

Sign up and accept the terms if you don't have an account.

Click **Create Key** to generate a new key.

Copy and securely store your API key immediately. For security reasons, you won't be able to view it again.

Your API key will only be displayed once upon creation. Make sure to copy and store it in a secure location before closing the dialog.

## Using Your API Key

Include your API key in the `x-api-key` header with every request:

```bash
curl -X POST https://api.beeble.ai/v1/uploads \
 -H "x-api-key: YOUR_API_KEY" \
 -H "Content-Type: application/json" \
 -d '{"filename": "source.mp4"}'
```

```python
import requests

response = requests.post(
 "https://api.beeble.ai/v1/uploads",
 headers={
 "x-api-key": "YOUR_API_KEY",
 "Content-Type": "application/json"
 },
 json={"filename": "source.mp4"}
)
```

```javascript
const response = await fetch("https://api.beeble.ai/v1/uploads", {
 method: "POST",
 headers: {
 "x-api-key": "YOUR_API_KEY",
 "Content-Type": "application/json",
 },
 body: JSON.stringify({ filename: "source.mp4" }),
});
```

## Revoking Your API Key

If you need to revoke your API key:

1. Go to [Developer Page](https://developer.beeble.ai/api-keys)
2. Click the **Revoke** button next to your API key
3. Confirm the revocation

After revoking your API key, all requests using that key will be rejected. You can issue a new key at any time.

# Brand Attribution

Source: [Brand Attribution](https://developer.beeble.ai/docs/brand-attribution)

Attribution requirements and branding assets for applications using the Beeble SwitchX API.

Unless explicitly waived in a written Scale/Enterprise Agreement, any public-facing application utilizing the Beeble SwitchX API must include a "Powered by SwitchX" (or "Powered by Beeble") logo and text attribution. This attribution must be clearly visible in the primary user interface where the API's output is displayed and must comply with Beeble's Brand Guidelines.

[Download Brand Kit ↓](https://developer.beeble.ai/assets/Beeble_Brand_Kit.zip)

For Scale or Enterprise inquiries, contact [support@beeble.ai](mailto:support@beeble.ai).

# Errors

Source: [Errors](https://developer.beeble.ai/docs/errors)

Error codes and error response format.

## Error Response Format

All errors follow this format:

```json
{
 "error": {
 "message": "Human-readable error description",
 "code": "ERROR_CODE"
 }
}
```

| Field    | Type   | Description                                              |
|----------|--------|---------------------------------------------------------|
| `message`| string | Human-readable description of the error                  |
| `code`   | string | Machine-readable error code                             |

## Error Codes

### Validation Errors (400)

Returned when request parameters are invalid or missing.

| Code                        | Description                                                                                       |
|----------------------------|---------------------------------------------------------------------------------------------------|
| `INVALID_GENERATION_TYPE`  | `generation_type` must be `
