Skip to main content
Glama
BlockRunAI

BlockRun MCP

Official
by BlockRunAI

blockrun_realface

Enroll a real person's face via phone liveness check to create a reusable asset for personalized Seedance 2.0 videos. Also enroll AI-generated characters directly for virtual portrait use.

Instructions

Enroll a real person's face as a BytePlus RealFace asset, then drive Seedance 2.0 video with it (blockrun_video real_face_asset_id).

A RealFace asset (ta_xxxx) lets Seedance 2.0 / 2.0-fast / 2.0-mini generate video of a SPECIFIC real person — not a generic seed image. Only those three models: seedance-2.5 is numerically newer but does NOT accept ta_ assets, and seedance-1.5-pro never did. Enrollment is a multi-step flow because BytePlus requires a live phone liveness check (the real person nods + blinks on camera) before a face photo can be uploaded.

Actions:

  • init: FREE. Create an asset group + a phone H5 link. The tool renders the link as a QR code and opens it; the real person scans it on their phone and completes the ~1 min liveness check. Pass group_id to refresh an expired link.

  • status: FREE. Poll a group until status:"active" (ready_to_finalize:true). The H5 link is valid ~120s — re-init if it expires.

  • enroll: PAID ($0.01 USDC, Base only). After the group is active, upload a clear front-facing photo (image_url) of the SAME person. Returns the ta_xxxx asset id.

  • portrait: PAID ($0.01 USDC, Base only). Virtual Portrait — enroll an AI-GENERATED character from an image URL directly, NO liveness needed (one step: name + image_url → ta_xxxx). For fictional/AI characters only; for a real person use the init→status→enroll liveness flow.

  • list: FREE. List the RealFace + Virtual Portrait assets enrolled by this wallet (their ta_xxxx ids + names) so you can pick one for blockrun_video.

Typical flow:

  1. blockrun_realface action:"init" name:"Alice" → scan QR on phone, do liveness

  2. blockrun_realface action:"status" group_id:"legacy_rf_…" → repeat until ready_to_finalize:true

  3. blockrun_realface action:"enroll" name:"Alice" group_id:"legacy_rf_…" image_url:"https://…/alice.jpg" → ta_xxxx

  4. blockrun_video model:"bytedance/seedance-2.0" real_face_asset_id:"ta_xxxx" prompt:"…"

Privacy: BlockRun does not store face/liveness data — only the asset id, name, and the photo URL you supply.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoDisplay name for the person/character (required for init, enroll, and portrait).
actionYesWhat to do
agent_idNoAgent identifier for budget tracking and enforcement (enroll only).
group_idNoAsset-group id from init (required for status and enroll; pass to init to refresh an expired H5 link). Not used by portrait.
image_urlNoPublic HTTPS URL to a clear front-facing face image (JPG/PNG/WEBP, ≤10MB). Required for enroll and portrait.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes far beyond the sparse annotations (all false) by disclosing costs (FREE vs. paid $0.01 USDC), the mandatory liveness check, the H5 link expiration (~120s), the multi-step enrollment process, and a privacy statement. It also explains that enrollment is not a single step and that group_id can be reused to refresh an expired link. This fully compensates for the lack of annotation detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lengthy but well-structured: a clear introductory sentence, an explanatory paragraph about RealFace assets, a bulleted list of actions with costs and requirements, a numbered typical flow, and a privacy note. Every section delivers essential information, and the front-loading makes the purpose immediately clear. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with five actions, no output schema, and minimal annotation signals, the description is remarkably complete. It covers return values (ta_xxxx ids), prerequisites (liveness, public image URL), expiration behavior, model compatibility constraints, cost implications, and a concrete usage example. It leaves no major gaps for an agent to select and invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema already provides per-parameter descriptions (100% coverage), the description adds critical semantics: it explains that group_id must come from init, that image_url must be a clear front-facing photo, that name is required for init/enroll/portrait, and that agent_id is for budget tracking on enroll. It also clarifies that group_id is not used by portrait, which is not obvious from the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's core function with a specific verb ('Enroll') and resource ('a real person's face as a BytePlus RealFace asset'), and explicitly distinguishes it from sibling blockrun_video by explaining that the asset is later consumed by that tool. It also differentiates between real-face enrollment (init/status/enroll) and AI character enrollment (portrait), leaving no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance: which models accept ta_ assets, when to use portrait vs. the liveness flow, and the exact sequence of actions in a typical flow. It also names the alternative (blockrun_video) and clarifies that this tool is for creating the asset, not generating video.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BlockRunAI/blockrun-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server