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

# Tool catalog

> Discover APOB MCP tools, account-specific defaults, and the workflow for asynchronous generation.

Use `tools/list` after [connecting with OAuth](/mcp/overview). It returns the
tool descriptions and input schemas for the authenticated account. Call a tool
with `tools/call`, passing its exact name and an `arguments` object.

Tool calls derive the caller from the OAuth token and recheck the active account.
Resource ownership, visibility, moderation, account eligibility, and credit rules
still apply. Provide only the documented arguments.

## Available tools

| Family | Tools | Reference |
| - | - | - |
| New images | `create_image`, `create_portrait_master` | [Generation](/mcp/generation) |
| Image editing and cloning | `edit_image`, `clone_image` | [Generation](/mcp/generation) |
| New videos and continuation | `create_image_to_video`, `create_text_to_video`, `extend_video` | [Generation](/mcp/generation) |
| Video cloning and editing | `clone_video`, `edit_character`, `edit_motion`, `edit_everything` | [Generation](/mcp/generation) |
| Speech-driven video | `talking_avatar`, `lip_sync` | [Generation](/mcp/generation) |
| Generation results | `get_generation_result` | [Generation](/mcp/generation#results-and-errors) |
| Personal library | `list_personal_models`, `list_personal_medias` | [Library and elements](/mcp/library-and-elements) |
| Character model creation | `create_model`, `get_model_status` | [Library and elements](/mcp/library-and-elements#character-models) |
| Elements | `list_elements`, `get_element`, `create_element`, `update_element`, `set_element_visibility`, `delete_element` | [Library and elements](/mcp/library-and-elements#elements) |
| Media preparation | `import_file`, `prepare_file_upload`, `complete_file_upload` | [Uploads and Live](/mcp/uploads-and-live) |
| Live generation | `create_live_room`, `create_live_scene`, `vote_live_scene` | [Uploads and Live](/mcp/uploads-and-live#live-tools) |
| Billing | `list_billing_products`, `get_billing_account`, `prepare_billing_action`, `get_billing_action` | [Billing](/mcp/billing) |

These tools cover the current MCP surface. For additional reviewed workflows,
see the [GraphQL API reference](/api-reference/overview).

## Account-specific defaults

Generation schemas and omitted arguments use the current account's defaults.
Call `tools/list` again when account status changes. Defaults fill absent fields;
they do not replace explicit values, including `false`, empty arrays, or invalid
values. Omit optional fields instead of sending `null`, except where the tool
explicitly permits a nullable `modelId`.

| Tool | Free account | Paid account | Other omitted values |
| - | - | - | - |
| `create_image` | `ultra` | `ultra4k` | Ratio `9:16`; `numSamples: 2` |
| `create_image_to_video` | `high`, `SD` | `ultraS`, `HD` | `durationMs: 5000`; `enableBgm: true` |
| `create_text_to_video` | `high`, `SD` | `ultraS`, `HD` | Ratio `9:16`; `durationMs: 5000`; `enableBgm: true` |
| `extend_video` | `high`, `HD` | `ultraS`, `HD` | `extendDurationMs: 5000`; `enableBgm: true` |
| `edit_image` | `ultra` | `ultra` | Omitted dimensions preserve the source ratio |
| `clone_image` | `ultraS` | `ultraS` | Preserve `outfit`, `pose`, `background`; omitted dimensions preserve the source ratio |
| `clone_video` | `best`, `SD` | `ultraS`, `HD` | Preserve `outfit`, `background`, `style`, `motion`, `product` |
| `edit_character` | `best`, `SD` | `ultraS`, `HD` | Optional prompt |
| `edit_motion` | `best`, `SD` | `ultraS`, `FHD` | Optional prompt |
| `edit_everything` | `best`, `SD` | `ultraS`, `HD` | Prompt required |
| `talking_avatar` | `best`, `HD` | `best`, `HD` | Explicit `ultra` defaults to `FHD` |
| `lip_sync` | `FHD` | `FHD` | Audio or paired voice model and script required |

Each quality/resolution pair in the table lists `outputQuality` then `resolution`.
If a free account explicitly selects a video quality that cannot use the default
`SD`, omitted resolution becomes `HD`. For `edit_motion`, explicit `ultraS` uses
`FHD` on either account type. Valid explicit overrides remain supported; quality
changes can alter duration and reference limits.

`width` and `height` are aspect-ratio components where exposed, with supported
pairs `(9,16)`, `(3,4)`, `(1,1)`, `(4,3)`, and `(16,9)`. Supply both dimensions
when overriding a ratio.

## Submit once, then read

<Steps>
  <Step title="Prepare the inputs">
    Discover models and elements, or [upload/import media](/mcp/uploads-and-live).
    For `create_image`, read the image prompt resource described in
    [Generation](/mcp/generation#image-prompt-resource).
  </Step>

  <Step title="Submit and save the receipt">
    Review the requested work and its credit effects. Generation calls return
    `taskId`, `contentId`, `status`, and `terminal`. Save the receipt immediately.
  </Step>

  <Step title="Follow the existing task">
    Call `get_generation_result` with `taskId` until terminal. Use spaced reads
    and a bounded waiting policy. A client timeout does not cancel the task.
    Model creation instead uses `get_model_status` with `modelId`.
  </Step>

  <Step title="Retrieve completed outputs">
    Successful content completion exposes permitted temporary output URLs.
    Inspect and download the media while those URLs are valid; read the result
    again when you need fresh URLs.
  </Step>
</Steps>

<Warning>
  Generation, Live mutations, model creation, and billing actions are
  non-idempotent. They may consume credits or charge a saved payment method.
  Do not repeat a successful submission or automatically retry an uncertain
  result. Reconcile the existing task, account history, room, or payment first.
</Warning>

Successful tools return public JSON in both `structuredContent` and a text
content block. Tool failures return `isError: true` and text describing the
failure. Inspect the MCP tool result even when the HTTP request succeeds.

The retryable completion of an already prepared upload is a specific exception:
use the same `uploadId` as documented in [Uploads and Live](/mcp/uploads-and-live).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.