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

# Crun Pruna 数字人 API

> 通过单张人像图片结合文字脚本或音频片段，生成说话人头视频。上传一张照片，提供台词（或用于口型同步的音频），即可获得该人物的说话视频。

## 概述

p-video-avatar 是 Pruna 推出的首款 Avatar 模型，专为速度与成本优化——是该类别中最具价格优势的
Avatar/口型同步方案——同时仍能呈现自然的口型动作与面部表情。

## 查询任务状态

提交任务后，使用统一查询端点查看进度并获取结果：

<Card title="获取任务信息" icon="magnifying-glass" href="/zh/models/common/get-task-info">
  了解如何查询任务状态及获取生成结果
</Card>

<Tip>
  对于生产环境，我们建议在创建任务时使用 `callback_url` 参数，以便在生成完成时自动接收通知，而非持续轮询状态端点。
</Tip>

## 相关资源

<CardGroup cols={2}>
  <Card title="模型概览" icon="store" href="/zh/models/quickstart">
    探索所有可用模型
  </Card>

  <Card title="通用 API" icon="gear" href="/zh/common-api/get-account-credits">
    查询账户剩余积分
  </Card>
</CardGroup>


## OpenAPI

````yaml zh/models/prunaai/p-video-avatar.json post /api/v1/client/job/CreateTask
openapi: 3.0.0
info:
  title: Crun prunaai p-video-avatar API
  description: crun.ai Prunaai API 文档
  version: 1.0.0
  contact:
    name: 技术支持
    email: support@crun.ai
servers:
  - url: https://api.crun.ai
    description: API 服务器
security:
  - ApiKeyAuth: []
