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

> ## Agent Instructions
> Public hosts only: console https://omnimux.ai/dashboard · API https://api.omnimux.ai · docs https://docs.omnimux.ai.
> Gateway auth is Authorization: Bearer sk-… on https://api.omnimux.ai/v1 (OpenAI-compatible Chat Completions and related paths).
> Discover pages from /llms.txt; full site dump /llms-full.txt; product skill /skill.md; docs search MCP /mcp. Prefer .md page URLs for Markdown.
> Default docs locale is en; zh mirrors the same relative paths. Do not invent model ids not present on live pricing or the complete API pages.

# Media Presign

> Media presign

* Social **publishing** user API (not `sk-` social-data read)
* Base: `https://omnimux.ai`; auth access token + `New-Api-User`
* Connecting Accounts naming matches Zernio

## Identity

| Field      | Value      |
| ---------- | ---------- |
| Series     | Publishing |
| Capability | Presign    |

## Endpoint

| Method | Path                           |
| ------ | ------------------------------ |
| `POST` | `/api/social/v1/media/presign` |

Base URL: `https://omnimux.ai`

## Authorizations

| Name            | In     | Type   | Required | Description             |
| --------------- | ------ | ------ | -------- | ----------------------- |
| `Authorization` | header | string | yes      | `Bearer <access_token>` |
| `New-Api-User`  | header | string | yes      | Current user id         |

## Body / parameters

Follow the right-rail cURL. Fields differ by resource (connect / posts / media).

## Response

### 200

| Field     | Type    | Description  |
| --------- | ------- | ------------ |
| `success` | boolean | Success flag |
| `data`    | object  | Payload      |

Errors: right rail and [Error codes](/en/faqs/connection-usage).

<Panel>
  <RequestExample>
    ```bash cURL theme={null}
    curl --request POST \
      --url https://omnimux.ai/api/social/v1/media/presign \
      --header 'Authorization: Bearer <access_token>' \
      --header 'New-Api-User: <user_id>' \
      --header 'Content-Type: application/json' \
      --data '{"filename":"a.png","contentType":"image/png"}'
    ```
  </RequestExample>

  <ResponseExample>
    ```json 200 theme={null}
    {"success":true,"data":{"upload_url":"https://...","public_url":"https://..."}}
    ```

    ```json 401 theme={null}
    {
      "success": false,
      "message": "Unauthorized"
    }
    ```

    ```json 402 theme={null}
    {
      "success": false,
      "message": "Insufficient quota. Please top up your account."
    }
    ```

    ```json 403 theme={null}
    {
      "success": false,
      "message": "Forbidden"
    }
    ```

    ```json 404 theme={null}
    {
      "success": false,
      "message": "Not found"
    }
    ```

    ```json 429 theme={null}
    {
      "success": false,
      "message": "Rate limit exceeded"
    }
    ```

    ```json 500 theme={null}
    {
      "success": false,
      "message": "Internal server error"
    }
    ```
  </ResponseExample>
</Panel>
