# Delete an asset Source: https://docs.protoface.com/api-reference/assets/delete-an-asset /openapi.json delete /v1/assets/{asset_id} Permanently delete an asset's stored content. This is irreversible. Every stored version of the content is erased rather than hidden, so the bytes cannot be recovered afterwards. The asset record is retained with a `deleted` status and its usage and billing history stay intact, but the content is no longer downloadable. Deleting an asset that is already deleted succeeds and does nothing. Returns `409` when work that is still in progress needs the content — either as an input to it, or as the output it is still producing — or when the content is shared with another resource, in which case delete that resource instead. # List assets Source: https://docs.protoface.com/api-reference/assets/list-assets /openapi.json get /v1/assets # Retrieve an asset Source: https://docs.protoface.com/api-reference/assets/retrieve-an-asset /openapi.json get /v1/assets/{asset_id} # Retrieve asset content Source: https://docs.protoface.com/api-reference/assets/retrieve-asset-content /openapi.json get /v1/assets/{asset_id}/content # Upload an asset Source: https://docs.protoface.com/api-reference/assets/upload-an-asset /openapi.json post /v1/assets # Create a custom avatar from an image Source: https://docs.protoface.com/api-reference/avatars/create-a-custom-avatar-from-an-image /openapi.json post /v1/avatars Upload a portrait image to build a custom avatar. Returns the avatar in `processing`; poll `GET /v1/avatars/{id}` until it is `ready` (or `failed`). `multipart/form-data`: `image` (PNG/JPEG), and optional `name`. Avatar rendering is configured automatically. # Delete an avatar Source: https://docs.protoface.com/api-reference/avatars/delete-an-avatar /openapi.json delete /v1/avatars/{avatar_id} Delete a custom avatar and permanently remove its uploaded source image and built assets. The avatar disappears from listings and can no longer run sessions; past session and usage records are kept. Platform stock avatars cannot be deleted. # List avatars Source: https://docs.protoface.com/api-reference/avatars/list-avatars /openapi.json get /v1/avatars List avatars available to the calling org. Includes platform-built-in stock avatars (e.g. `av_stock_001`) and any customer-uploaded avatars. # Retrieve an avatar Source: https://docs.protoface.com/api-reference/avatars/retrieve-an-avatar /openapi.json get /v1/avatars/{avatar_id} Return a single avatar by id. # Get quota limits Source: https://docs.protoface.com/api-reference/billing/get-quota-limits /openapi.json get /v1/billing/quota Return the calling org's current credit balance and low-balance threshold so API clients can warn before credits run out. # List billing plans Source: https://docs.protoface.com/api-reference/billing/list-billing-plans /openapi.json get /v1/billing/plans Return the current Protoface billing plan catalog. This endpoint is unauthenticated so signup and pricing UI can render the same catalog used by checkout and enforcement. # API Reference Source: https://docs.protoface.com/api-reference/index Authentication, conventions, and endpoints for the Protoface REST API. Everything lives under `https://api.protoface.com/v1`. Media generation is `POST /v1/run/{model_id}` and `GET /v1/runs/{id}`. Live avatars start at `POST /v1/sessions`. Authenticate with a Protoface API key: ```http theme={null} Authorization: Bearer sk_live_... ``` Agora Generic Avatar endpoints `POST /v1/agora/session/start` and `DELETE /v1/agora/session/stop` use `X-API-Key: sk_live_...` with the full secret. See [Agora authentication](/guides/authentication#agora). Create and manage keys in [app.protoface.com](https://app.protoface.com). One key covers inference and Realtime. A `401` with `error.code: "missing_authorization"` means the Authorization header did not parse; [Authentication](/guides/authentication) covers troubleshooting, the other auth codes, and scopes. ## Conventions * IDs are prefixed strings such as `run_...`, `sess_...`, `asset_...`, and `av_...`. Model IDs are the exception: `publisher/model`, which doubles as the run path. * Timestamps are ISO-8601 UTC strings. * List endpoints use cursor pagination with `limit` and `starting_after`. * Error responses use the envelope described in [Errors](/reference/errors), where `error.code` is the field to branch on. * `POST /v1/run/{model_id}` and `POST /v1/sessions` accept an `Idempotency-Key` for safe retries, reused only for an unchanged body. [Runs](/guides/runs#idempotency) covers the rules. # List models Source: https://docs.protoface.com/api-reference/models/list-models /openapi.json get /v1/models # Retrieve a model Source: https://docs.protoface.com/api-reference/models/retrieve-a-model /openapi.json get /v1/models/{model_id} # Create a Pipecat avatar media session Source: https://docs.protoface.com/api-reference/pipecat/create-a-pipecat-avatar-media-session /openapi.json post /v1/pipecat/sessions Start a Protoface avatar session for Pipecat. The response contains short-lived WebSocket media credentials used by the `pipecat-protoface` package. # Platform status roll-up Source: https://docs.protoface.com/api-reference/platform/platform-status-roll-up /openapi.json get /v1/status Public status of the Protoface platform. Polled by the status page and operator dashboards. Unauthenticated. # Cancel a run Source: https://docs.protoface.com/api-reference/runs/cancel-a-run /openapi.json post /v1/runs/{run_id}/cancel Call off a run. Queued work is refunded; running work is charged in full. Cancelling twice is not an error, so a client that lost the first response can retry without having to know whether it landed. # Delete a run's content Source: https://docs.protoface.com/api-reference/runs/delete-a-runs-content /openapi.json delete /v1/runs/{run_id} Tombstone the run and enqueue irreversible content purge. The run id stays listable with empty content so deletion is auditable. Billing rows are not removed. Enterprise accounts only. # List run events Source: https://docs.protoface.com/api-reference/runs/list-run-events /openapi.json get /v1/runs/{run_id}/events # List runs Source: https://docs.protoface.com/api-reference/runs/list-runs /openapi.json get /v1/runs # Poll run status Source: https://docs.protoface.com/api-reference/runs/poll-run-status /openapi.json get /v1/runs/{run_id}/status # Retrieve a run Source: https://docs.protoface.com/api-reference/runs/retrieve-a-run /openapi.json get /v1/runs/{run_id} # Retrieve a run deletion receipt Source: https://docs.protoface.com/api-reference/runs/retrieve-a-run-deletion-receipt /openapi.json get /v1/runs/{run_id}/deletion # Submit a run Source: https://docs.protoface.com/api-reference/runs/submit-a-run /openapi.json post /v1/run/{model_id} # Create a session Source: https://docs.protoface.com/api-reference/sessions/create-a-session /openapi.json post /v1/sessions Allocate a worker and begin a realtime avatar session. Returns immediately with `status: queued`; poll `GET /v1/sessions/{id}` (or wait for the `session.first_frame` webhook) to see the worker pick the job up. Sessions count against your plan's concurrency cap; a 503 response with `code=at_capacity` and a `Retry-After` header means there are no free workers right now. # End a session Source: https://docs.protoface.com/api-reference/sessions/end-a-session /openapi.json post /v1/sessions/{session_id}/end Terminate a session immediately. Idempotent: calling on an already-terminal session returns 200 with the existing state. The session transitions to `canceled` if it had not yet started, or `ending` (then `ended` once the worker drains) if it was running. # List sessions Source: https://docs.protoface.com/api-reference/sessions/list-sessions /openapi.json get /v1/sessions List sessions for the calling org, newest first. Repeatable `status` filters OR together; the group aliases `active` and `terminal` expand to the underlying status set. `created_after` / `created_before` accept ISO-8601 UTC. Paginate with `limit` + `starting_after=`. # Retrieve a session Source: https://docs.protoface.com/api-reference/sessions/retrieve-a-session /openapi.json get /v1/sessions/{session_id} Return the current state of a session, including timing and usage counters. # Get usage summary Source: https://docs.protoface.com/api-reference/usage/get-usage-summary /openapi.json get /v1/usage Return aggregated usage for the calling org over a time range. Pass either `period=current_month` (or `previous_month`) for convenience, **or** an explicit `period_start` / `period_end` pair. The two modes are mutually exclusive. # Assets Source: https://docs.protoface.com/guides/assets Upload a file once and reuse it across generations. An asset is a file you upload once and then pass into any generation by its `asset_...` ID. Completed runs return an `asset_id` on every file output, so chaining one generation into the next never requires downloading the result first. ## Upload `POST /v1/assets` takes `multipart/form-data` with `file` and `modality`. Uploads cap at 100 MB and accept image, audio, video, JSON, and binary model artifacts. `schema_uri` and `duration_ms` are optional form fields. ```bash theme={null} curl -X POST https://api.protoface.com/v1/assets \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ -F "file=@reference.png;type=image/png" \ -F "modality=image" ``` Success returns `201` and the ID. ```json theme={null} { "id": "asset_...", "object": "asset", "modality": "image", "media_type": "image/png", "status": "ready", "download_url": "https://..." } ``` A run accepts the ID once `status` reads `ready`. The ID goes in whichever field the model uses for that input. In the example below, MiniMax H3 calls that field `first_frame`. ```bash theme={null} curl -X POST https://api.protoface.com/v1/run/minimax/minimax-h3 \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "The ceramic lamp turns slowly under a single studio light.", "duration_seconds": 8, "quality": "768p", "aspect_ratio": "16:9", "first_frame": "asset_..." }' ``` Field names vary by model. `GET /v1/models/{model_id}` lists them. Uploads fail for three reasons. An empty file returns `error.code: "asset.empty"`. A file over the size cap returns `error.code: "asset.too_large"`. A media type Protoface does not handle returns `error.code: "asset.media_type_unsupported"`. ## Manage assets Assets paginate like runs, with `limit` and `starting_after`. Retrieve one to inspect it, pull raw bytes from `/content`, or delete it. Deletion makes the asset unavailable to future runs and leaves historical records intact. ```bash theme={null} curl "https://api.protoface.com/v1/assets?limit=20" \ -H "Authorization: Bearer $PROTOFACE_API_KEY" curl https://api.protoface.com/v1/assets/asset_... \ -H "Authorization: Bearer $PROTOFACE_API_KEY" curl https://api.protoface.com/v1/assets/asset_.../content \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ -o reference.png curl -X DELETE https://api.protoface.com/v1/assets/asset_... \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` # Authentication Source: https://docs.protoface.com/guides/authentication API keys, scopes, and where to keep them. Most requests need an API key sent as a Bearer token. A key created in the [dashboard](https://app.protoface.com) is a production key for `https://api.protoface.com`, ready to use without an activation step or an environment switch. One key covers both media generation and realtime sessions. The full secret is shown once when you create the key. Save it then. The key list later shows only `sk_live_` plus the last four characters, such as `sk_live_ABCD`. This short identifier cannot authenticate. `sk_live_` is the only customer API key prefix; it does not indicate that a request has authenticated successfully. ```http theme={null} Authorization: Bearer sk_live_... ``` Only `GET /v1/status` and `GET /v1/billing/plans` do not require a key. Most other `/v1` calls use the Bearer header above; [Agora](#agora) uses `X-API-Key`. Keep the full secret in the environment. Replace `sk_live_...` in examples with that secret. ```bash theme={null} export PROTOFACE_API_KEY="sk_live_..." ``` ## Test your key `GET /v1/models` returns `200` for a working key. Your plan and credit balance do not gate this call, including on the Free plan. Insufficient credits on a billable call return `402`, not an authentication error. ```bash theme={null} curl https://api.protoface.com/v1/models \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` The `-H` line is required. A bare `GET https://api.protoface.com/v1/models` without the header returns `401` with `error.code: "missing_authorization"`. ## Agora Agora Generic Avatar endpoints `POST /v1/agora/session/start` and `DELETE /v1/agora/session/stop` use the same full API key in a different header: ```http theme={null} X-API-Key: sk_live_... ``` Send the secret directly as the header value, without a `Bearer` scheme. An absent or empty `X-API-Key` returns `401` with `error.code: "missing_api_key"`, even if an Authorization header is present. ## Troubleshoot authentication Use the stable `error.code` to choose the next step: | `error.code` | HTTP | What to check | | - | - | - | | `missing_authorization` | 401 | A Bearer header is absent or malformed. Check that the request actually sends `Authorization: Bearer` followed by the full secret, rather than the short dashboard identifier or a placeholder. The key has not been looked up. | | `missing_api_key` | 401 | An Agora call has no `X-API-Key` value. Send the full secret in that header. | | `api_key.unknown` | 401 | The supplied API key did not match a key. Check the saved full secret and the header required by this endpoint. | | `api_key.revoked` | 401 | The key was revoked. Use an active key. | | `api_key.expired` | 401 | The key expired. Use an unexpired key. | | `api_key.environment` | 401 | The key belongs to a different environment than the host. Use a key from `app.protoface.com` with `api.protoface.com`. | | `org.suspended` | 403 | The account is suspended. | | `api_key.scope_required` | 403 | The key is valid but lacks the scope required by this call. See [Scopes](#scopes). | Rotating keys does not fix `missing_authorization` if the request still sends a missing or malformed header. Check the outgoing request in the process making the call, including whether a proxy or redirect removes the header. Inspect it locally with the secret redacted; do not share the secret or an unredacted request with support. Include the `request_id` if you need help. [Authentication codes](/reference/errors#authentication-codes) lists the exact parsing conditions. `error.message` provides readable context, but its wording can change. ## Scopes A key is either unrestricted, with access to the whole API, or limited to named scopes. Generating media needs both scopes below, since creating a run and reading its result are separate permissions. | Scope | Access | | - | - | | `runs:write` | Create and cancel runs | | `runs:read` | List runs, poll status, retrieve results | A valid key without the required scope returns `403` with `error.code: "api_key.scope_required"`. ## Browsers and embeds Keep API keys server-side. Anything shipped to a browser is readable. [Embeds](/guides/embeds) let a visitor reach an avatar directly, using a public embed ID (`emb_...`) that carries no account access. # Source images Source: https://docs.protoface.com/guides/avatar-source-images Portrait requirements for a successful avatar build. An avatar builds from a single still: a real person, an animated or generated character, a mascot, or something synthetic. What decides whether the build succeeds is not realism but whether face detection can find a complete set of features. ## Requirements Upload a PNG or JPEG meeting all of the following. * One face in the frame, with nothing else competing for attention. * A face or face-like structure looking directly at the camera, with both eyes visible. * A distinct nose or nose bridge, and a visible mouth, chin, cheeks, and forehead. * A face large enough to inspect, with room around the head so nothing is cut off. * Even lighting across the face. * A clean image, without UI, stickers, text, or a watermark over it. Stylized, mascot, and synthetic subjects qualify on the same terms: two eyes, a nose area, a mouth, a chin or jaw, and a head near the middle of the frame. ## What works Good ![Centered forward-facing real portrait with even lighting](/images/avatar-source-guide/good.webp) Distinct centered face Good ![Centered forward-facing animated character with visible eyes, nose, mouth, chin, and forehead](/images/avatar-source-guide/good-animated.png) Distinct stylized face Good ![Centered forward-facing mascot with a clear face-like structure](/images/avatar-source-guide/good-animal.png) Clear face features Good ![Centered forward-facing synthetic character with distinct eyes, nose, mouth, chin, and forehead](/images/avatar-source-guide/good-synthetic.png) Distinct synthetic face ## What fails Each of these hides the face in a different way, and any one of them is enough to stop a build. Avoid ![Cropped portrait with the face partially obscured](/images/avatar-source-guide/bad-cropped.webp) Face cropped or covered Avoid ![Side-profile portrait where the face is turned away](/images/avatar-source-guide/bad-side-profile.jpg) Face turned away Avoid ![Portrait with harsh backlighting and deep face shadows](/images/avatar-source-guide/bad-harsh-lighting.jpg) Face in shadow Avoid ![Full-body animal side view with no distinct front-facing face](/images/avatar-source-guide/bad-animal-full-body.png) Face too small to read Avoid ![Synthetic character with a screen face and no distinct nose, mouth, chin, or forehead](/images/avatar-source-guide/bad-screen-face.png) No normal face features Avoid ![Animated image with multiple faces, cropped faces, and covered facial features](/images/avatar-source-guide/bad-animated-multiple.png) Multiple unclear faces ## By subject Each kind of subject meets those requirements differently. ### Real people Use a head-and-shoulders portrait with the person centered and looking forward. The eyes, nose, mouth, chin, and forehead should all be visible, and a neutral or slightly smiling expression works best. Avoid sunglasses, masks, hands on the face, heavy hair over the eyes, strong backlight, motion blur, and tight crops. ### Animated or generated characters Animated and AI-generated characters work well when they are composed like a portrait photo. Use one character, front-facing and centered, with clear eyes, nose, mouth, chin, forehead, and a symmetrical head shape. Avoid action scenes, crowd shots, partial faces, dramatic camera angles, and props covering the face. ### Animal or mascot characters Animal and mascot avatars work best as a human-like mascot portrait rather than a normal pet photo. Use a front-facing character with large visible eyes, a centered snout or nose, a clear mouth, cheeks, a chin or jaw shape, and a head-and-shoulders crop. Avoid full-body animals, side views, tiny faces, busy outdoor backgrounds, and pets holding toys in their mouth. ### Synthetic characters Synthetic characters work best with a human-like or mascot-like face layout. Use a character with two visible eyes, a nose bridge or nose-like shape, a mouth, chin, forehead, and a symmetrical head. Avoid screen-only faces, black visors, helmets with no visible facial structure, reflective masks, and abstract heads. ## If a build fails An avatar at `status: "failed"` carries the reason on `failure_reason`. When no face was detected, the fix is usually a clearer front-facing source with stronger facial structure, not a different subject. For stylized, mascot, and synthetic characters, make each attempt more portrait-like: visible eyes, a nose area, a mouth, a chin, and a forehead, with nothing hiding or competing with the face. When an image qualifies, upload it with [Create an avatar](/guides/avatars#create-an-avatar). # Avatars Source: https://docs.protoface.com/guides/avatars Create, list, and use avatars in realtime sessions. Every realtime session runs one avatar. Start with the stock avatar `av_stock_001` while you validate session creation and media routing, then switch to a custom avatar built from the dashboard or the API. Building is asynchronous. You upload a PNG or JPEG portrait, and the avatar must reach `status: "ready"` before a session accepts it. [Source images](/guides/avatar-source-images) has examples of portraits that build and ones that fail. ## Create an avatar ```bash theme={null} curl -X POST https://api.protoface.com/v1/avatars \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ -F "image=@portrait.png" \ -F "name=Demo Avatar" ``` The portrait needs one clearly visible, forward-facing face or face-like subject. Avoid heavy occlusion, extreme crops, harsh lighting, and multiple faces. A `"failed"` build puts the reason on `failure_reason`. ## List avatars ```bash theme={null} curl https://api.protoface.com/v1/avatars \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` ## Retrieve an avatar ```bash theme={null} curl https://api.protoface.com/v1/avatars/av_... \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` Poll this endpoint until `status` reaches `ready` or `failed`. ## Use an avatar Pass a ready avatar ID into the LiveKit plugin: ```python theme={null} from livekit.plugins import protoface avatar = protoface.AvatarSession(avatar_id="av_stock_001") ``` The avatar starts before the agent session. Once running, `avatar.session_id` holds the Protoface `sess_...` ID, and `GET /v1/sessions/{id}` reports `status` and `usage`. End it with `await avatar.aclose()` or `POST /v1/sessions/{id}/end`. [LiveKit Agents](/guides/livekit-agents) covers the plugin in full. Without the plugin, the avatar ID goes to `POST /v1/sessions` as `avatar_id`. The request shape is in [API Reference](/api-reference). ## Delete an avatar ```bash theme={null} curl -X DELETE https://api.protoface.com/v1/avatars/av_... \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` Deleting a custom avatar removes its source image and built assets. Past session and usage records remain. Stock avatars cannot be deleted. # Compliance Source: https://docs.protoface.com/guides/compliance Enterprise data retention and deletion controls. > [!NOTE] > > Everything on this page applies to enterprise accounts only. ## Custom Data Retention In the dashboard, open **Settings → Enterprise** and set the **Data retention period (days)**. This controls the number of days that model-call data is retained for new API runs. Clear the value to turn off automatic deletion. ### Realtime These model-call retention controls do not apply to the Realtime API. ## Zero Data Retention The [Deletion API](/api-reference/runs/delete-a-runs-content) lets you delete a run's prompts, request content, and generated assets. Retrieve the outputs you need, then request deletion as soon as generation finishes to minimize retention of model-call content. Check the deletion receipt to confirm completion. Separately stored or shared input assets may require their own deletion. Billing and deletion audit records remain after run content is deleted. ### Realtime Conversations integrated with our Realtime API do not retain customer audio or use customer audio for training. # Embeds Source: https://docs.protoface.com/guides/embeds Share links, iframes, and custom UIs for live conversations. Embeds let visitors talk to a ready avatar, custom or stock. Protoface hosts the conversation, so there is no agent to build and no API key on the page, only a public embed ID. All three options share the same settings, credits, and limits. | Option | What it does | | - | - | | Share link | Opens a Protoface-hosted page you can send to anyone. | | iframe embed | Puts the avatar on a page of your site. | | Custom UI | Wraps the conversation in your own interface with `protoface-client`. | ## Default embed Every ready avatar has a default embed, enabled on any origin until restricted. 1. Open **Avatars** in the [dashboard](https://app.protoface.com). 2. Select a ready avatar, then **Embed**. 3. Find the default embed under **Current Embed**. That panel sets the intro, placement, conversation limits, and domain restrictions. Voice and instructions live on the avatar under **Avatar Settings** and apply everywhere it is used. ## Additional embeds **New Embed** creates a second configuration for another site, environment, or campaign. It starts enabled, with domain restrictions off. To restrict it, open **Advanced Options**, turn on **Domain Restrictions**, and add origins under **Allowed Website Origins**. An origin is scheme, host, and optional port. Paths, query strings, fragments, and wildcards are rejected. | Accepted | Rejected | | - | - | | `https://acme.com` | `https://acme.com/products` | | `https://app.acme.com` | `https://acme.com/*` | | `http://localhost:3000` | `*.acme.com` | One origin per line. Each domain and subdomain is separate, so `https://acme.com` does not allow `https://www.acme.com`. With restrictions off, the embed works on any website, which is convenient while testing. Restrict production embeds to the origins you actually use. ## Share link The share link in the Embed panel opens a Protoface-hosted page. Nothing is added to your site. ## iframe embed Copy **Embed Code** from the panel: ```html theme={null} ``` Set **Placement** before copying. The placement saves on the embed, so it applies anywhere you use that ID. **Inline** sits in document flow. The four corner placements stay visible as visitors scroll. An inline embed fills the available width, and the snippet carries an aspect ratio taken from the portrait. Override either with CSS. ```css theme={null} protoface-avatar { width: min(100%, 720px); aspect-ratio: 16 / 9; } ``` ### Embed events The `` element dispatches browser events as the conversation progresses, which you can use to update your own page. They report state and do not control it, and the embed works whether or not you listen. ```html theme={null}

