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

# Real-human asset verification

> Create verified real-human assets for Seedance 2.0 video generation with BytePlus real-person verification.

Use real-human asset verification when you need to generate Seedance 2.0 videos with an authorized real person's portrait. BytePlus documents this flow as **Add real-human assets to asset library** and describes it as a private trusted asset library for authorized real-human portrait assets.

In Anyfast, this flow maps to `LivenessFace` asset groups. You create a mobile verification session, the authorizing person completes real-person verification on a phone, then you upload face-matched assets and use them with `asset://<asset_id>` in Seedance 2.0 requests.

<Info>
  Official BytePlus terms include **real-human assets**, **real-person verification**, and **private trusted asset library**. Anyfast keeps `LivenessFace` as the API group type because it is the upstream asset group type returned by the verification flow.
</Info>

<Warning>
  Real-human asset verification requires an API token created with the **Byteplus-Direct** group. Tokens routed to regular AIGC assets only support `GroupType: "AIGC"` and cannot create verification sessions or LivenessFace assets.
</Warning>

## When to use this flow

* You have authorization from the real person whose portrait will be used.
* You need reusable portrait assets for Seedance 2.0 video generation.
* You want to pass verified images, videos, or audio as `asset://<asset_id>` instead of public URLs.

## Workflow

<Steps>
  <Step title="Create a verification session">
    Call `CreateVisualValidateSession` to get an `H5Link` and `BytedToken`.

    ```bash cURL theme={null}
    curl https://www.anyfast.ai/volc/asset/CreateVisualValidateSession \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "CallbackURL": "https://example.com/callback"
      }'
    ```
  </Step>

  <Step title="Ask the person to verify on mobile">
    Send the returned `H5Link` to the authorizing person. They open it on a phone and complete real-person verification.
  </Step>

  <Step title="Query the verification result">
    After verification is complete, query the result with `BytedToken`. A successful result returns a `GroupId` for the `LivenessFace` asset group.

    ```bash cURL theme={null}
    curl https://www.anyfast.ai/volc/asset/GetVisualValidateResult \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "BytedToken": "2026070222152680501D985EA34A3BE3D8"
      }'
    ```
  </Step>

  <Step title="Upload matching real-human assets">
    Upload a portrait image, video, or audio file to the returned group. Images and videos are checked for consistency with the verified person.

    ```bash cURL theme={null}
    curl https://www.anyfast.ai/volc/asset/CreateAsset \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "volc-asset",
        "GroupId": "group-20260702221642-5czvq",
        "Name": "portrait-front",
        "AssetType": "Image",
        "URL": "https://example.com/portrait.jpg"
      }'
    ```
  </Step>

  <Step title="Use the asset in Seedance 2.0">
    After the asset status becomes `Active`, pass it as `asset://<asset_id>` in the matching content URL field.

    ```json theme={null}
    {
      "type": "image_url",
      "image_url": {
        "url": "asset://asset-20260702223855-bdv2r"
      },
      "role": "reference_image"
    }
    ```
  </Step>
</Steps>

## Asset requirements

Use clear assets that match the verified person. BytePlus recommends clear, front-facing images for consistency checks.

| Asset type | Supported formats               | Limits                                                     |
| ---------- | ------------------------------- | ---------------------------------------------------------- |
| Image      | JPEG, JPG, PNG, WebP, GIF, HEIC | Less than 30 MB, 300-6000 px, aspect ratio 0.4-2.5         |
| Video      | MP4, MOV                        | Up to 50 MB, 2-15 seconds, 24-60 FPS, aspect ratio 0.4-2.5 |
| Audio      | MP3, WAV                        | Up to 15 MB, 2-15 seconds                                  |

<Note>
  Uploading assets from different people into the same real-human asset group is not supported. Each upload is checked against the verified person for that group.
</Note>

## Troubleshooting

| Symptom                           | Meaning                                                 | Fix                                                             |
| --------------------------------- | ------------------------------------------------------- | --------------------------------------------------------------- |
| `GroupType must be one of [AIGC]` | The token is routed to the regular AIGC asset group.    | Create a token with the **Byteplus-Direct** group.              |
| `FaceMismatch`                    | The uploaded face does not match the verified person.   | Upload a clearer front-facing asset of the same person.         |
| `GroupId` is empty                | Verification is not finished or did not create a group. | Ask the person to finish the H5 verification, then query again. |
| `asset group ... not found`       | The group belongs to a different token/account.         | Use the same token that created the verification session.       |

## Related APIs

<CardGroup cols={2}>
  <Card title="Create Liveness Session" icon="scan-face" href="/api-reference/model-api/bytedance/volc-asset-create-visual-validate-session">
    Create the mobile real-person verification session.
  </Card>

  <Card title="Get Liveness Result" icon="badge-check" href="/api-reference/model-api/bytedance/volc-asset-get-visual-validate-result">
    Query the LivenessFace group created by a verification session.
  </Card>

  <Card title="Create Asset" icon="upload" href="/api-reference/model-api/bytedance/volc-asset-create-image">
    Upload a matching image asset to the verified group.
  </Card>

  <Card title="Seedance 2.0 Asset Management" icon="folder-open" href="/guides/model-api/bytedance/volc-asset">
    Manage asset groups and reusable `asset://` references.
  </Card>
</CardGroup>

## Official reference

See BytePlus ModelArk: [Add real-human assets to asset library](https://docs.byteplus.com/en/docs/ModelArk/2315856).
