_ registry / mcp streamable-http · checked 34m ago

vivideo

https://api.vivideo.ai

Registry code: 25d1e33e461185dc

api record

Vivideo generates AI videos (auto avatar videos and 30+ manual models). Call check_configuration first, then check_account to confirm plan/credits. Create with create_auto_video or create_manual_video (list_models for ids/options), then wait_for_video until it returns timed_out: false. Estimates via estimate_credits. Docs: https://developers.vivideo.ai

endpoint
https://api.vivideo.ai/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is vivideo live?
Yes — it answered the hub's last check (checked 34m ago). It answered 100% of checks over the last 30 days.
Is vivideo free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does vivideo have?
13 tools: estimate_credits, create_auto_video, create_manual_video, wait_for_video, render_preview, check_configuration, list_avatars, list_videos, ….
Is vivideo safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.6%

90 days 99.7%· all time 99.7%

latency
218ms

last good check

priced tools
0

of 13 tools

_ answered our checks, 90 days 384 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • unknown → live
_ what it is for
used for
  • generate an ai avatar video from a prompt
  • generate a video with a chosen model
  • estimate video generation credits
  • check video status
  • list avatars and voices
takes → gives
text, images → video, data
tools
10 reads3 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 13 tools
1 open7 auth-required 5 never probed 8 of 13 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • check_configuration reads open 17h ago

    Check whether a Vivideo API key is present on this request. Call this FIRST. Returns { configured: boolean }. If false, ask the user to add an Authorization: Bearer vv_live_... header to the MCP server config (a key from https://app.vivideo.ai/account/api-keys). Never asks for or exposes the key.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • list_avatars reads auth-required 10h ago

    List available avatars for auto-mode videos (the stock catalogue plus the account's own avatars). Stock avatars are grouped by person, each with a `looks` array — pass a looks[].avatar_id (or an owned avatar's id) as `avatar_id` in create_auto_video. Use `search`/`limit` to keep responses small.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Max avatars to return (default 20)."
        },
        "gender": {
          "enum": [
            "male",
            "female",
            "unspecified"
          ],
          "type": "string"
        },
        "search": {
          "type": "string",
          "description": "Filter avatars by name."
        }
      }
    }
    arguments 23 lines
  • list_videos reads auth-required 2h ago

    List the account's videos, newest first. Filter by status and limit the count to keep responses small.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Default 20."
        },
        "status": {
          "enum": [
            "queued",
            "processing",
            "completed",
            "failed",
            "preview"
          ],
          "type": "string"
        }
      }
    }
    arguments 21 lines
  • get_video reads auth-required 2h ago

    Get a video's current status and result. status is one of queued | processing | completed | failed | preview. When completed, video_url is the MP4. When failed, credits are refunded and error explains why. Cheap; prefer wait_for_video for polling instead of calling this in a tight loop.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The video id from a create call."
        }
      }
    }
    arguments 12 lines
  • check_account reads auth-required 17h ago

    Get the account plan, premium status, and remaining credit balance. Use this to decide whether the user can generate a video (rendering needs a premium plan and enough credits). Returns plan, premium, credits, free_video_available, and links (upgrade / buy_credits). Cheap and safe to call often.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • list_voices reads auth-required 17h ago

    List available voices for auto-mode videos. Returns voice ids to pass as `voice_id` in create_auto_video. Filter by language/gender/search and cap with `limit`. Voice cloning is not available via the API.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Max voices (default 20)."
        },
        "gender": {
          "type": "string"
        },
        "search": {
          "type": "string"
        },
        "language": {
          "type": "string",
          "description": "e.g. \"English\"."
        }
      }
    }
    arguments 21 lines
  • list_models reads auth-required 10h ago

    List the video models available for MANUAL mode plus the auto-generate pipeline (id "vivideo-auto"). Each model lists its operations, allowed durations, resolutions, aspect ratios, style presets and per-second credit rate — use these to build a valid create request. Filter with `mode` to keep the response small.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "mode": {
          "enum": [
            "auto",
            "manual"
          ],
          "type": "string",
          "description": "Only return models for this mode."
        }
      }
    }
    arguments 13 lines
  • list_brand_kits reads auth-required 10h ago

    List the account's brand kits (logo, colors, fonts, motion style). Returns brand_ref ids to pass as `brand_kit_id` in create_auto_video to produce an on-brand video.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • estimate_credits reads unknown never probed

    Estimate the credits a generation will cost, from the published per-model rates — BEFORE creating it. This is an estimate, not a charge; the exact amount is returned as credits_charged when you create the video. Use it with check_account to confirm the user can afford the request.

    mcp-tool

    {
      "type": "object",
      "required": [
        "mode"
      ],
      "properties": {
        "mode": {
          "enum": [
            "auto",
            "manual"
          ],
          "type": "string"
        },
        "model": {
          "type": "string",
          "description": "Required for manual mode — a model id from list_models."
        },
        "resolution": {
          "type": "string",
          "description": "Manual mode — one of the model's resolutions."
        },
        "duration_seconds": {
          "type": "integer",
          "minimum": 1
        }
      }
    }
    arguments 27 lines
  • create_auto_video changes data unknown never probed

    Create a video in AUTO mode: Vivideo writes the script and produces a complete AI-avatar video from your prompt. Returns immediately with a video id and status "processing" (paid) or "preview" (free accounts — see the preview field and upgrade link). Then call wait_for_video or get_video. An Idempotency-Key is sent automatically so a retry never creates a duplicate. Rendering requires a premium plan and credits.

    mcp-tool

    {
      "type": "object",
      "required": [
        "prompt"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 60
        },
        "prompt": {
          "type": "string",
          "maxLength": 5000,
          "minLength": 1,
          "description": "What the video should show or say."
        },
        "voice_id": {
          "type": "string",
          "description": "From list_voices."
        },
        "avatar_id": {
          "type": "string",
          "description": "From list_avatars. Omit for a default presenter."
        },
        "folder_id": {
          "type": "string"
        },
        "orientation": {
          "enum": [
            "landscape",
            "portrait"
          ],
          "type": "string"
        },
        "brand_kit_id": {
          "type": "string",
          "description": "A brand_ref from list_brand_kits."
        },
        "idempotency_key": {
          "type": "string",
          "maxLength": 255,
          "description": "Optional. Reuse the same key to make a retry safe."
        },
        "duration_seconds": {
          "type": "integer",
          "maximum": 300,
          "minimum": 5,
          "description": "5–300, default 30."
        }
      }
    }
    arguments 51 lines
  • create_manual_video changes data unknown never probed

    Create a video in MANUAL mode: send your prompt straight to a specific model (get ids/options from list_models). The operation is inferred from inputs — add image_url for image-to-video. resolution/duration/aspect_ratio must match the model (an invalid value returns a 400 listing what is allowed). Returns a video id and status; then wait_for_video or get_video. Idempotency handled automatically.

    mcp-tool

    {
      "type": "object",
      "required": [
        "model",
        "prompt"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 60
        },
        "seed": {
          "type": "integer"
        },
        "model": {
          "type": "string",
          "description": "A model id from list_models, e.g. \"veo31_fast\"."
        },
        "style": {
          "type": "string"
        },
        "prompt": {
          "type": "string",
          "maxLength": 5000,
          "minLength": 1
        },
        "folder_id": {
          "type": "string"
        },
        "image_url": {
          "type": "string",
          "description": "Public https image → image-to-video."
        },
        "resolution": {
          "type": "string"
        },
        "aspect_ratio": {
          "type": "string"
        },
        "generate_audio": {
          "type": "boolean"
        },
        "idempotency_key": {
          "type": "string",
          "maxLength": 255
        },
        "negative_prompt": {
          "type": "string"
        },
        "duration_seconds": {
          "type": "integer",
          "minimum": 1,
          "description": "Must be one of the model's durations."
        }
      }
    }
    arguments 56 lines
  • wait_for_video reads unknown never probed

    Wait for a video to reach a terminal state (completed / failed / preview), then return it. Polls safely at the API-suggested interval for up to ~20 seconds per call (HTTP requests are time-capped). If it does not finish in time it returns { timed_out: true } with the latest status — simply call it again with the same id to keep waiting. It never blocks indefinitely or over-polls.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "timeout_seconds": {
          "type": "integer",
          "maximum": 20,
          "minimum": 5,
          "description": "Max wait per call (default 20, cap 20)."
        }
      }
    }
    arguments 17 lines
  • render_preview changes data unknown never probed

    For FREE accounts only: after the user upgrades, render a video that was returned as status "preview". Charges run on the same project (the first video after upgrading is free). If the video is already rendering/complete, returns its current state. If the account is still free, returns an upgrade_required error with an upgrade link.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The preview video id."
        }
      }
    }
    arguments 12 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 25d1e33e461185dc.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/25d1e33e461185dc/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/25d1e33e461185dc/badge.svg)](https://brick.blue/agent/25d1e33e461185dc?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.