Ready to talk

``` Listen on the element or a parent. `detail` carries the payload. | Event | When | Useful `detail` | | - | - | - | | `protoface-avatar:config-loaded` | Settings finished loading | `enabled`, `avatarName`, `placement` | | `protoface-avatar:consent-changed` | Consent checkbox changed | `checked` | | `protoface-avatar:conversation-started` | Conversation created | `room`, `expiresAt` | | `protoface-avatar:live` | Conversation connected | `room` | | `protoface-avatar:transcript` | Visitor or avatar speech (may fire more than once) | `role`, `content`, `final` | | `protoface-avatar:ended` | Conversation ended | `reason`, `failed` | | `protoface-avatar:error` | The embed cannot complete an action | `code`, `message` | | `protoface-avatar:closed` | Visitor hides a corner embed | `reason` | | `protoface-avatar:reopened` | Visitor reopens a corner embed | none | On transcripts, `role` is either `user` or `agent`, and `final` is `true` once that part of the transcript is complete. `room` identifies the individual conversation. ## Custom UI With `protoface-client`, you own consent, controls, placement, transcripts, errors, and status in your own layout. Start from the [conversations quickstart](https://github.com/protoface-ai/protoface-quickstart-conversations) and swap in the public ID from the Embed panel. The frontend needs nothing beyond that ID. Embed settings and account limits still apply server-side. ## What visitors see The iframe and share link show the portrait and intro, then consent and microphone access. A custom UI presents the same steps in its own design. Visitors can end a conversation at any time, and the hosted UIs explain a disabled embed, an exhausted limit, or an outage. ## Access and limits Every conversation spends the embed owner's credits and counts against their concurrent-session limit. | Control | Effect | | - | - | | Deactivate | Stops new conversations, keeps settings | | Regenerate Link | Issues a new public ID, breaking existing iframe embeds, custom UIs, and share links | | Starts per Hour | Caps new conversations on the embed | | Active per Visitor | Caps simultaneous conversations per visitor | | Max Seconds | Ends a conversation after the set time, up to 3,600 seconds | ## Troubleshooting | Symptom | Check | | - | - | | Avatar does not appear | Embed is enabled. If domain restrictions are on, the page origin is in **Allowed Website Origins**. | | Avatar cannot hear the visitor | Browser microphone permission for this origin, then reload. | | Conversation does not start | **Starts per Hour**, **Active per Visitor**, and the account credit balance. | | Old links 404 | The public ID was regenerated. Open **Avatars**, select **Embed**, and copy the current share link or embed code. | # Generate an image Source: https://docs.protoface.com/guides/generate-image Generate a still and reuse it as input to another model. Text to image is a single request to an image model. Most image models expose several operations, usually generate and edit, so the request must name one. Omitting `operation` returns `error.code: "run.operation_required"` with the valid names in the message. The example below uses GPT Image 2, which takes a quality tier and a resolution alongside the operation name. ```bash theme={null} curl -X POST https://api.protoface.com/v1/run/openai/gpt-image-2 \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "operation": "image.generate", "prompt": "A lighthouse in a storm", "quality": "high", "resolution": "2k" }' ``` The file lands on `image.url` when the run completes, and the `asset_id` on `outputs` feeds straight into another run, as in [Animate an image](/guides/image-to-video). ```bash theme={null} curl https://api.protoface.com/v1/runs/run_... \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` ```json theme={null} { "id": "run_...", "status": "completed", "image": { "url": "https://...", "content_type": "image/png", "file_name": "output.png" }, "outputs": [ { "role": "output", "modality": "image", "type": "asset", "asset_id": "asset_...", "file": { "url": "https://...", "content_type": "image/png" } } ] } ``` # Generate a video Source: https://docs.protoface.com/guides/generate-video Generate a video with Seedance 2.5, including synchronized audio. Text to video is a single request. In the example below, Seedance 2.5 generates eight seconds of 720p video with synchronized audio from a text prompt. ```bash theme={null} curl -X POST https://api.protoface.com/v1/run/bytedance/seedance-2.5 \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "operation": "video.generate", "prompt": "A wide shot of a sailboat crossing a quiet bay at sunrise.", "duration": 8, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": true }' ``` The request returns a run ID immediately. The clip lands on `video.url` once `status` reaches `completed`. ```bash theme={null} curl https://api.protoface.com/v1/runs/run_... \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` ```json theme={null} { "id": "run_...", "status": "completed", "video": { "url": "https://...", "content_type": "video/mp4", "file_name": "output.mp4" } } ``` For lower-cost drafts, use a shorter `duration` or set `resolution` to `480p`. Check [current model rates](https://protoface.com/pricing) for pricing by duration and resolution. Bodies are not portable between video models. Seedance 2.5 uses `duration` and `resolution`, and requires `operation` to select `video.generate`. MiniMax H3 uses `duration_seconds` and `quality`; its [inference quickstart](/guides/model-inference) includes the full generation sequence. Build each body from its [request schema](/guides/models#request-schemas). # Animate an image Source: https://docs.protoface.com/guides/image-to-video Use a still as the opening frame of a generated clip. A video model can begin from a still image you supply. The image goes in whichever field that model uses for an opening frame, given as a public URL, a data URI, or an `asset_...` ID. In the example below, MiniMax H3 calls that field `first_frame`. ```bash theme={null} curl -X POST https://api.protoface.com/v1/run/minimax/minimax-h3 \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "The sailboat holds course as morning light fills the bay.", "duration_seconds": 8, "quality": "768p", "aspect_ratio": "16:9", "first_frame": "https://example.com/sailboat.png" }' ``` The clip lands on `video.url` when the run completes. A still from [Generate an image](/guides/generate-image) already has an `asset_id` on that run's `outputs`. Pass it straight into the next run instead of downloading the file. Models constrain which inputs combine. On MiniMax H3, `last_frame` requires `first_frame`, and sending it alone returns `error.code: "run.input_role_dependency"`. Neither frame combines with `reference`, `reference_video`, or `audio`, and sending them together returns `error.code: "run.input_role_conflict"`. Many models expose animation as a separate operation, `video.animate`, which takes the still on `image` and requires `operation`. Check the [catalog entry](/guides/models#operations) for the model you call. # LiveKit Agents Source: https://docs.protoface.com/guides/livekit-agents Use the Protoface avatar plugin in a LiveKit Agents app. If your voice agent runs on LiveKit Agents, `livekit-plugins-protoface` is the quickest way to add an avatar. It starts a Protoface session and joins the avatar to your room as a participant, then streams your agent's audio to it. LiveKit maintains and publishes the plugin, and documents it at [docs.livekit.io](https://docs.livekit.io/agents/models/avatar/plugins/protoface/). If you are not on LiveKit, Protoface works with many more platforms and SDKs. See [Other integrations](/guides/more-integrations). ## Install ```bash theme={null} pip install livekit-plugins-protoface ``` ## Basic usage Create an `AvatarSession` and start it before `session.start(...)`: ```python theme={null} from livekit.plugins import protoface avatar = protoface.AvatarSession(avatar_id="av_stock_001") await avatar.start(session, room=ctx.room) await session.start( agent=agent, room=ctx.room, ) ``` Once started, the plugin routes your agent's audio through a LiveKit DataStream addressed to the avatar participant. ## Token handling `AvatarSession.start(...)` mints a short-lived room token in the agent process from your LiveKit API key and secret, then passes it to Protoface as `worker_token`. Your secret never leaves the agent process. ## Configuration Set these in the agent environment. | Variable | Required | Used for | | - | - | - | | `PROTOFACE_API_KEY` | yes | Authenticates calls to Protoface. | | `PROTOFACE_API_URL` | no | Overrides `https://api.protoface.com`. | | `LIVEKIT_URL` | yes | The LiveKit server the avatar joins. | | `LIVEKIT_API_KEY` | yes | Used locally to mint the avatar room token. | | `LIVEKIT_API_SECRET` | yes | Used locally to mint the avatar room token. Do not expose it to clients. | Or pass them directly: ```python theme={null} avatar = protoface.AvatarSession( avatar_id="av_stock_001", api_key="sk_live_...", ) await avatar.start( session, room=ctx.room, livekit_url="wss://your-project.livekit.cloud", livekit_api_key="...", livekit_api_secret="...", ) ``` ## AvatarSession options | Option | Purpose | | - | - | | `avatar_id` | Avatar to render. Use an ID from the dashboard or `/v1/avatars`. | | `api_key` | Protoface API key. Defaults to `PROTOFACE_API_KEY`. | | `api_url` | Protoface API base URL. Defaults to `PROTOFACE_API_URL` or `https://api.protoface.com`. | | `avatar_participant_identity` | LiveKit identity for the avatar participant. | | `avatar_participant_name` | LiveKit display name for the avatar participant. | | `max_duration_seconds` | Optional upper bound for the Protoface session. | | `conn_options` | LiveKit Agents connection timeout and retry options. | ## Session `avatar.start(...)` creates a Protoface session and puts its `sess_...` ID on `avatar.session_id`. The session moves through `queued`, `starting`, and `running`. `first_frame_at` is set when the first frame reaches the room, and a `protoface-avatar-agent` participant publishes audio and video into it. ```bash theme={null} curl https://api.protoface.com/v1/sessions/sess_... \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` A session ends on `await avatar.aclose()` or `POST /v1/sessions/{id}/end`, after `idle_timeout_seconds` without inbound audio, or at your plan's duration cap. The idle default is 30 seconds, and the timer follows the audio your agent sends rather than when the visitor stops speaking. Billing rounds up to the minute, and `usage.billable_seconds` settles after the fact rather than ticking live. [Credits and limits](/reference/quotas) covers the caps. # Inference quickstart Source: https://docs.protoface.com/guides/model-inference Generate your first video with curl, Python, or JavaScript. Create a key in the [dashboard](https://app.protoface.com). A scoped key needs `runs:write` to submit and `runs:read` to retrieve. [Authentication](/guides/authentication) covers revocation and where to keep keys. ```bash theme={null} export PROTOFACE_API_KEY="sk_live_..." ``` ## Generate a video Submit a prompt and the model's parameters to `/v1/run/{model_id}`. The example below uses MiniMax H3, which takes a length in seconds, a quality tier, and an aspect ratio. It returns video with sound. ```bash curl theme={null} curl -X POST https://api.protoface.com/v1/run/minimax/minimax-h3 \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: first-video-001" \ -d '{ "prompt": "A wide shot of a sailboat crossing a quiet bay at sunrise.", "duration_seconds": 8, "quality": "768p", "aspect_ratio": "16:9" }' ``` ```python httpx theme={null} import os import httpx created = httpx.post( "https://api.protoface.com/v1/run/minimax/minimax-h3", headers={ "Authorization": f"Bearer {os.environ['PROTOFACE_API_KEY']}", "Idempotency-Key": "first-video-001", }, json={ "prompt": "A wide shot of a sailboat crossing a quiet bay at sunrise.", "duration_seconds": 8, "quality": "768p", "aspect_ratio": "16:9", }, timeout=60.0, ) created.raise_for_status() run_id = created.json()["id"] ``` ```javascript fetch theme={null} const created = await fetch( "https://api.protoface.com/v1/run/minimax/minimax-h3", { method: "POST", headers: { Authorization: `Bearer ${process.env.PROTOFACE_API_KEY}`, "Content-Type": "application/json", "Idempotency-Key": "first-video-001", }, body: JSON.stringify({ prompt: "A wide shot of a sailboat crossing a quiet bay at sunrise.", duration_seconds: 8, quality: "768p", aspect_ratio: "16:9", }), }, ); const { id: runId } = await created.json(); ``` The response is a `202` with a run ID. Generation continues in the background. ```json theme={null} { "id": "run_...", "object": "run", "model": "minimax/minimax-h3", "operation": "video.general", "status": "queued", "queue_position": 0, "credit_estimate": { "estimated_credits": 29, "maximum_reserved_credits": 29 }, "status_url": "/v1/runs/run_.../status", "response_url": "/v1/runs/run_..." } ``` `credit_estimate` is a hold on your balance, and a run that produces no output releases it. Rates change, so read the estimate from the response rather than hard-coding the number above. `Idempotency-Key` is any string you choose, and sending the same one twice returns this same `202` instead of generating twice. ## Wait for the file Poll `status_url` about once a second until `status` reaches `completed`, `failed`, or `canceled`. It reports state without carrying the file. ```bash theme={null} curl https://api.protoface.com/v1/runs/run_.../status \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` ```json theme={null} { "id": "run_...", "object": "run.status", "status": "running", "progress": 40, "queue_position": null, "error": null } ``` How long a run takes depends on the model, the length you asked for, and current load. While it waits, `queue_position` counts the runs ahead of it. Once it starts, `progress` tracks it to completion. Fetch the run once it completes: ```bash theme={null} curl https://api.protoface.com/v1/runs/run_... \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` ```json theme={null} { "id": "run_...", "status": "completed", "progress": 100, "video": { "url": "https://...", "content_type": "video/mp4", "file_name": "output.mp4", "file_size": 3919397 }, "outputs": [ { "role": "output", "modality": "video", "type": "asset", "asset_id": "asset_...", "file": { "url": "https://...", "content_type": "video/mp4" } } ], "credits": { "reserved": 29, "charged": 29 } } ``` ## The whole sequence The curl version uses [jq](https://jqlang.github.io/jq/) to read fields from each response. ```bash curl theme={null} RUN_ID=$(curl -s -X POST https://api.protoface.com/v1/run/minimax/minimax-h3 \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: first-video-001" \ -d '{ "prompt": "A wide shot of a sailboat crossing a quiet bay at sunrise.", "duration_seconds": 8, "quality": "768p", "aspect_ratio": "16:9" }' | jq -r .id) while true; do STATUS=$(curl -s "https://api.protoface.com/v1/runs/$RUN_ID/status" \ -H "Authorization: Bearer $PROTOFACE_API_KEY" | jq -r .status) case "$STATUS" in completed|failed|canceled) break ;; esac sleep 1 done curl -s "https://api.protoface.com/v1/runs/$RUN_ID" \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ | jq -r '.video.url // .error.message' ``` ```python httpx theme={null} import os import time import httpx API = "https://api.protoface.com" headers = {"Authorization": f"Bearer {os.environ['PROTOFACE_API_KEY']}"} with httpx.Client(base_url=API, headers=headers, timeout=60.0) as client: created = client.post( "/v1/run/minimax/minimax-h3", headers={"Idempotency-Key": "first-video-001"}, json={ "prompt": "A wide shot of a sailboat crossing a quiet bay at sunrise.", "duration_seconds": 8, "quality": "768p", "aspect_ratio": "16:9", }, ) created.raise_for_status() run_id = created.json()["id"] while True: status = client.get(f"/v1/runs/{run_id}/status") status.raise_for_status() state = status.json()["status"] if state in {"completed", "failed", "canceled"}: break time.sleep(1) run = client.get(f"/v1/runs/{run_id}") run.raise_for_status() body = run.json() if body["status"] != "completed": raise SystemExit(body.get("error") or body["status"]) print(body["video"]["url"]) ``` ```javascript fetch theme={null} const apiKey = process.env.PROTOFACE_API_KEY; const headers = { Authorization: `Bearer ${apiKey}`, "Content-Type": "application/json", }; const created = await fetch("https://api.protoface.com/v1/run/minimax/minimax-h3", { method: "POST", headers: { ...headers, "Idempotency-Key": "first-video-001" }, body: JSON.stringify({ prompt: "A wide shot of a sailboat crossing a quiet bay at sunrise.", duration_seconds: 8, quality: "768p", aspect_ratio: "16:9", }), }); if (!created.ok) { throw new Error(await created.text()); } const { id: runId } = await created.json(); let status; do { await new Promise((resolve) => setTimeout(resolve, 1000)); const response = await fetch( `https://api.protoface.com/v1/runs/${runId}/status`, { headers: { Authorization: `Bearer ${apiKey}` } }, ); if (!response.ok) { throw new Error(await response.text()); } status = (await response.json()).status; } while (status === "queued" || status === "running"); const run = await fetch(`https://api.protoface.com/v1/runs/${runId}`, { headers: { Authorization: `Bearer ${apiKey}` }, }); const body = await run.json(); if (body.status !== "completed") { throw new Error(JSON.stringify(body.error ?? body.status)); } console.log(body.video.url); ``` Only the body changes between models. Field names, defaults, and bounds come from the model's [catalog entry](/guides/models). [Runs](/guides/runs) documents the rest of the run API. ## Failures A failed generation puts `error` on both the status payload and the run. Branch on `error.code`. Exceeding your concurrency returns `429` with `run.concurrency_exceeded`. An empty balance returns `402` with `insufficient_credit_balance`. [Errors](/reference/errors) lists the rest. # Models Source: https://docs.protoface.com/guides/models Fields, operations, and request schemas for every model. `GET /v1/models` is the live contract for every model: operations, request schemas, accepted and returned media, and availability. It changes as models are added and retired, so read it at runtime rather than pinning a fixed list. A model's `id` is `publisher/model`, which is also the path for `POST /v1/run/{model_id}`. ## List models ```bash theme={null} curl https://api.protoface.com/v1/models \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` Each object in `data` is one model's contract. | Field | Meaning | | - | - | | `id` | Value for `POST /v1/run/{model_id}` | | `owner` | Publisher, which is also the first half of the ID | | `display_name` / `description` | Human-readable label and summary | | `family` | Groups revisions of the same model | | `aliases` | Other IDs that resolve to this model | | `tags` | Free-form labels such as `video`, `generation`, `self-hosted` | | `operations` | Each operation with its input roles and parameter names | | `request_schemas` | JSON Schema per operation, where the model publishes one | | `input_modalities` / `output_modalities` | Media accepted and returned | | `execution_modes` | How the model runs | | `execution_targets` | `shared`, or `dedicated` where capacity can be reserved | | `pricing` | How the model meters, detailed under [Metering](#metering) | | `available` | Whether the model is accepting runs | | `revision` / `contract_revision` | Model version and contract version | | `output_quality_descriptions` | Notes on quality tiers, where the model provides them | A model with `available` set to `false` rejects runs before any credits are reserved, returning `error.code: "model.not_available"`. ## Filter by what a model produces Filter on `output_modalities`, whose values are `video`, `image`, `audio`, and `model.3d`. ```bash theme={null} curl -s https://api.protoface.com/v1/models \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ | jq -r '.data[] | select(.output_modalities | contains(["video"])) | .id' ``` A model that returns more than one kind of file matches more than one of these filters. ## Retrieve one model ```bash theme={null} curl https://api.protoface.com/v1/models/minimax/minimax-h3 \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` Retrieving one model returns the same fields as its list entry. `operations` and `request_schemas` define the request. ### Operations `operations` is keyed by operation name. Each declares its media inputs as roles, its parameter names, and any dependencies between roles. ```json theme={null} { "operations": { "video.general": { "required_input_roles": ["prompt"], "input_roles": { "prompt": { "types": ["text"], "modalities": ["text"] }, "first_frame": { "types": ["asset"], "modalities": ["image"], "max_count": 1 }, "last_frame": { "types": ["asset"], "modalities": ["image"], "max_count": 1 }, "reference": { "types": ["asset"], "modalities": ["image"], "max_count": 9 } }, "parameter_names": ["aspect_ratio", "duration_seconds", "generate_audio", "quality", "style"], "role_dependencies": { "last_frame": ["first_frame"] }, "output_modalities": ["video"] } } } ``` Violating `role_dependencies` returns `error.code: "run.input_role_dependency"`. Here `last_frame` requires `first_frame`. A combination the model will not accept returns `error.code: "run.input_role_conflict"`, naming the fields involved. A model with several operations requires `operation` on every request. Omitting it returns `error.code: "run.operation_required"` with the valid names. ### Request schemas `request_schemas` holds the JSON Schema for each operation, covering types, enums, defaults, and bounds. `additionalProperties` is `false`, so an unrecognized field is rejected rather than ignored. ```json theme={null} { "request_schemas": { "video.general": { "type": "object", "additionalProperties": false, "required": ["prompt"], "properties": { "prompt": { "type": "string" }, "duration_seconds": { "type": "integer", "minimum": 4, "maximum": 15, "default": 8 }, "quality": { "type": "string", "enum": ["480p", "768p", "2k"], "default": "480p" }, "first_frame": { "type": "string", "description": "A public URL, a data URI, or an asset id." } } } } } ``` Bounds and enums are set per model, and a value outside them returns `error.code: "run.parameter_invalid"`, naming the field. ## Metering `pricing` describes how a model meters, not what it charges. `meter` is `output_seconds`, which bills by the duration of the output, or `request`, which is a flat cost per call. Some duration-metered models also carry `rounding` and a `duration_basis` that says whether the meter counts the duration requested or the duration delivered. Request-metered models carry `minimum_credits`. [Credits and limits](/reference/quotas) covers what a run is actually charged. ## Supported models The table below lists supported inference models by type. For the latest models, visit [protoface.com/models](https://protoface.com/models?utm_source=docs\&utm_medium=referral\&utm_campaign=models\&utm_content=guides-models). | Model | Provider | Type | | - | - | - | | HappyHorse 1.0 `alibaba/happyhorse-1.0` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Video | | HappyHorse 1.1 `alibaba/happyhorse-1.1` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Video | | Qwen Image 3.0 `alibaba/qwen-image-3.0` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Image | | Qwen Image 3.0 Pro `alibaba/qwen-image-3.0-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Image | | WAN 2.5 `alibaba/wan-2.5` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Image, Video | | WAN 2.5 Fast `alibaba/wan-2.5-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Video | | WAN 2.5 Image Edit `alibaba/wan-2.5-image-edit` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Image | | WAN 2.6 `alibaba/wan-2.6` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Image, Video | | WAN 2.6 Flash `alibaba/wan-2.6-flash` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Video | | WAN 2.6 Image Edit `alibaba/wan-2.6-image-edit` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Image | | WAN 2.6 Pro `alibaba/wan-2.6-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Video | | WAN 2.7 `alibaba/wan-2.7` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Image, Video | | WAN 2.7 Image Edit `alibaba/wan-2.7-image-edit` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Image | | WAN 2.7 Image Edit Pro `alibaba/wan-2.7-image-edit-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Image | | WAN 2.7 Pro `alibaba/wan-2.7-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Image, Video | | Wan 3.0 `alibaba/wan-3.0` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Video | | Wan 3.0 Prime `alibaba/wan-3.0-prime` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Video | | WAN 3.0 Prime Video Extend `alibaba/wan-3.0-prime-video-extend` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Video | | WAN 3.0 Video Extend `alibaba/wan-3.0-video-extend` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/alibaba.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=44748060369aa29cfc8cd289357f07f0) Alibaba | Video | | FLUX.2 Pro `black-forest-labs/flux-2-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/black-forest-labs.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84a0fe7099f69270ab81a7250da6ea57) Black Forest Labs | Image | | FLUX.2 Turbo `black-forest-labs/flux-2-turbo` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/black-forest-labs.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84a0fe7099f69270ab81a7250da6ea57) Black Forest Labs | Image | | FLUX.3 Video `black-forest-labs/flux-3` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/black-forest-labs.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84a0fe7099f69270ab81a7250da6ea57) Black Forest Labs | Video | | FLUX 3 Image Edit `black-forest-labs/flux-3-image-edit` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/black-forest-labs.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84a0fe7099f69270ab81a7250da6ea57) Black Forest Labs | Image | | FLUX 3 Text to Image `black-forest-labs/flux-3-text-to-image` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/black-forest-labs.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84a0fe7099f69270ab81a7250da6ea57) Black Forest Labs | Image | | FLUX 3 Video Edit `black-forest-labs/flux-3-video-edit` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/black-forest-labs.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84a0fe7099f69270ab81a7250da6ea57) Black Forest Labs | Video | | Bria Eraser `bria/eraser` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria Expand `bria/expand` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria Extract Object `bria/extract-object` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria FIBO `bria/fibo` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria FIBO 2.0 `bria/fibo-2.0` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria FIBO Colorize `bria/fibo-colorize` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria FIBO Edit 1.5 `bria/fibo-edit-1.5` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria FIBO Edit Genfill `bria/fibo-edit-genfill` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria FIBO Generate 1.5 `bria/fibo-generate-1.5` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria FIBO Image Blend `bria/fibo-image-blend` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria FIBO Relight `bria/fibo-relight` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria FIBO Reseason `bria/fibo-reseason` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria FIBO Restore `bria/fibo-restore` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria FIBO Video Background Remover `bria/fibo-video-background-remover` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Video | | Bria FIBO Video Upscaler `bria/fibo-video-upscaler` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Video | | Bria Generate Background `bria/generate-background` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria Increase Resolution `bria/increase-resolution` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria Product Holding `bria/product-holding` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria Remove Background `bria/remove-background` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria Remove Background Guided `bria/remove-background-guided` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria Text to Image 3.2 `bria/text-to-image-3.2` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Bria Video Eraser Prompt `bria/video-eraser-prompt` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Video | | Bria Virtual Try On `bria/virtual-try-on` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/bria.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=4701e493d8bee3b4e025619e01090f33) Bria | Image | | Dreamactor V2 `bytedance/dreamactor-v2` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | OmniHuman Avatar `bytedance/omnihuman` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | OmniHuman 1.5 Avatar `bytedance/omnihuman-1.5` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | OmniHuman 2.0 Avatar `bytedance/omnihuman-2.0` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seed Speech TTS 2.0 `bytedance/seed-speech-tts-2.0` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Audio | | Seed3D 2.0 `bytedance/seed3d-2.0` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | 3D | | Seedance 2.0 `bytedance/seedance-2.0` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance 2.0 Fast `bytedance/seedance-2.0-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance 2.0 Fast Turbo `bytedance/seedance-2.0-fast-turbo` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance 2.0 Mini `bytedance/seedance-2.0-mini` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance 2.0 Mini Turbo `bytedance/seedance-2.0-mini-turbo` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance 2.0 Turbo `bytedance/seedance-2.0-turbo` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance 2.5 `bytedance/seedance-2.5` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance 2.5 Talking Avatar `bytedance/seedance-2.5-talking-avatar` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Lite Image to Video 1080p `bytedance/seedance-v1-lite-i2v-1080p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Lite Image to Video 480p `bytedance/seedance-v1-lite-i2v-480p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Lite Image to Video 720p `bytedance/seedance-v1-lite-i2v-720p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Lite Text to Video 1080p `bytedance/seedance-v1-lite-t2v-1080p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Lite Text to Video 480p `bytedance/seedance-v1-lite-t2v-480p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Lite Text to Video 720p `bytedance/seedance-v1-lite-t2v-720p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Pro Fast `bytedance/seedance-v1-pro-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Pro Image to Video 1080p `bytedance/seedance-v1-pro-i2v-1080p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Pro Image to Video 480p `bytedance/seedance-v1-pro-i2v-480p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Pro Image to Video 720p `bytedance/seedance-v1-pro-i2v-720p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Pro Text to Video 1080p `bytedance/seedance-v1-pro-t2v-1080p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Pro Text to Video 480p `bytedance/seedance-v1-pro-t2v-480p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1 Pro Text to Video 720p `bytedance/seedance-v1-pro-t2v-720p` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1.5 Pro `bytedance/seedance-v1.5-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedance V1.5 Pro Fast `bytedance/seedance-v1.5-pro-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Seedream 5.0 Pro `bytedance/seedream-5.0-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Image | | Seedream V4 `bytedance/seedream-v4` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Image | | Seedream V4 Sequential `bytedance/seedream-v4-sequential` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Image | | Seedream V4.5 `bytedance/seedream-v4.5` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Image | | Seedream V4.5 Sequential `bytedance/seedream-v4.5-sequential` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Image | | Seedream V5.0 Flash `bytedance/seedream-v5.0-flash` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Image | | Seedream V5.0 Flash Edit `bytedance/seedream-v5.0-flash-edit` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Image | | Seedream V5.0 Flash Layer Decomposition `bytedance/seedream-v5.0-flash-layer-decomposition` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Image | | Seedream V5.0 Lite `bytedance/seedream-v5.0-lite` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Image | | Seedream V5.0 Lite Sequential `bytedance/seedream-v5.0-lite-sequential` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Image | | ByteDance Video Upscaler `bytedance/video-upscaler` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Waver 1.0 `bytedance/waver-1.0` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/bytedance.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=7585230e8665152020fd757af0feeec8) ByteDance | Video | | Character.AI Ovi `character-ai/ovi` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/character-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f83801cf02afc66f0b7e856983273f1a) Character.AI | Video | | Eleven v3 `elevenlabs/eleven-v3` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/elevenlabs.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=70876a834aa5b544a19b598c9d77d8ca) ElevenLabs | Audio | | Eleven Music `elevenlabs/music` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/elevenlabs.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=70876a834aa5b544a19b598c9d77d8ca) ElevenLabs | Audio | | ElevenLabs Voice Changer `elevenlabs/voice-changer` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/elevenlabs.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=70876a834aa5b544a19b598c9d77d8ca) ElevenLabs | Audio | | Gemini Omni 1.1 Flash `google/gemini-omni-1.1-flash` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Video | | Gemini Omni Flash `google/gemini-omni-flash` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Video | | Lyria 3 Clip Music `google/lyria-3-clip-music` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Audio | | Lyria 3 Pro `google/lyria-3-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Audio | | Lyria 3.5 Music `google/lyria-3.5-music` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Audio | | Nano Banana `google/nano-banana` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Image | | Nano Banana 2 `google/nano-banana-2` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Image | | Nano Banana 2 Fast `google/nano-banana-2-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Image | | Nano Banana 2 Lite `google/nano-banana-2-lite` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Image | | Nano Banana 2.1 `google/nano-banana-2.1` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Image | | Nano Banana Pro `google/nano-banana-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Image | | Nano Banana Pro Multi `google/nano-banana-pro-multi` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Image | | Nano Banana Pro Ultra `google/nano-banana-pro-ultra` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Image | | Veo 3 `google/veo-3` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Video | | Veo 3 Fast `google/veo-3-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Video | | Veo 3.1 `google/veo-3.1` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Video | | Veo 3.1 Fast `google/veo-3.1-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Video | | Veo 3.1 Lite `google/veo-3.1-lite` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Video | | Veo 3.1 Lite — Start/End Frames `google/veo-3.1-lite-start-end-to-video` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/google.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=9bcd238c121ecab03ac784a05bd08cf6) Google | Video | | HeyGen Video 1.0 `heygen/video-1.0` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/heygen.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=9fddf18a58a783bc3d1619565a0dac2a) HeyGen | Video | | HeyGen Video Translation `heygen/video-translate` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/heygen.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=9fddf18a58a783bc3d1619565a0dac2a) HeyGen | Video | | Ideogram Character `ideogram-ai/ideogram-character` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Ideogram V2 `ideogram-ai/ideogram-v2` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Ideogram V2 Turbo `ideogram-ai/ideogram-v2-turbo` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Ideogram V2a `ideogram-ai/ideogram-v2a` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Ideogram V2a Turbo `ideogram-ai/ideogram-v2a-turbo` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Ideogram V3 Balanced `ideogram-ai/ideogram-v3-balanced` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Ideogram V3 Generate Transparent `ideogram-ai/ideogram-v3-generate-transparent` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Ideogram V3 Quality `ideogram-ai/ideogram-v3-quality` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Ideogram V3 Turbo `ideogram-ai/ideogram-v3-turbo` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Ideogram V4 `ideogram-ai/ideogram-v4` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Ideogram V4.5 `ideogram-ai/ideogram-v4.5` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Ideogram Remove Background `ideogram-ai/remove-background` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/ideogram-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=8287b0d0f12422e42fc9cc4e1773e84a) Ideogram | Image | | Kling 3.0 Pro `kuaishou/kling-3.0-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling 3 Turbo Pro `kuaishou/kling-3.0-turbo` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling Effects `kuaishou/kling-effects` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling Image O1 `kuaishou/kling-image-o1` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Image | | Kling Image O3 `kuaishou/kling-image-o3` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Image | | Kling Image V3 `kuaishou/kling-image-v3` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Image | | Kling V1 AI Avatar Pro `kuaishou/kling-v1-ai-avatar-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V1 AI Avatar Standard `kuaishou/kling-v1-ai-avatar-standard` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V1.6 Image to Video Pro `kuaishou/kling-v1.6-i2v-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V1.6 Image to Video Standard `kuaishou/kling-v1.6-i2v-standard` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V1.6 Multi Image to Video Pro `kuaishou/kling-v1.6-multi-i2v-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V1.6 Multi Image to Video Standard `kuaishou/kling-v1.6-multi-i2v-standard` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V1.6 Text to Video Standard `kuaishou/kling-v1.6-t2v-standard` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2 AI Avatar Pro `kuaishou/kling-v2-ai-avatar-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2 AI Avatar Standard `kuaishou/kling-v2-ai-avatar-standard` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2.0 Image to Video Master `kuaishou/kling-v2.0-i2v-master` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2.0 Text to Video Master `kuaishou/kling-v2.0-t2v-master` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2.1 Image to Video Master `kuaishou/kling-v2.1-i2v-master` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2.1 Image to Video Pro `kuaishou/kling-v2.1-i2v-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2.1 Image to Video Pro Start End Frame `kuaishou/kling-v2.1-i2v-pro-start-end-frame` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2.1 Image to Video Standard `kuaishou/kling-v2.1-i2v-standard` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2.1 Text to Video Master `kuaishou/kling-v2.1-t2v-master` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2.5 Turbo Pro `kuaishou/kling-v2.5-turbo-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2.5 Turbo Standard `kuaishou/kling-v2.5-turbo-std` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2.6 Pro `kuaishou/kling-v2.6-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V2.6 Standard `kuaishou/kling-v2.6-std` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V3.0 Standard `kuaishou/kling-v3.0-std` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling V4.0 `kuaishou/kling-v4.0` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling Video O1 `kuaishou/kling-video-o1` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling Video O1 Fast `kuaishou/kling-video-o1-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling Video O1 Standard `kuaishou/kling-video-o1-std` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling Video O3 4K `kuaishou/kling-video-o3-4k` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling Video O3 4K Video Reference `kuaishou/kling-video-o3-4k-video-reference` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling Video O3 Pro `kuaishou/kling-video-o3-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Kling Video O3 Standard `kuaishou/kling-video-o3-std` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/kuaishou.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=441afcb6c9ee9615d9320feab0187010) Kuaishou | Video | | Leonardo Motion 2.0 `leonardoai/motion-2.0` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/leonardoai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c516532c9ba9cf67fabbc43025529861) Leonardo.Ai | Video | | LTX 2 Fast `lightricks/ltx-2-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/lightricks.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=71b6c2a480927d970c677cd46658d3e4) Lightricks | Video | | LTX 2 Pro `lightricks/ltx-2-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/lightricks.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=71b6c2a480927d970c677cd46658d3e4) Lightricks | Video | | LTX 2 Retake `lightricks/ltx-2-retake` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/lightricks.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=71b6c2a480927d970c677cd46658d3e4) Lightricks | Video | | LTX 2.5 Fast `lightricks/ltx-2.5-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/lightricks.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=71b6c2a480927d970c677cd46658d3e4) Lightricks | Video | | Luma Photon `luma/photon` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Image | | Luma Photon Flash `luma/photon-flash` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Image | | Luma Photon Flash Modify `luma/photon-flash-modify` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Image | | Luma Photon Modify `luma/photon-modify` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Image | | Luma Ray 1.6 Image to Video `luma/ray-1.6-i2v` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Video | | Luma Ray 1.6 Text to Video `luma/ray-1.6-t2v` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Video | | Luma Ray 2 Flash Image to Video `luma/ray-2-flash-i2v` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Video | | Luma Ray 2 Flash Text to Video `luma/ray-2-flash-t2v` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Video | | Luma Ray 2 Image to Video `luma/ray-2-i2v` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Video | | Luma Ray 2 Text to Video `luma/ray-2-t2v` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Video | | Luma Ray 3.2 `luma/ray-3.2` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Video | | Luma Ray 3.2 Video Reframing `luma/ray-3.2-video-reframing` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Video | | Luma Uni V1 `luma/uni-v1` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/luma.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=58ad10508bc438b174614b6de9d5fd8f) Luma | Image | | LongCat Avatar 1.5 `meituan/longcat-avatar-1.5` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/meituan.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=df304b49c518e896fb0d56fa194b5cad) Meituan | Video | | Meta Muse Image `meta/muse-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/meta.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=82b917d276dba50ea4130e1d20ad531e) Meta | Image | | MiniMax Hailuo 02 Fast `minimax/hailuo-02-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Hailuo 02 Image to Video Pro `minimax/hailuo-02-i2v-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Hailuo 02 Image to Video Standard `minimax/hailuo-02-i2v-standard` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Hailuo 02 Pro `minimax/hailuo-02-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Hailuo 02 Standard `minimax/hailuo-02-standard` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Hailuo 02 Text to Video Pro `minimax/hailuo-02-t2v-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Hailuo 02 Text to Video Standard `minimax/hailuo-02-t2v-standard` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Hailuo 2.3 `minimax/hailuo-2.3` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Hailuo 2.3 Fast `minimax/hailuo-2.3-fast` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Hailuo 2.3 Fast Pro `minimax/hailuo-2.3-fast-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Hailuo 2.3 Image to Video Standard `minimax/hailuo-2.3-i2v-standard` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Hailuo 2.3 Text to Video Standard `minimax/hailuo-2.3-t2v-standard` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Image 01 `minimax/image-01` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Image | | MiniMax H3 `minimax/minimax-h3` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Music 02 `minimax/music-02` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Audio | | MiniMax Music 2.5 `minimax/music-2.5` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Audio | | MiniMax Music 2.6 `minimax/music-2.6` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Audio | | MiniMax Music 3.0 `minimax/music-3.0` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Audio | | MiniMax Video 01 `minimax/video-01` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Video 02 `minimax/video-02` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Video | | MiniMax Voice Design `minimax/voice-design` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/minimax.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=84878e1578f633ed2883512ea728475c) MiniMax | Audio | | Mirelo SFX V1.5 `mirelo-ai/sfx-v1.5` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/mirelo-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=40b06ea0375d227ed192f672c68a522c) Mirelo | Video | | Mureka O2 Generate Song `mureka-ai/mureka-o2-generate-song` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/mureka-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=eeeeffb586fedb64316f03a2ff681a23) Mureka | Audio | | Mureka V7.5 Background Music `mureka-ai/mureka-v7.5-generate-bgm` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/mureka-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=eeeeffb586fedb64316f03a2ff681a23) Mureka | Audio | | Mureka V7.6 Background Music `mureka-ai/mureka-v7.6-generate-bgm` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/mureka-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=eeeeffb586fedb64316f03a2ff681a23) Mureka | Audio | | Mureka V7.6 Generate Song `mureka-ai/mureka-v7.6-generate-song` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/mureka-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=eeeeffb586fedb64316f03a2ff681a23) Mureka | Audio | | Mureka V8 Background Music `mureka-ai/mureka-v8-generate-bgm` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/mureka-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=eeeeffb586fedb64316f03a2ff681a23) Mureka | Audio | | Mureka V8 Generate Song `mureka-ai/mureka-v8-generate-song` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/mureka-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=eeeeffb586fedb64316f03a2ff681a23) Mureka | Audio | | Mureka V9 Background Music `mureka-ai/mureka-v9-generate-bgm` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/mureka-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=eeeeffb586fedb64316f03a2ff681a23) Mureka | Audio | | Mureka V9 Generate Song `mureka-ai/mureka-v9-generate-song` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/mureka-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=eeeeffb586fedb64316f03a2ff681a23) Mureka | Audio | | Mureka V9.5 Background Music `mureka-ai/mureka-v9.5-generate-bgm` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/mureka-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=eeeeffb586fedb64316f03a2ff681a23) Mureka | Audio | | Mureka V9.5 Generate Song `mureka-ai/mureka-v9.5-generate-song` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/mureka-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=eeeeffb586fedb64316f03a2ff681a23) Mureka | Audio | | NVIDIA Cosmos 3 Super `nvidia/cosmos-3-super` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/nvidia.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=e89e1b8bc684de9a448381b3ce5d6dcc) NVIDIA | Image, Video | | GPT Image 1.5 `openai/gpt-image-1.5` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/openai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=992bdb3fb86a3a3e241821e84f91b9df) OpenAI | Image | | GPT Image 2 `openai/gpt-image-2` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/openai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=992bdb3fb86a3a3e241821e84f91b9df) OpenAI | Image | | GPT Image 2.5 Flare `openai/gpt-image-2.5-flare` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/openai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=992bdb3fb86a3a3e241821e84f91b9df) OpenAI | Image | | GPT Image 2.5 Sunburst `openai/gpt-image-2.5-sunburst` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/openai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=992bdb3fb86a3a3e241821e84f91b9df) OpenAI | Image | | Pika 2.0 Turbo Image to Video `pika/2.0-turbo-image-to-video` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pika.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=ba766bed11beb3ef51ac56b7b889db9d) Pika | Video | | Pika 2.0 Turbo Text to Video `pika/2.0-turbo-text-to-video` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pika.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=ba766bed11beb3ef51ac56b7b889db9d) Pika | Video | | Pika 2.1 Image to Video `pika/2.1-image-to-video` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pika.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=ba766bed11beb3ef51ac56b7b889db9d) Pika | Video | | Pika 2.1 Text to Video `pika/2.1-text-to-video` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pika.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=ba766bed11beb3ef51ac56b7b889db9d) Pika | Video | | Pika 2.2 `pika/pika-2.2` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pika.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=ba766bed11beb3ef51ac56b7b889db9d) Pika | Video | | PixVerse Motion Control Mimic `pixverse/motion-control-mimic` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse C1 `pixverse/pixverse-c1` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse C1 Transition `pixverse/pixverse-c1-transition` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse V4.5 Image to Video `pixverse/pixverse-v4.5-i2v` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse V4.5 Image to Video Fast `pixverse/pixverse-v4.5-i2v-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse V4.5 Text to Video `pixverse/pixverse-v4.5-t2v` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse V4.5 Text to Video Fast `pixverse/pixverse-v4.5-t2v-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse V5 Image to Video `pixverse/pixverse-v5-i2v` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse V5 Text to Video `pixverse/pixverse-v5-t2v` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse V5 Transition `pixverse/pixverse-v5-transition` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse V6 Extend `pixverse/pixverse-v6-extend` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse V6 Max `pixverse/pixverse-v6-max` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | PixVerse Swap `pixverse/swap` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/pixverse.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=f25dab8a17ecec5742a41ff5b6c05847) PixVerse | Video | | MiniMax H3 FastH3 (Preview) `protoface/minimax-h3-fasth3` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/protoface.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=446f660e7cb113856a1b9e172c9b585e) Protoface | Video | | Seedance 2.0 `protoface/seedance-2.0` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/protoface.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=446f660e7cb113856a1b9e172c9b585e) Protoface | Video | | P-Image `pruna-ai/p-image` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pruna-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=b44db195b660b1cf0e9cc55d9b7200a6) Pruna | Image | | P Image Ideogram `pruna-ai/p-image-ideogram` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pruna-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=b44db195b660b1cf0e9cc55d9b7200a6) Pruna | Image | | P Image LoRA `pruna-ai/p-image-lora` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pruna-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=b44db195b660b1cf0e9cc55d9b7200a6) Pruna | Image | | P Video `pruna-ai/p-video` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pruna-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=b44db195b660b1cf0e9cc55d9b7200a6) Pruna | Video | | P Video 2 Pro `pruna-ai/p-video-2-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pruna-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=b44db195b660b1cf0e9cc55d9b7200a6) Pruna | Video | | P Video Animate `pruna-ai/p-video-animate` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pruna-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=b44db195b660b1cf0e9cc55d9b7200a6) Pruna | Video | | P Video Avatar `pruna-ai/p-video-avatar` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pruna-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=b44db195b660b1cf0e9cc55d9b7200a6) Pruna | Video | | P Video Replace `pruna-ai/p-video-replace` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/pruna-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=b44db195b660b1cf0e9cc55d9b7200a6) Pruna | Video | | Recraft 20B `recraft-ai/recraft-20b` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft 20B SVG `recraft-ai/recraft-20b-svg` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft Creative Upscale `recraft-ai/recraft-creative-upscale` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft Crisp Upscale `recraft-ai/recraft-crisp-upscale` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft V3 `recraft-ai/recraft-v3` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft V3 SVG `recraft-ai/recraft-v3-svg` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft V4 `recraft-ai/recraft-v4` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft V4 Pro `recraft-ai/recraft-v4-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft V4 Text to Vector `recraft-ai/recraft-v4-text-to-vector` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft V4.1 `recraft-ai/recraft-v4.1` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft V4.1 Flash `recraft-ai/recraft-v4.1-flash` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft V4.1 Pro `recraft-ai/recraft-v4.1-pro` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft V4.1 Pro Text to Vector `recraft-ai/recraft-v4.1-pro-text-to-vector` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Recraft V4.1 Pro Utility `recraft-ai/recraft-v4.1-pro-utility` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/recraft-ai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2ccab49fcaee3d4d4d43896ff8c24ccf) Recraft | Image | | Runway Aleph 2 `runway/aleph-2` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/runway.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=824aceada9129044013bc8ed5f5ef99b) Runway | Video | | Runway Gen-4 Image `runway/gen-4-image` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/runway.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=824aceada9129044013bc8ed5f5ef99b) Runway | Image | | Runway Gen-4 Turbo `runway/gen-4-turbo` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/runway.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=824aceada9129044013bc8ed5f5ef99b) Runway | Video | | Runway Upscaler V1 `runway/upscale-v1` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/runway.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=824aceada9129044013bc8ed5f5ef99b) Runway | Video | | SkyReels V4 `skywork-ai/skyreels-v4` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/skywork-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=05cf9528a05414d649983de4b5fef560) Skywork | Video | | Sonilo V1 SFX `sonilo/v1-sfx` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/sonilo.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=2790dcd092dd62fb3da7e0f67b25be71) Sonilo | Video | | Sonilo V1 Video to SFX `sonilo/v1-video-to-sfx` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/sonilo.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=2790dcd092dd62fb3da7e0f67b25be71) Sonilo | Audio | | Sonilo Video to Music `sonilo/video-to-music` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/sonilo.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=2790dcd092dd62fb3da7e0f67b25be71) Sonilo | Audio | | Sourceful Riverflow 2.0 Pro `sourceful/riverflow-2.0-pro` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/sourceful.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c8a9f1cb2e379118b516f90a77f7dc42) Sourceful | Image | | Sync Lipsync 3 `sync/lipsync-3` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/sync.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=71aa2193056de46a13408e2a60a8d6ab) Sync | Video | | Sync LipSync 3 Avatar `sync/lipsync-3-avatar` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/sync.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=71aa2193056de46a13408e2a60a8d6ab) Sync | Video | | Hunyuan3D V3 `tencent/hunyuan3d-v3` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/tencent.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=a0b4de2bfdb06b12e77a3587b29cfa71) Tencent | 3D | | Tripo H3.1 `tripo3d/h3.1` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/tripo3d.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=b14a0057b9ea0779e591249c841e06b3) Tripo | 3D | | VEED Fabric 1.0 `veed/fabric-1.0` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/veed.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=49c7202c8456520a71b6d8404d39de58) VEED | Video | | Vidu Image to Video `vidu/image-to-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Image to Video 2.0 `vidu/image-to-video-2.0` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Image to Video Q1 `vidu/image-to-video-q1` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Q2 Pro `vidu/q2-pro` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Q2 Turbo `vidu/q2-turbo` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Q3 Ad `vidu/q3-ad` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Reference to Image Q2 `vidu/reference-to-image-q2` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Image | | Vidu Reference to Video 2.0 `vidu/reference-to-video-2.0` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Reference to Video Q1 `vidu/reference-to-video-q1` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Start/End Frames to Video `vidu/start-end-to-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Start/End Frames to Video 2.0 `vidu/start-end-to-video-2.0` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Start/End Frames to Video Q1 `vidu/start-end-to-video-q1` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Text to Image Q2 `vidu/text-to-image-q2` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Image | | Vidu Text to Video `vidu/text-to-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Text to Video 2.0 `vidu/text-to-video-2.0` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | Vidu Text to Video Q1 `vidu/text-to-video-q1` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/vidu.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=c33f5ff28d3107d2edf9c69c1f63fb79) Vidu | Video | | WaveSpeed AI Age Filter `wavespeed-ai/ai-age-filter` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed AI Celebrity Look Alike Finder `wavespeed-ai/ai-celebrity-look-alike-finder` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed AI Clothes Changer `wavespeed-ai/ai-clothes-changer` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed AI Fat Filter `wavespeed-ai/ai-fat-filter` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed AI Gender Swap `wavespeed-ai/ai-gender-swap` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed AI Instagram Model `wavespeed-ai/ai-instagram-model` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed AI Photo Colorizer `wavespeed-ai/ai-photo-colorizer` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed AI Sketch to Video `wavespeed-ai/ai-sketch-to-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed AI Smile Filter `wavespeed-ai/ai-smile-filter` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed AI Talking Photos `wavespeed-ai/ai-talking-photos` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed AI Travel Trends `wavespeed-ai/ai-travel-trends` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed AI Video Ads `wavespeed-ai/ai-video-ads` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed AI Virtual Outfit Try-On `wavespeed-ai/ai-virtual-outfit-tryon` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Audio Converter `wavespeed-ai/audio-converter` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Audio | | WaveSpeed Audio Vocal Isolator `wavespeed-ai/audio-vocal-isolator` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Audio | | Bitdance 14B `wavespeed-ai/bitdance-14b` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Cinematic Video Generator `wavespeed-ai/cinematic-video-generator` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Cosmos Predict 2.5 `wavespeed-ai/cosmos-predict-2.5` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | DaVinci MagiHuman `wavespeed-ai/davinci-magihuman` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Depth Anything Image `wavespeed-ai/depth-anything-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Depth Anything V3 Image `wavespeed-ai/depth-anything-v3-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Depth Anything V3 Video `wavespeed-ai/depth-anything-v3-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Depth Anything Video `wavespeed-ai/depth-anything-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Face Enhancer Image `wavespeed-ai/face-enhancer-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Face Enhancer Video `wavespeed-ai/face-enhancer-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Female Human `wavespeed-ai/female-human` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed FeyNoBg Background Remover `wavespeed-ai/feynobg` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FireRed Image V1.1 `wavespeed-ai/firered-image-v1.1` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FlashVSR `wavespeed-ai/flashvsr` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | FLUX 1.1 Pro `wavespeed-ai/flux-1.1-pro` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX 1.1 Pro Ultra `wavespeed-ai/flux-1.1-pro-ultra` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX 2 Dev `wavespeed-ai/flux-2-dev` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX 2 Flash `wavespeed-ai/flux-2-flash` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX 2 Flex `wavespeed-ai/flux-2-flex` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX 2 Klein 4B `wavespeed-ai/flux-2-klein-4b` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX 2 Klein 9B `wavespeed-ai/flux-2-klein-9b` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX 2 Klein Base 4B `wavespeed-ai/flux-2-klein-base-4b` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX 2 Klein Base 9B `wavespeed-ai/flux-2-klein-base-9b` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX 2 Max `wavespeed-ai/flux-2-max` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX 3 Klein Image Base `wavespeed-ai/flux-3-klein-image-base` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX 3 Klein Image Distilled `wavespeed-ai/flux-3-klein-image-distilled` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX Dev `wavespeed-ai/flux-dev` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX Dev Ultra Fast `wavespeed-ai/flux-dev-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX Kontext Dev Multi `wavespeed-ai/flux-kontext-dev-multi` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX Kontext Dev Multi Ultra Fast `wavespeed-ai/flux-kontext-dev-multi-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX Kontext Dev Ultra Fast `wavespeed-ai/flux-kontext-dev-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX Kontext Max `wavespeed-ai/flux-kontext-max` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX Kontext Max Multi `wavespeed-ai/flux-kontext-max-multi` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX Kontext Pro `wavespeed-ai/flux-kontext-pro` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX Kontext Pro Multi `wavespeed-ai/flux-kontext-pro-multi` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX PuLID `wavespeed-ai/flux-pulid` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX Redux Dev `wavespeed-ai/flux-redux-dev` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX Schnell `wavespeed-ai/flux-schnell` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | FLUX V1 Pro Erase `wavespeed-ai/flux-v1-pro-erase` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Ghibli `wavespeed-ai/ghibli` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Ghibli Filter Image `wavespeed-ai/ghibli-filter-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Ghibli Filter Video `wavespeed-ai/ghibli-filter-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | HeartMuLa Generate Music `wavespeed-ai/heartmula-generate-music` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Audio | | HiDream E1 Full `wavespeed-ai/hidream-e1-full` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | HiDream I1 Dev `wavespeed-ai/hidream-i1-dev` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | HiDream I1 Full `wavespeed-ai/hidream-i1-full` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | HiDream O1 Image `wavespeed-ai/hidream-o1-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | HiDream O1 Image Dev `wavespeed-ai/hidream-o1-image-dev` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Hunyuan 3D V3.1 Rapid `wavespeed-ai/hunyuan-3d-v3.1-rapid` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | 3D | | Hunyuan Avatar `wavespeed-ai/hunyuan-avatar` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Hunyuan Image 2.1 `wavespeed-ai/hunyuan-image-2.1` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Hunyuan Image 3 `wavespeed-ai/hunyuan-image-3` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Hunyuan Image 3 Instruct `wavespeed-ai/hunyuan-image-3-instruct` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Hunyuan Video 1.5 `wavespeed-ai/hunyuan-video-1.5` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Hunyuan Video Image to Video `wavespeed-ai/hunyuan-video-i2v` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Hunyuan Video Text to Video `wavespeed-ai/hunyuan-video-t2v` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Image Background Remover `wavespeed-ai/image-background-remover` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Body Swap `wavespeed-ai/image-body-swap` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Converter `wavespeed-ai/image-converter` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Eraser `wavespeed-ai/image-eraser` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Face Blur `wavespeed-ai/image-face-blur` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Face Swap `wavespeed-ai/image-face-swap` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Face Swap Pro `wavespeed-ai/image-face-swap-pro` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Head Swap `wavespeed-ai/image-head-swap` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Text Remover `wavespeed-ai/image-text-remover` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Translator `wavespeed-ai/image-translator` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Upscaler `wavespeed-ai/image-upscaler` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Watermark Remover `wavespeed-ai/image-watermark-remover` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Image Zoom Out `wavespeed-ai/image-zoom-out` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Infinite You `wavespeed-ai/infinite-you` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | InfiniteTalk `wavespeed-ai/infinitetalk` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | InfiniteTalk Fast `wavespeed-ai/infinitetalk-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Instant Character `wavespeed-ai/instant-character` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Jib Mix Qwen Image `wavespeed-ai/jib-mix-qwen-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Krea V2 Medium `wavespeed-ai/krea-v2-medium` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Krea V2 Turbo `wavespeed-ai/krea-v2-turbo` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | LTX 2 19B `wavespeed-ai/ltx-2-19b` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | LTX 2 19B Control `wavespeed-ai/ltx-2-19b-control` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | LTX 2 19B Video Upscaler `wavespeed-ai/ltx-2-19b-video-upscaler` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | LTX 2.3 `wavespeed-ai/ltx-2.3` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | LTX Video V097 Image to Video 480p `wavespeed-ai/ltx-video-v097-i2v-480p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | LTX Video V097 Image to Video 720p `wavespeed-ai/ltx-video-v097-i2v-720p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Lynx `wavespeed-ai/lynx` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Magi 1 24B `wavespeed-ai/magi-1-24b` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | MMAudio V2 `wavespeed-ai/mmaudio-v2` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Moss Image `wavespeed-ai/moss-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | MultiTalk `wavespeed-ai/multitalk` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Music Video Generator `wavespeed-ai/music-video-generator` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Neta Lumina `wavespeed-ai/neta-lumina` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Open Video `wavespeed-ai/open-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Prefect Pony XL `wavespeed-ai/prefect-pony-xl` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Qwen Image `wavespeed-ai/qwen-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Qwen Image 2.0 `wavespeed-ai/qwen-image-2.0` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Qwen Image 2.0 Pro `wavespeed-ai/qwen-image-2.0-pro` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Qwen Image 2509 Multiple Angles `wavespeed-ai/qwen-image-2509-multiple-angles` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Qwen Image 2511 `wavespeed-ai/qwen-image-2511` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Qwen Image 2512 `wavespeed-ai/qwen-image-2512` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Qwen Image Layered `wavespeed-ai/qwen-image-layered` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Qwen Image Max `wavespeed-ai/qwen-image-max` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Qwen Image Multiple Angles `wavespeed-ai/qwen-image-multiple-angles` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Qwen Image Plus `wavespeed-ai/qwen-image-plus` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Real ESRGAN `wavespeed-ai/real-esrgan` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | RIFE Video Interpolation `wavespeed-ai/rife` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | SAM3 Video `wavespeed-ai/sam3-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | SCAIL `wavespeed-ai/scail` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | SCAIL 2 `wavespeed-ai/scail-2` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | SeedVR2 Image `wavespeed-ai/seedvr2-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Short Video Generator `wavespeed-ai/short-video-generator` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | SkyReels V3 `wavespeed-ai/skyreels-v3` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | SoulX FlashHead `wavespeed-ai/soulx-flashhead` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Steady Dancer `wavespeed-ai/steady-dancer` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Step1X Edit `wavespeed-ai/step1x-edit` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed TikTok Video Generator `wavespeed-ai/tiktok-video-generator` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed UGC Video Generator `wavespeed-ai/ugc-video-generator` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Ultimate Image Upscaler `wavespeed-ai/ultimate-image-upscaler` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WaveSpeed Ultimate Video Upscaler `wavespeed-ai/ultimate-video-upscaler` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | VACE Video Joiner `wavespeed-ai/vace-video-joiner` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Background Remover `wavespeed-ai/video-background-remover` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Body Swap `wavespeed-ai/video-body-swap` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Cleaner `wavespeed-ai/video-cleaner` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Colorizer `wavespeed-ai/video-colorizer` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Converter `wavespeed-ai/video-converter` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Eraser `wavespeed-ai/video-eraser` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Face Swap `wavespeed-ai/video-face-swap` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video FPS Increaser `wavespeed-ai/video-fps-increaser` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Head Swap `wavespeed-ai/video-head-swap` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Music Remover `wavespeed-ai/video-music-remover` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Outpainter `wavespeed-ai/video-outpainter` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Relighter `wavespeed-ai/video-relighter` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Restorer `wavespeed-ai/video-restorer` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Upscaler `wavespeed-ai/video-upscaler` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Upscaler Pro `wavespeed-ai/video-upscaler-pro` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed Video Watermark Remover `wavespeed-ai/video-watermark-remover` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WaveSpeed VOSR2 Image Upscaler `wavespeed-ai/vosr2-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WAN 2.1 `wavespeed-ai/wan-2.1` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WAN 2.1 Image to Video 480p `wavespeed-ai/wan-2.1-i2v-480p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Image to Video 480p Ultra Fast `wavespeed-ai/wan-2.1-i2v-480p-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Image to Video 720p `wavespeed-ai/wan-2.1-i2v-720p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Image to Video 720p Ultra Fast `wavespeed-ai/wan-2.1-i2v-720p-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Mocha `wavespeed-ai/wan-2.1-mocha` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 MultiTalk `wavespeed-ai/wan-2.1-multitalk` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Synthetic to Real Ditto `wavespeed-ai/wan-2.1-synthetic-to-real-ditto` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Text to Video 480p `wavespeed-ai/wan-2.1-t2v-480p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Text to Video 480p Ultra Fast `wavespeed-ai/wan-2.1-t2v-480p-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Text to Video 720p `wavespeed-ai/wan-2.1-t2v-720p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Text to Video 720p Ultra Fast `wavespeed-ai/wan-2.1-t2v-720p-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Video to Video 480p `wavespeed-ai/wan-2.1-v2v-480p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Video to Video 480p Ultra Fast `wavespeed-ai/wan-2.1-v2v-480p-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Video to Video 720p `wavespeed-ai/wan-2.1-v2v-720p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.1 Video to Video 720p Ultra Fast `wavespeed-ai/wan-2.1-v2v-720p-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 `wavespeed-ai/wan-2.2` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image, Video | | WAN 2.2 Animate `wavespeed-ai/wan-2.2-animate` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Animate 2 `wavespeed-ai/wan-2.2-animate-2` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Fun Control `wavespeed-ai/wan-2.2-fun-control` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Image to Video 480p `wavespeed-ai/wan-2.2-i2v-480p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Image to Video 480p Ultra Fast `wavespeed-ai/wan-2.2-i2v-480p-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Image to Video 5B 720p `wavespeed-ai/wan-2.2-i2v-5b-720p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Image to Video 720p `wavespeed-ai/wan-2.2-i2v-720p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Image to Video 720p Ultra Fast `wavespeed-ai/wan-2.2-i2v-720p-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Realism `wavespeed-ai/wan-2.2-realism` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | WAN 2.2 Speech to Video `wavespeed-ai/wan-2.2-speech-to-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Text to Video 480p `wavespeed-ai/wan-2.2-t2v-480p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Text to Video 480p Ultra Fast `wavespeed-ai/wan-2.2-t2v-480p-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Text to Video 5B 720p `wavespeed-ai/wan-2.2-t2v-5b-720p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Text to Video 720p `wavespeed-ai/wan-2.2-t2v-720p` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN 2.2 Text to Video 720p Ultra Fast `wavespeed-ai/wan-2.2-t2v-720p-ultra-fast` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | WAN Start/End Frame to Video `wavespeed-ai/wan-start-end-frame-to-video` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Video | | Z-Image Base `wavespeed-ai/z-image-base` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Z-Image Turbo `wavespeed-ai/z-image-turbo` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Z-Image Turbo ControlNet `wavespeed-ai/z-image-turbo-controlnet` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Image | | Zonos2 `wavespeed-ai/zonos2` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/wavespeed-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=981124468a5ba69d542d589bdb8bcd5c) WaveSpeed | Audio | | Grok 2 Image `xai/grok-2-image` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/xai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2db21d609239e15220582b47ac926e63) xAI | Image | | Grok Imagine Image `xai/grok-imagine-image` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/xai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2db21d609239e15220582b47ac926e63) xAI | Image | | Grok Imagine Image 2.0 `xai/grok-imagine-image-2` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/xai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2db21d609239e15220582b47ac926e63) xAI | Image | | Grok Imagine Image Quality `xai/grok-imagine-image-quality` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/xai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2db21d609239e15220582b47ac926e63) xAI | Image | | Grok Imagine Video `xai/grok-imagine-video` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/xai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2db21d609239e15220582b47ac926e63) xAI | Video | | Grok Imagine Video 1.5 `xai/grok-imagine-video-1.5` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/xai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2db21d609239e15220582b47ac926e63) xAI | Video | | Grok Imagine Video Edit `xai/grok-imagine-video-edit` | ![](https://mintcdn.com/protoface/ZZh1D1atQcy38gFV/images/providers/xai.png?fit=max\&auto=format\&n=ZZh1D1atQcy38gFV\&q=85\&s=2db21d609239e15220582b47ac926e63) xAI | Video | | GLM Image `z-ai/glm-image` | ![](https://mintcdn.com/protoface/YoKpI1GOUuQHTAec/images/providers/z-ai.png?fit=max\&auto=format\&n=YoKpI1GOUuQHTAec\&q=85\&s=9f2856bdf7c185eaf4f61473447cbccd) Z.ai | Image | # Other integrations Source: https://docs.protoface.com/guides/more-integrations Starters for Agora, Vapi, OpenAI Realtime, and more. Each starter below is a working project. Clone it, add your keys to the environment file, and run. The [protoface-quickstart](https://github.com/protoface-ai/protoface-quickstart) repo indexes every integration. | Integration | Resources | | - | - | | LiveKit | [Realtime quickstart](/quickstart) · [Guide](/guides/livekit-agents) · [Plugin](https://github.com/livekit/agents/tree/main/livekit-plugins/livekit-plugins-protoface) | | Pipecat | [Guide](/guides/pipecat) · [Plugin](https://github.com/protoface-ai/protoface-plugin-pipecat) · [Docs](https://docs.pipecat.ai/api-reference/server/services/video/protoface) | | Agora | [Starter](https://github.com/protoface-ai/protoface-quickstart-agora) | | Vapi | [Starter](https://github.com/protoface-ai/protoface-quickstart-vapi) | | ElevenLabs Agents | [Starter](https://github.com/protoface-ai/protoface-quickstart-elevenlabs-agents) | | OpenAI Realtime | [Starter](https://github.com/protoface-ai/protoface-quickstart-openai-realtime) | | VideoSDK | [Starter](https://github.com/protoface-ai/protoface-quickstart-videosdk) | | Python | [protoface-sdk](https://github.com/protoface-ai/protoface-sdk-python) (`pip install protoface-sdk`), for realtime sessions from a Python service | | JavaScript | [protoface-client](https://github.com/protoface-ai/protoface-sdk-node) (`npm install protoface-client`), for rendering a realtime avatar in the browser | More examples live at [github.com/protoface-ai](https://github.com/protoface-ai). ## Don't see your platform? Protoface works with any stack that can call the REST API and stream audio. If yours is not listed, start from the [LiveKit Agents](/guides/livekit-agents) guide as a reference implementation, or use one of the SDKs to build your own integration. # Pipecat Source: https://docs.protoface.com/guides/pipecat Add a live avatar to a Pipecat pipeline. If your voice agent runs on Pipecat, `pipecat-protoface` adds a Protoface avatar as a video service. It starts a hosted session, takes assistant speech from the pipeline, and emits synchronized audio and video frames to your output transport. Protoface maintains the official Pipecat community plugin, and Pipecat documents the service at [docs.pipecat.ai](https://docs.pipecat.ai/api-reference/server/services/video/protoface). If you are not on Pipecat, Protoface works with many more platforms and SDKs. See [Other integrations](/guides/more-integrations). ## Install ```bash theme={null} uv add pipecat-protoface ``` Install Pipecat extras for your transport, STT, LLM, TTS, or realtime model separately. ## Basic usage Create the service with an API key and avatar ID: ```python theme={null} import os from pipecat_protoface import ProtofaceVideoService protoface = ProtofaceVideoService( api_key=os.environ["PROTOFACE_API_KEY"], avatar_id=os.environ["PROTOFACE_AVATAR_ID"], ) ``` Then place it after TTS and before `transport.output()`: ```python theme={null} pipeline = Pipeline([ transport.input(), stt, context_aggregator.user(), llm, tts, protoface, transport.output(), context_aggregator.assistant(), ]) ``` `protoface` then emits synchronized avatar audio and video frames downstream. ## Realtime speech-to-speech Place `protoface` after the realtime model and before the output transport: ```python theme={null} pipeline = Pipeline([ transport.input(), context_aggregator.user(), gemini_live, context_aggregator.assistant(), protoface, transport.output(), ]) ``` ## Configuration Set both variables in the Pipecat worker environment. * `PROTOFACE_API_KEY`: Authenticates calls to Protoface. * `PROTOFACE_AVATAR_ID`: Avatar to render. Start with `av_stock_001` or use an ID from `/v1/avatars`. ## ProtofaceVideoService options | Option | Purpose | | - | - | | `api_key` | Protoface API key. | | `avatar_id` | Avatar to render. Use an ID from the dashboard or `/v1/avatars`. | | `api_url` | Protoface API base URL. Defaults to `https://api.protoface.com`. | | `max_duration_seconds` | Optional upper bound for the Protoface session. | | `metadata` | Customer-owned JSON attached to the Protoface session. | | `settings` | Advanced buffering and client-readiness settings. | ## Lifecycle `ProtofaceVideoService` opens a session as the pipeline starts. The session moves through `queued`, `starting`, and `running`. Speech produced before the avatar is live is buffered, then streamed. Stopping the pipeline ends the session. Billing rounds up to the minute, and [Credits and limits](/reference/quotas) covers the caps. ## Compatibility Tested with Pipecat v1.4.0+ and Python 3.11+. The [plugin source](https://github.com/protoface-ai/protoface-plugin-pipecat) carries current examples and compatibility notes. # Runs Source: https://docs.protoface.com/guides/runs Submit, poll, retrieve, and cancel a generation. A run is one model inference request. Submitting one reserves credits against your balance and returns a run ID immediately. Once the run completes, that ID carries the finished file. ## Lifecycle | Status | Meaning | | - | - | | `queued` | Accepted, waiting to start | | `running` | Generation in progress | | `completed` | Output is ready | | `failed` | Generation failed and the reservation was released | | `canceled` | Canceled by the caller | ## Generate Send a flat JSON body to `POST /v1/run/{model_id}`. The model's [catalog entry](/guides/models) defines which fields the body accepts. ```bash theme={null} curl -X POST https://api.protoface.com/v1/run/minimax/minimax-h3 \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: product-shot-001" \ -d '{ "prompt": "A slow camera move around a ceramic lamp in a quiet studio.", "duration_seconds": 8, "quality": "768p", "aspect_ratio": "16:9" }' ``` The `202` carries the run ID, the URLs for polling and retrieval, and a credit estimate. ```json theme={null} { "id": "run_...", "object": "run", "model": "minimax/minimax-h3", "model_revision": "2026-08-20", "operation": "video.general", "status": "queued", "queue_position": 0, "credit_estimate": { "pricing_version": "model-2026-08-15", "estimated_credits": 29, "maximum_reserved_credits": 29, "lines": [ { "operation": "video.general", "model": "minimax-h3", "meter": "output_seconds", "unit": "second", "quantity": 8, "credits": 29 } ] }, "status_url": "/v1/runs/run_.../status", "response_url": "/v1/runs/run_...", "created_at": "2026-09-01T07:14:36.347084Z" } ``` `maximum_reserved_credits` is the hold placed against your balance, and `lines` itemizes it by meter. `queue_position` becomes `null` once the run starts. [Credits and limits](/reference/quotas) covers settlement. `metadata` takes arbitrary JSON and `external_id` takes a string, both of which tie a run back to a record in your own database. Keys beginning with `protoface_` are reserved and return `error.code: "run.metadata_reserved"`. ### Operation A model with one operation uses it by default. A model with several operations requires `operation` on the request, and omitting it returns `error.code: "run.operation_required"`. Naming an operation the model does not have returns `error.code: "run.operation_unsupported"`. ## Idempotency Use an `Idempotency-Key` when a request may be retried. Reusing the key with the same body returns the original run. Reusing it with a different body returns `409` and `error.type: "conflict"`. The key is any unique string up to 255 characters, and Protoface remembers it for 24 hours. ## Media inputs Models that accept images, video, or audio can take: * An `asset_...` ID returned by `POST /v1/assets` or a previous run. * A public URL. * A data URI. Use a URL or data URI for one-off input. Use an asset ID to reuse media across runs. [Assets](/guides/assets) covers uploading and reusing them. Field names, size limits, and the maximum number of files vary by model. `GET /v1/models/{model_id}` carries all three. Models also constrain which inputs travel together. Omitting a field that another one requires returns `error.code: "run.input_role_dependency"`, and the catalog states those requirements on `role_dependencies`. Sending a combination the model refuses returns `error.code: "run.input_role_conflict"`. See [Models](/guides/models#operations). ## Status Use the lightweight status endpoint while the run is active. It returns `status`, `progress`, `queue_position`, and `error`, but not the file. Poll about once a second, and stop once `status` reaches `completed`, `failed`, or `canceled`. ```bash theme={null} curl https://api.protoface.com/v1/runs/run_.../status \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` ## Retrieve a result Fetch the whole object once the run finishes: ```bash theme={null} curl https://api.protoface.com/v1/runs/run_... \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` ```json theme={null} { "id": "run_...", "object": "run", "model": "minimax/minimax-h3", "model_revision": "2026-08-20", "operation": "video.general", "status": "completed", "progress": 100, "video": { "url": "https://...", "content_type": "video/mp4", "file_name": "output.mp4", "file_size": 3919397 }, "image": null, "audio": null, "outputs": [ { "role": "output", "modality": "video", "type": "asset", "asset_id": "asset_...", "file": { "url": "https://...", "content_type": "video/mp4", "file_name": "output.mp4", "file_size": 3919397 }, "text": null, "data": null } ], "credits": { "pricing_version": "model-2026-08-15", "reserved": 29, "charged": 29 }, "error": null, "metadata": {}, "external_id": null, "created_at": "2026-09-01T05:13:51.540770Z", "started_at": "2026-09-01T05:16:40.595801Z", "completed_at": "2026-09-01T05:26:02.667683Z" } ``` `outputs` is the complete result. Each entry has a `modality` and a `type` of `asset`, `text`, or `data`, with the value on the matching `file`, `text`, or `data` field. File entries carry an `asset_id` for chaining into the next run. A single file of a given modality is also copied onto `image`, `video`, or `audio` as a shortcut. Multi-part results, text, and structured data appear only on `outputs`. `credits` records `reserved` and `charged` against the `pricing_version` set at creation. `created_at` to `started_at` is queue time, and `started_at` to `completed_at` is generation. A failed run keeps `error.code` and `error.message`. An uncharged run reports `charged` as `0` and leaves `reserved` at the original hold. ## Cancel Queued and running runs can be canceled. ```bash theme={null} curl -X POST https://api.protoface.com/v1/runs/run_.../cancel \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` Canceling before work starts releases the hold and reports `charged` as `0`. Canceling after it starts charges the reserved amount. A run that already completed returns `409` with `error.code: "run.not_cancelable"`. ## List runs and events Lists return newest first and page with `limit` and `starting_after`, which takes a run ID. `has_more` and `next_cursor` signal another page. ```bash theme={null} curl "https://api.protoface.com/v1/runs?limit=20" \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` `/events` returns one run's ordered history, useful for detailed progress and for debugging. ```bash theme={null} curl https://api.protoface.com/v1/runs/run_.../events \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` Events are ordered by `sequence`. Terminal events (`run.completed`, `run.failed`, `run.canceled`) carry `credits_charged` in `data`, which makes this the endpoint to reconcile billing against. # Usage Source: https://docs.protoface.com/guides/usage Read account-level spend by day, operation, and surface. `GET /v1/usage` returns account-level totals for a month or a custom range, counting only settled work. It lags active sessions, so do not use it for live session control. For a single running session, read `usage` on the session object instead. ## Current month ```bash theme={null} curl "https://api.protoface.com/v1/usage?period=current_month" \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` `period` accepts `current_month` or `previous_month` and cannot be combined with `period_start` and `period_end`. | Field | Meaning | | - | - | | `period_start` / `period_end` | Window the totals cover | | `credits_charged` | Credits settled in the window | | `by_operation` | Credits per billable operation, such as `video.general` | | `by_billing_surface` | Credits split by surface, such as `api` and `studio` | | `daily_credits_by_billing_surface` | The same split, per calendar day | | `by_quality` | Credits per quality tier | | `recent_charges` | The individual charges behind the totals | | `billable_seconds` / `sessions` | Realtime session time and count | | `by_speech_billing_mode` | Realtime credits split by speech billing mode | | `by_embed` | Realtime credits per embed | Daily buckets are UTC unless you pass `time_zone` as an IANA name such as `America/Los_Angeles`. ## Custom range ```bash theme={null} curl "https://api.protoface.com/v1/usage?period_start=2026-06-01T00:00:00Z&period_end=2026-07-01T00:00:00Z" \ -H "Authorization: Bearer $PROTOFACE_API_KEY" ``` Both bounds are ISO-8601 UTC, with `period_start` inclusive and `period_end` exclusive. # Protoface API Source: https://docs.protoface.com/index The cheapest generative AI models and realtime avatars behind one API. ![Still from a generated Protoface video](https://mintcdn.com/protoface/fA4WUYDZVm2TeHHW/images/home/studio-video-still.webp?fit=max\&auto=format\&n=fA4WUYDZVm2TeHHW\&q=85\&s=f58892bdb8f978497941fc39c9c375aa) Protoface is a cost-effective generative media inference platform, running frontier models for video, images, speech, music, 3D assets, and realtime avatars behind a single API key. Now with the cheapest [Seedance 2.5 API](/guides/generate-video). ## Inference Generating a video takes one call to start it and one to fetch the result. In the example below, Seedance 2.5 generates eight seconds of 720p video with synchronized audio. ```bash theme={null} curl -X POST https://api.protoface.com/v1/run/bytedance/seedance-2.5 \ -H "Authorization: Bearer $PROTOFACE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "operation": "video.generate", "prompt": "A wide shot of a sailboat crossing a quiet bay at sunrise.", "duration": 8, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": true }' ``` The request returns a run ID immediately, and `GET /v1/runs/{id}` carries the file once the run finishes. ```json theme={null} { "id": "run_...", "status": "completed", "video": { "url": "https://...", "content_type": "video/mp4", "file_name": "output.mp4" } } ``` Every model follows this pattern. Only the body changes, and you build it from the model's [catalog entry](/guides/models). The [MiniMax H3 inference quickstart](/guides/model-inference) runs the full sequence, with a separate [image-to-video example](/guides/image-to-video). ## Realtime Protoface Realtime adds a realtime face to your voice agent, driven by the audio it already produces. It works across languages and with any pipeline, whether speech-to-speech or separate STT, LLM, and TTS. Use the LiveKit or Pipecat plugin, another supported platform, or the REST API. The [realtime quickstart](/quickstart) adds a live avatar to a LiveKit agent. ## Next steps > [card] [Inference quickstart](/guides/model-inference) > > Generate a MiniMax H3 video with curl, Python, or JavaScript. > [card] [Model catalog](/guides/models) > > Browse every model and read its input contract. > [card] [Realtime quickstart](/quickstart) > > Run a LiveKit agent with a live avatar. > [card] [Other integrations](/guides/more-integrations) > > Starters for Pipecat, Agora, Vapi, and more. > [card] [Avatars](/guides/avatars) > > Create and manage avatars for realtime sessions. > [card] [Errors](/reference/errors) > > Stable error codes, rate limits, and retries. # Realtime quickstart Source: https://docs.protoface.com/quickstart Add a live avatar to a LiveKit agent. ![Protoface avatars displayed as realtime video tiles](https://mintcdn.com/protoface/nbz_dO5dzz6bYKFl/images/home/welcome-avatar-grid.webp?fit=max\&auto=format\&n=nbz_dO5dzz6bYKFl\&q=85\&s=de5da815fee7521a505fbd2eca9a48cb) Protoface Realtime turns an agent's audio into live avatar video. This sample uses Gemini Live, and the same avatar flow applies to agents built from separate STT, LLM, and TTS components. For more examples you can clone and run, see the [quickstart repo](https://github.com/protoface-ai/protoface-quickstart). ## Prerequisites * A Protoface API key from [app.protoface.com](https://app.protoface.com), covered in [Authentication](/guides/authentication). * A LiveKit project with `LIVEKIT_URL`, `LIVEKIT_API_KEY`, and `LIVEKIT_API_SECRET`. * A Google Gemini API key for the sample realtime model, set as `GOOGLE_API_KEY`. ## 1. Install ```bash theme={null} python -m venv .venv source .venv/bin/activate pip install livekit-plugins-protoface livekit-plugins-google python-dotenv ``` ## 2. Set environment variables Create a `.env` file: ```bash theme={null} LIVEKIT_URL="wss://your-project.livekit.cloud" LIVEKIT_API_KEY="..." LIVEKIT_API_SECRET="..." PROTOFACE_API_KEY="sk_live_..." PROTOFACE_AVATAR_ID="av_stock_001" GOOGLE_API_KEY="..." ``` ## 3. Add the avatar Create `agent.py`: ```python theme={null} import os from dotenv import load_dotenv from livekit.agents import ( Agent, AgentServer, AgentSession, JobContext, TurnHandlingOptions, cli, room_io, ) from livekit.plugins import google, protoface load_dotenv() server = AgentServer() AGENT_INSTRUCTIONS = ( "You are a friendly AI avatar. " "Keep responses natural, concise, and conversational." ) @server.rtc_session() async def entrypoint(ctx: JobContext): session = AgentSession( llm=google.realtime.RealtimeModel( model=os.getenv("GEMINI_MODEL", "gemini-3.1-flash-live-preview"), voice=os.getenv("GEMINI_VOICE", "Charon"), ), turn_handling=TurnHandlingOptions( interruption={"resume_false_interruption": False}, ), ) avatar = protoface.AvatarSession( avatar_id=os.getenv("PROTOFACE_AVATAR_ID", protoface.DEFAULT_STOCK_AVATAR_ID), ) await avatar.start(session, room=ctx.room) await session.start( agent=Agent(instructions=AGENT_INSTRUCTIONS), room=ctx.room, # Let Protoface publish the assistant audio. room_options=room_io.RoomOptions(audio_output=False), ) if __name__ == "__main__": cli.run_app(server) ``` ## 4. Run the agent ```bash theme={null} python agent.py start ``` Open [Agents Playground](https://agents-playground.livekit.io), connect to your LiveKit project, join the room, and talk to the agent. ## Expected result * A `protoface-avatar-agent` participant joins the same LiveKit room. * The avatar publishes audio and video. * `avatar.session_id` contains the `sess_...` ID, which moves through `queued`, `starting`, and `running` before the first frame. * The session ends when the agent stops, or on `await avatar.aclose()`. ## Troubleshooting | Symptom | Check | | - | - | | `Protoface API key is required` | Set `PROTOFACE_API_KEY` or pass `api_key` to `AvatarSession`. | | `livekit_url, livekit_api_key, and livekit_api_secret must be set` | Set the three `LIVEKIT_*` variables or pass them to `avatar.start(...)`. | | No avatar participant appears | Confirm the agent connected to the same LiveKit room as the Playground. | | Avatar joins but stays silent | Confirm the agent can produce speech and the avatar participant joined the same room. | [LiveKit Agents](/guides/livekit-agents) covers plugin options, the session lifecycle, and the REST endpoints underneath. [Avatars](/guides/avatars) shows how to replace the stock avatar with your own. # ComfyUI Source: https://docs.protoface.com/reference/comfyui Generate images, video, and audio from your ComfyUI workflow with Protoface. The official [Protoface extension](https://protoface.com/comfyui) adds model-specific nodes to ComfyUI. Generation runs through the Protoface API, so you do not need downloaded model weights or a local GPU for Protoface nodes. Connect prompts and reference media, then preview, save, or pass the results to another node. You need **ComfyUI 0.41.0 or newer**, Python **3.10 or newer**, and an API key from the [dashboard](https://app.protoface.com). Generations use your Protoface API credits at the same [model rates](https://protoface.com/pricing). The extension is free to install. ## Install with ComfyUI Manager 1. Open **Extensions** or **Manager** in ComfyUI. 2. Search **Protoface** and install **protoface-nodes**, published by **protoface** on [Comfy Registry](https://registry.comfy.org/nodes/protoface-nodes). 3. Restart ComfyUI and reload the browser. 4. Click **Protoface** in the lower-right corner and enter your API key. If Manager does not show the package, refresh its catalog. For Git, ZIP, Windows portable, and Desktop installation instructions, use the [installation guide](https://github.com/protoface-ai/protoface-comfyui/blob/master/docs/installation.md). The key stays in the ComfyUI server's memory and is excluded from exported workflows. Enter it again after restarting the server. Anyone who can run workflows on a shared server can use its configured key. ## Make your first generation Open **Templates → the Protoface extension** and choose an included workflow, or search **Protoface**, a model name such as **MiniMax H3** or **LTX 2.5**, or a task such as **Text to Video** in Add Node. Enter your prompt, set the model controls, and queue the graph. Native image, video, and audio connections let you use reference media and feed results into the next step. **Protoface Reuse Result Asset** passes an existing result to another Protoface generation without reuploading it. The [workflow guide](https://github.com/protoface-ai/protoface-comfyui/tree/master/example_workflows) explains the included video, reference-media, asset-reuse, and recovery templates. Model nodes become searchable after you install the extension; Registry and Manager search find the package itself. ## Request a new generation or recover a run Keep **generation\_id** fixed to reuse or resume the same request. Increment it to request a fresh paid generation. Changing the prompt, model controls, or reference inputs also creates a new request. The generation ID is separate from the model's random seed. If execution is interrupted, preserve the workflow and generation ID, then requeue it. **Protoface Resume Run** retrieves an existing run by its run ID without submitting another generation. Preserve the extension's local state directory across updates so it can recover recorded jobs. Cancellation is best effort and does not promise a refund. ## Update models and the extension For compatible new models or controls, click **Protoface → Refresh catalog**, then restart ComfyUI and reload the browser. These updates do not require reinstalling the extension. Protoface settings lists any skipped tasks that need a new adapter; compatible tasks still load. For extension updates, use Manager to install the latest approved Registry version, then restart and reload. A new control type or media adapter may require an extension update. Keep only one installed copy. ## Headless and hosted use For a persistent or headless setup, set `PROTOFACE_API_KEY_FILE` to a private file containing your key before launching ComfyUI. You can also set `PROTOFACE_API_KEY` in the server environment. Keep credentials outside workflow JSON. API-format workflows need a stable, unique `request_scope` for each workflow/node; preserve it when recovering a request. Local ComfyUI and hosted services that permit independent custom nodes can use this extension. Desktop users should follow the managed-environment instructions in the installation guide. **Comfy Cloud does not currently permit installing the Protoface extension**, and Comfy credits do not pay for Protoface API generations. ## Troubleshooting | Problem | What to check | | - | - | | No Protoface nodes | Restart and reload, check the startup log, and confirm there is only one copy installed. | | Authentication or credit error | Re-enter your API key after a restart and check your account's API credits. | | A new model is missing | Refresh the catalog, restart, and reload. Check Protoface settings for skipped tasks. | | A run times out | Keep the generation ID fixed and requeue, or use Resume Run with its run ID. | See the [full troubleshooting guide](https://github.com/protoface-ai/protoface-comfyui/blob/master/docs/installation.md#troubleshooting). For support, include the extension version and run ID, but never your API key. # Errors Source: https://docs.protoface.com/reference/errors Error envelope, stable codes, and retry behavior. A failed request returns a single `error` object. HTTP status and `error.code` are stable. `error.message` is human-readable and may be reworded at any time. ## The error envelope ```json theme={null} { "error": { "type": "invalid_request", "code": "run.operation_required", "message": "Model 'openai/gpt-image-2' exposes several operations; set 'operation' to one of: image.edit, image.generate.", "param": "operation", "request_id": "req_01HYZ..." } } ``` | Field | Type | Notes | | - | - | - | | `type` | string | Stable category. Not always 1:1 with HTTP status. | | `code` | string | Stable subcode (`lower_snake_case` or dotted). | | `message` | string | Human-readable. May change. | | `param` | string or null | Offending field, as a dot-path. | | `request_id` | string | `req_...`. Also on `X-Request-Id`. Include it when contacting support. | ## Error types | HTTP | `error.type` | When | | - | - | - | | 400 | `invalid_request` | Malformed JSON, missing or invalid field | | 401 | `authentication` | Missing or malformed authentication header, or a rejected API key; see [Authentication codes](#authentication-codes) | | 402 | `quota_exceeded` | Not enough credits, or billing is inactive for a credit-gated action | | 403 | `permission` | Account suspended, or this key cannot access the resource | | 404 | `not_found` | Resource does not exist or is not visible to this key | | 409 | `conflict` | Same `Idempotency-Key` with a changed body, or a state conflict | | 422 | `unprocessable` | Valid shape, invalid semantics | | 429 | `rate_limit` | Per-key rate limit | | 429 | `quota_exceeded` | Per-org concurrency or usage quota | | 500 | `internal` | Unexpected server error | | 503 | `service_unavailable` | No capacity, or maintenance | Two failures share HTTP `429` and call for opposite responses. A `rate_limit` means you are asking too fast, so back off and retry. A `quota_exceeded` means a ceiling is full, and backing off will not help until something already running finishes. ## Authentication codes These codes distinguish a Bearer header parse failure from a key lookup or permission failure: | `error.code` | HTTP | When | | - | - | - | | `missing_authorization` | 401 | On Bearer endpoints: the Authorization header is absent, the scheme is not `Bearer` (case-insensitive), the token does not start with `sk_live_`, or fewer than 16 characters follow that prefix. The key was not looked up. | | `missing_api_key` | 401 | The `X-API-Key` header is absent or empty on an Agora endpoint. | | `api_key.unknown` | 401 | The supplied API key did not match any key. | | `api_key.revoked` | 401 | The key is revoked. | | `api_key.expired` | 401 | The key is past its expiry. | | `api_key.environment` | 401 | The key is bound to a different environment than this host. | | `org.suspended` | 403 | The account is suspended. | | `api_key.scope_required` | 403 | The key is valid but lacks a scope required by this call. | `missing_authorization` is a header parse failure, not an account activation error. Its message describes the expected header, `Authorization: Bearer sk_live_…`. Keep branching on `error.code`; the message is readable context rather than a stable contract. On Bearer endpoints, the short dashboard identifier (`sk_live_` plus the last four characters) fails parsing. Agora looks up the `X-API-Key` value directly; an unrecognized value, including the short identifier, returns `api_key.unknown`. Use the full secret shown once at creation. See [Authentication](/guides/authentication#troubleshoot-authentication) for how to check the outgoing header without exposing the secret. ## Inference codes | `error.code` | When | | - | - | | `run.operation_required` | The model has several operations and `operation` was not set | | `run.operation_unsupported` | That operation is not on this model | | `model.not_available` | Model is missing or not accepting runs | | `run.parameter_invalid` | A field failed the model's contract | | `run.field_unsupported` | A field the model's schema does not define | | `run.concurrency_exceeded` | Too many runs queued or running | | `run.rate_limited` | Too many run requests on this key | | `insufficient_credit_balance` | Not enough credits to reserve the run (`402`) | | `run.not_cancelable` | Cancel after the run already completed | | `run.metadata_reserved` | `metadata` used a `protoface_` key | | `run.input_role_dependency` | A field requires another field that was omitted | | `run.input_role_conflict` | Two fields cannot be combined on this model | | `asset.not_available` | An `asset_...` input is missing, deleted, or owned by another org | | `run.input_url_unreachable` | An input URL could not be fetched | Inputs resolve before roles are checked, so a bad asset is reported ahead of an illegal combination. `param` points at the offending input as a dot-path, such as `reference.0` for arrays. A generation that fails after the `202` records the failure on the run, where `status` is `failed` and `error` appears on `GET /v1/runs/{id}`. `/status` returns a normal response describing the failed run, not a second HTTP error. ## Session codes | `error.code` | When | | - | - | | `concurrent_sessions` | Too many sessions running for your plan (`429`) | | `session_start_rate_limited` | Sessions started too quickly (`429`) | | `avatar.not_found` | No such avatar on this account | ## Rate limits and retries `429` and `503` responses may include `Retry-After` in seconds. Use that delay before retrying. Submitting runs too quickly returns `run.rate_limited`, and starting sessions too quickly returns `session_start_rate_limited`. A full ceiling clears when an active run finishes, which `/status` tracks. Monitor queued runs there rather than resubmitting them. A retry with a changed body needs a new `Idempotency-Key`. ## Quota exhaustion `error.code` names whichever resource ran out. Credits return `402` with `insufficient_credit_balance`. Runtime ceilings such as concurrent sessions return `429`. ```json theme={null} { "error": { "type": "quota_exceeded", "code": "concurrent_sessions", "message": "Org org_... already has 5 concurrent sessions (max 5).", "param": null, "request_id": "req_..." } } ``` ## Incidents Active incidents are posted at [status.protoface.com](https://status.protoface.com). If a request fails unexpectedly and nothing is listed there, contact [support](https://protoface.discourse.group/) with the `request_id` from the error response. # MCP server Source: https://docs.protoface.com/reference/mcp Generate media from Codex, Claude Code, or Cursor. `protoface-mcp` is an MCP server for the media generation API. It runs on your machine through `uvx` and authenticates with your API key. It covers models, runs, and assets. Realtime sessions and avatars are not included. You need [uv](https://docs.astral.sh/uv/) and a key from the [dashboard](https://app.protoface.com). Export the full secret shown at creation, rather than the short identifier in the key list: ```bash theme={null} export PROTOFACE_API_KEY="sk_live_..." ``` ## Install Paste this into your agent and it installs itself: ```text theme={null} Install the Protoface MCP server. It is a stdio server: the command is `uvx protoface-mcp@latest` and it needs the environment variable PROTOFACE_API_KEY, which is already set in my shell. Register it under the name "protoface" at user scope, then call its list_models tool to confirm it works. ``` Or run one command: ```bash Codex theme={null} codex mcp add protoface --env PROTOFACE_API_KEY="$PROTOFACE_API_KEY" -- uvx protoface-mcp@latest ``` ```bash Claude Code theme={null} claude mcp add --scope user --env PROTOFACE_API_KEY="$PROTOFACE_API_KEY" protoface -- uvx protoface-mcp@latest ``` ```json Cursor theme={null} // ~/.cursor/mcp.json { "mcpServers": { "protoface": { "command": "uvx", "args": ["protoface-mcp@latest"], "env": { "PROTOFACE_API_KEY": "${env:PROTOFACE_API_KEY}" } } } } ``` `@latest` checks for the newest published version whenever the MCP server starts. For an existing setup, change the command argument from `protoface-mcp` to `protoface-mcp@latest`, then restart the MCP connection. Restart the agent, then ask: ```text theme={null} List the Protoface models and my credit balance. ``` ## Add the skill The server exposes tools. The skill below tells the agent the order to call them in, and it is the same file for every client. Save it as `SKILL.md`: | Client | Path | | - | - | | Codex | `~/.agents/skills/protoface-media/SKILL.md` | | Claude Code | `~/.claude/skills/protoface-media/SKILL.md` | | Cursor | `.cursor/skills/protoface-media/SKILL.md` in the project | ```markdown theme={null} --- name: protoface-media description: Generate images, video, and audio with Protoface models. Use when the user wants to create media, check generation status, download results, or manage generation assets and spend. --- # Protoface media generation Requires the `protoface` MCP server and a `PROTOFACE_API_KEY`. If the tools are missing, point the user to https://docs.protoface.com/reference/mcp. ## Generating Every model has its own input schema. Do not guess a payload. 1. `list_models`, then `get_model` on the one you want. Read `request_schemas` (one JSON schema per operation), `operations`, and `pricing`. If a model has several operations, ask which one. 2. If the payload needs files, `upload_asset` each one first and reference the returned asset ids. 3. `get_quota_limits` before anything large. State the expected cost. 4. `submit_run` with a payload that matches the schema. On any retry, reuse the same `idempotency_key` so the run is not charged twice. 5. Poll `get_run_status` every few seconds until the status is terminal. It is cheaper than `get_run`. `list_run_events` with `after` shows progress on long runs. 6. `get_run` for `outputs[]`. Each entry has `type`: `asset` (a `file.url` and an `asset_id`), `text`, or `data`. `download_asset` writes an asset to disk. ## Statuses `queued` (see `queue_position`) and `running` (see `progress`, 0–100) are in flight. `completed`, `failed` (see `error`), and `canceled` are final. Do not poll a final run. ## Errors Tool errors start with a stable code in brackets, such as `[quota.exceeded]`. Branch on the code. On auth errors ask the user to check the configured full secret in `PROTOFACE_API_KEY`. `[missing_authorization]` means the Bearer header did not parse, before key lookup; check the MCP process's environment and saved configuration, then restart the client. Other auth failures have separate codes at https://docs.protoface.com/reference/errors#authentication-codes. On quota errors report `get_quota_limits` and stop. ## Scope Media generation only. Realtime sessions, avatars, and embeds are separate APIs; send the user to https://docs.protoface.com rather than improvising. ``` ## Example prompts ```text theme={null} Generate an 8-second video of a sailboat crossing a quiet bay at sunrise. ``` ```text theme={null} Find the cheapest image model and generate a 1024x1024 lighthouse with it. ``` ```text theme={null} Download the outputs of my most recent run to ./outputs/. ``` ```text theme={null} How many credits do I have left, and what did I spend this month? ``` ## Tools | Group | Tools | | - | - | | Runs | `submit_run`, `get_run_status`, `get_run`, `cancel_run`, `list_runs`, `list_run_events` | | Models | `list_models`, `get_model` | | Assets | `upload_asset`, `list_assets`, `get_asset`, `download_asset`, `delete_asset` | | Account | `get_usage_summary`, `list_billing_plans`, `get_quota_limits`, `get_status` | Each tool maps to one endpoint in the [API Reference](/api-reference/index). `submit_run` holds the credit estimate when the run is accepted. A cancel that lands after the run has started does not refund the work done. Uploads are capped at 100 MB per file. ## Troubleshooting | Symptom | Fix | | - | - | | `PROTOFACE_API_KEY is not set` | Export the key in the shell that launches the agent, then restart it. | | `[missing_authorization]` | The client process did not send a parseable Bearer secret. Export the full key in the shell that launches the agent. If the MCP registration saved the key with `--env`, update that value too, then restart the agent. See [Authentication](/guides/authentication#troubleshoot-authentication). | | `[api_key.unknown]` | The token passed header parsing but matched no key. Check the saved full secret and the key value in the MCP configuration. | | `[api_key.revoked]` | The key was revoked. Configure an active key from the [dashboard](https://app.protoface.com), then restart the agent. | | `[api_key.expired]` | Configure an unexpired key, then restart the agent. | | `[api_key.environment]` | Use a dashboard key with `https://api.protoface.com`. Check any `PROTOFACE_BASE_URL` override. | | `[org.suspended]` | The account is suspended. | | `[api_key.scope_required]` | The key needs `runs:read` and `runs:write`. See [Authentication](/guides/authentication). | | `[model.not_found]` | Call `list_models`; ids are exact and the catalog changes. | | `[connection_error]` | Network problem between your machine and the API. Check [status](https://status.protoface.com). | | Run stays `queued` | `queue_position` counts the runs ahead of it. Keep polling; do not resubmit. | | Other `[code]` | See [Authentication codes](/reference/errors#authentication-codes) for auth failures and [Errors](/reference/errors) for other documented codes. | # Credits and limits Source: https://docs.protoface.com/reference/quotas Credit reservations, concurrency ceilings, and session limits. API usage is billed in credits worth \$0.01 each. Per-model rates are on [protoface.com/pricing](https://www.protoface.com/pricing). `GET /v1/billing/plans` returns published plan limits and `GET /v1/billing/quota` returns where your account stands against them. `balance_credits` is your spendable total, and `can_start_session` accounts for that and your concurrency. ## Model inference A generation reserves `credit_estimate.maximum_reserved_credits` against your balance up front. A completed run is charged that amount, and a failed run releases it. Canceling before the run starts releases the reservation. Canceling after it starts charges the full reserved amount. A request Protoface rejects outright reserves nothing. ### Concurrency Concurrency is the maximum number of jobs that can be running simultaneously. Your active Monthly Top Up amount determines your concurrency. Additional jobs queue until a running job finishes. | Monthly Top Up amount | Concurrency | | - | - | | Off, with no qualifying payment | 1 | | Off, with a qualifying payment | 3 | | \$100–\$499.99 | 10 | | \$500–\$999.99 | 20 | | \$1,000–\$1,999.99 | 30 | | \$2,000–\$2,999.99 | 40 | | \$3,000 | 50 | Without an active Monthly Top Up, a qualifying payment is an unrefunded credit purchase or paid invoice from the last 30 days, or a paid invoice covering the current billing period. Non-enterprise users can have a maximum of **5,000 in-flight requests** (queued and running combined). Enterprise limits are agreed separately. Reaching the in-flight limit returns `429` with `error.code: "run.concurrency_exceeded"`. Run submissions are separately capped at 60 per minute per key, and exceeding that returns `429` with `error.code: "run.rate_limited"`. Need higher limits? [Contact us](https://protoface.com/enterprise?utm_source=docs\&utm_medium=referral\&utm_campaign=enterprise\&utm_content=reference-quotas). ## Realtime sessions Your plan sets how long each session lasts, and — except on Scale — how many sessions you can run at once. Every session response carries the effective limits for that session. | Plan | Concurrent sessions | Max session duration | | - | - | - | | Free | 1 | 2 minutes | | Starter | 2 | 10 minutes | | Launch | 10 | 20 minutes | | Scale | Uncapped\* | 60 minutes | \*Uncapped means no artificial cap on simultaneous sessions. Ramp and system technical limits still apply, and uncapped does not imply guaranteed concurrency. On capped plans, exceeding your concurrency returns `429` with `error.type: "quota_exceeded"` and `error.code: "concurrent_sessions"`. Session starts are ramp rate-limited on all plans to prevent abuse (see create rate limit below); this affects ramp-up speed only, not your total concurrency budget. If production frequently hits ramp limits, [contact us](https://protoface.com/enterprise?utm_source=docs\&utm_medium=referral\&utm_campaign=enterprise\&utm_content=reference-quotas) to discuss higher ramp limits. | Limit | Default | | - | - | | Idle timeout | 30 seconds without inbound audio, settable from 1 to 600 | | Metadata size | 8 KB | | Create rate limit | 4 requests per minute per org | | Idempotency window | 24 hours | If you send `max_duration_seconds`, Protoface applies the lower of your request and your plan limit. For early capacity planning, divide daily active users by 250 to estimate concurrent sessions. ## Realtime credits Session time rounds up to the nearest minute, at one credit per minute. If your balance is empty, session creation returns `402` with `error.code: "insufficient_credit_balance"`. Free monthly credits do not roll over. Purchased credits roll over without expiry. ## Metadata keys `metadata` is customer-owned JSON with two reservations. Session keys beginning with `_avatar.` are managed by Protoface and reserved for support-directed use. Model-run keys beginning with `protoface_` are rejected.