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

# SP Submit Real-Person Whitelist

> 提交真人图片素材进行加白处理，完成后可用于 SP 经济版视频生成。

Submit a real-person portrait for whitelist processing. Once active, the asset can be used in SP economy video generation.

## Flow

1. Call this endpoint with a portrait URL
2. Poll [Query Real-Person Status](/en/api-reference/seedance/sp/realperson-status) using the returned `asset_id`
3. When `status` is `Active`, use `asset_ref` or `asset://{asset_id}` in [SP Create Video](/en/api-reference/seedance/sp/create)

## Request body

| Field  | Type   | Required | Description               |
| ------ | ------ | -------- | ------------------------- |
| `name` | string | Yes      | Asset name                |
| `url`  | string | Yes      | Public portrait image URL |

## Example

```bash theme={null}
curl -X POST 'https://www.jimmyai.cn/api/open-api/v1/seedance/sp/realperson/submit' \
  -H 'Authorization: Bearer sk_xxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "portrait-front",
    "url": "https://example.com/portrait.jpg"
  }'
```

## Response

```json theme={null}
{
  "code": 0,
  "msg": "ok",
  "data": {
    "asset_id": "official_id_xxx",
    "status": "Processing",
    "asset_ref": null,
    "name": "portrait-front",
    "url": "https://example.com/portrait.jpg"
  }
}
```

After submission, `status` is usually `Processing` and `asset_ref` is `null` until processing completes.


## OpenAPI

````yaml POST /api/open-api/v1/seedance/sp/realperson/submit
openapi: 3.1.0
info:
  title: Jimmy AI OpenAPI
  description: API for Jimmy AI video generation services
  version: 1.0.0
servers:
  - url: https://www.jimmyai.cn
    description: Production server
security:
  - bearerAuth: []
paths:
  /api/open-api/v1/seedance/sp/realperson/submit:
    post:
      summary: SP Submit Real-Person Whitelist
      description: >-
        Submit a real-person portrait for whitelist processing on the SP economy
        route.
      operationId: submitSeedanceSpRealPerson
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SeedanceSpRealPersonSubmitRequest'
      responses:
        '200':
          description: Submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SeedanceSpRealPersonResponse'
components:
  schemas:
    SeedanceSpRealPersonSubmitRequest:
      type: object
      required:
        - name
        - url
      properties:
        name:
          type: string
          description: Real-person asset name
        url:
          type: string
          description: Public portrait image URL
    SeedanceSpRealPersonResponse:
      type: object
      properties:
        code:
          type: integer
          example: 0
        msg:
          type: string
          example: ok
        data:
          type: object
          properties:
            asset_id:
              type: string
            official_id:
              type: string
            status:
              type: string
              description: Processing / Active / Failed
            asset_ref:
              type: string
              description: Reference usable in video create requests
            name:
              type: string
            url:
              type: string
            created_at:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````