paths:
  /api/v1/client/job/CreateTask:
    post:
      summary: prunaai p-video-avatar 图像转视频生成
      operationId: prunaai/p-video-avatar
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              properties:
                model:
                  type: string
                  enum:
                    - prunaai/p-video-avatar
                  description: |-
                    用于生成的模型名称，必填字段。

                    - 使用本端点时必须填写 `prunaai/p-video-avatar`
                callback_url:
                  type: string
                  format: uri
                  description: |-
                    可选。用于接收任务完成通知的回调 URL。

                    - 生成完成后，系统将以 POST 方式向该 URL 推送任务状态与结果
                    - 回调数据结构与任务状态查询接口返回的 `data` 对象一致
                    - 您的回调端点需支持接收包含结果的 JSON 格式 POST 请求
                    - 成功接收后需返回 HTTP 200 状态码
                  example: https://your-domain.com/api/callback
                input:
                  type: object
                  description: PrunaAI Video Avatar 模型的输入参数。`audio_url`和`text`至少提供一个
                  properties:
                    image_url:
                      type: string
                      format: uri
                      description: p-video-avatar 输入图像。支持 jpg、jpeg、png、webp 格式。
                      example: https://example.com/avatar.jpg
                    resolution:
                      type: string
                      description: 视频分辨率。
                      enum:
                        - 720p
                        - 1080p
                      default: 720p
                      example: 720p
                    audio_url:
                      type: string
                      format: uri
                      nullable: true
                      description: 可选。用于引导视频生成的上传音频。若同时提供音频和文字脚本，优先使用上传的音频。
                      example: https://example.com/audio.mp3
                    voice:
                      type: string
                      nullable: true
                      description: 生成语音所使用的音色。
                      enum:
                        - Zephyr (Female)
                        - Puck (Male)
                        - Charon (Male)
                        - Kore (Female)
                        - Fenrir (Male)
                        - Leda (Female)
                        - Orus (Male)
                        - Aoede (Female)
                        - Callirrhoe (Female)
                        - Autonoe (Female)
                        - Enceladus (Male)
                        - Iapetus (Male)
                        - Umbriel (Male)
                        - Algenib (Male)
                        - Despina (Female)
                        - Erinome (Female)
                        - Laomedeia (Female)
                        - Achernar (Female)
                        - Algieba (Male)
                        - Schedar (Male)
                        - Gacrux (Female)
                        - Pulcherrima (Female)
                        - Achird (Male)
                        - Zubenelgenubi (Male)
                        - Vindemiatrix (Female)
                        - Sadachbia (Male)
                        - Sadaltager (Male)
                        - Sulafat (Female)
                        - Alnilam (Male)
                        - Rasalgethi (Male)
                      example: Zephyr (Female)
                    voice_language:
                      type: string
                      description: 输出语言
                      enum:
                        - English (US)
                        - English (UK)
                        - Spanish
                        - French
                        - German
                        - Italian
                        - Portuguese (Brazil)
                        - Japanese
                        - Korean
                        - Hindi
                      default: English (US)
                      example: English (US)
                    text:
                      type: string
                      nullable: true
                      description: 未上传音频时，人物说话所使用的文字内容。
                      minLength: 1
                      maxLength: 5000
                      example: Hello everyone, welcome to our presentation.
                    voice_prompt:
                      type: string
                      nullable: true
                      description: 可选。语音风格、语气、节奏及情感描述。
                      minLength: 1
                      maxLength: 1000
                      example: Warm, friendly female narration voice.
                    video_prompt:
                      type: string
                      nullable: true
                      description: 可选。视频生成的提示词。
                      minLength: 1
                      maxLength: 5000
                      example: >-
                        The avatar smiles naturally and speaks with subtle head
                        movements.
                    disable_safety_filter:
                      type: boolean
                      description: 禁用针对提示词和输入图像的安全过滤器。
                      default: true
                      example: true
                  required:
                    - image_url
            example:
              model: prunaai/p-video-avatar
              input:
                image_url: https://example.com/avatar.jpg
                resolution: 1080p
                voice: Zephyr (Female)
                voice_language: English (US)
                text: Hello everyone, welcome to our presentation today.
                voice_prompt: Warm, professional female narration voice.
                video_prompt: >-
                  The avatar speaks naturally with subtle facial expressions and
                  smooth head movements.
                disable_safety_filter: true
      responses:
        '200':
          description: 请求成功
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResponse'
                  - type: object
                    properties:
                      data:
                        type: object
                        properties:
                          task_id:
                            type: string
                            description: 任务 ID，可通过获取任务详情接口查询任务状态
                            example: task_12345678
              example:
                code: 200
                message: success
                data:
                  task_id: task_12345678
        '422':
          description: 验证错误
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResponse'
                  - type: object
                    properties:
                      errors:
                        type: array
                        description: 详细的验证错误信息
                        items:
                          type: string
                        example:
                          - specific error field message
              example:
                code: 422
                message: Missing Params or Type Error
                errors:
                  - specific error field message
        '500':
          $ref: '#/components/responses/Error'
components:
  schemas:
    ApiResponse:
      type: object
      properties:
        code:
          type: integer
          enum:
            - 200
            - 401
            - 402
            - 404
            - 422
            - 429
            - 455
            - 500
            - 501
            - 505
          description: |-
            响应状态码

            - **200**: 成功 - 请求已成功处理
            - **401**: 未授权 - 身份凭证缺失或无效
            - **402**: 额度不足 - 账户余额不足以完成本次操作
            - **404**: 未找到 - 请求的资源或端点不存在
            - **422**: 验证错误 - 请求参数未通过验证
            - **429**: 请求限速 - 该资源的请求次数已超出限制
            - **455**: 服务不可用 - 系统正在维护中
            - **500**: 服务器错误 - 处理请求时发生意外错误
            - **501**: 生成失败 - 内容生成任务失败
            - **505**: 功能已禁用 - 所请求的功能当前已被禁用
        message:
          type: string
          description: 响应消息，失败时为错误描述
          example: success
  responses:
    Error:
      description: 服务器错误
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: |-
        所有 API 均需通过 API Key 进行身份验证。

        获取 API Key：
        1. 访问 [API Key 管理页面](https://crun.ai/zh/user-api-key) 获取您的 API Key

        使用方式：
        将以下内容添加至请求头：

        x-api-key: YOUR_API_KEY

        注意事项：
        - 请妥善保管您的 API Key，切勿与他人共享
        - 若怀疑 API Key 已泄露，请立即在管理页面进行重置

````