Saltar al contenido
Referencia de API
Referencia de API

Gemini Omni Crear personaje

Usa el endpoint de creación de personaje para recibir un resultado en la misma respuesta.

01

Descripción general

Usa el endpoint de creación de personaje y lee el resultado de la misma respuesta.

Inicio rápido

  1. Cree una Clave de API y establézcala como RUNAPI_API_KEY.
  2. Envíe una solicitud POST cuyo cuerpo coincida con el esquema de la solicitud.
  3. Lea el resultado en el cuerpo de la respuesta exitosa.

Endpoint

POST /api/v1/gemini_omni/create_character
URL base
https://runapi.ai
Versión de la API
v1
Autenticación
Authorization: Bearer YOUR_API_TOKEN
02

Modelos compatibles

Abra una página de modelo para conocer los precios actuales, los límites de velocidad y los detalles de uso comercial.

03

Esquema de solicitud

Cuerpo JSON

Envíe únicamente los campos declarados para este endpoint.

gemini-omni-character5 campos
audio_idsarray
Opcional

IDs de preajuste de audio devueltos por create-audio.

body_reference_image_urlstring
Opcional

URL de imagen de referencia de cuerpo completo pública opcional; reference_image_url debe proporcionar el retrato.

character_namestring
Opcional

Nombre de visualización del personaje.

Límite: 210
descriptionsstring
Obligatorio

Descripción de la apariencia, identidad, estilo, ropa o personalidad del personaje.

Límite: 20000
reference_image_urlstring
Obligatorio

URL pública de imagen de referencia de retrato.

04

Respuesta de éxito

HTTP 200

POST /api/v1/gemini_omni/create_character

Esquema de respuesta
JSON
{
  "properties": {
    "billing": {
      "properties": {
        "refund": {
          "oneOf": [
            {
              "properties": {
                "refunded_at": {
                  "type": "string"
                }
              },
              "required": [
                "refunded_at"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        },
        "reservation": {
          "oneOf": [
            {
              "properties": {
                "amount_cents": {
                  "type": "integer"
                }
              },
              "required": [
                "amount_cents"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        },
        "settlement": {
          "oneOf": [
            {
              "properties": {
                "amount_micro_cents": {
                  "type": "integer"
                },
                "charged_amount_cents": {
                  "type": "integer"
                }
              },
              "required": [
                "charged_amount_cents",
                "amount_micro_cents"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        }
      },
      "required": [
        "reservation",
        "settlement",
        "refund"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    "character": {
      "properties": {
        "id": {
          "description": "Identificador del personaje creado.",
          "type": "string"
        },
        "images": {
          "description": "Imágenes de referencia de personaje ordenadas; primero el retrato y, opcionalmente, la imagen de cuerpo completo como segunda.",
          "items": {
            "properties": {
              "url": {
                "type": "string",
                "x-runapi-generated-media": true
              }
            },
            "required": [
              "url"
            ],
            "type": "object",
            "unevaluatedProperties": false
          },
          "maxItems": 2,
          "type": "array"
        },
        "name": {
          "description": "Nombre de visualización del personaje.",
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    "id": {
      "description": "Identificador del personaje creado.",
      "type": "string"
    }
  },
  "required": [
    "id",
    "character",
    "billing"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

JSON
{
  "billing": {
    "refund": null,
    "reservation": null,
    "settlement": null
  },
  "character": {
    "id": "chr_reference_presenter",
    "images": [
      {
        "url": "https://cdn.runapi.ai/public/samples/portrait.jpg"
      },
      {
        "url": "https://cdn.runapi.ai/public/samples/image.jpg"
      }
    ],
    "name": "Studio Presenter"
  },
  "id": "chr_reference_presenter"
}
05

Errores

HTTP 401

POST /api/v1/gemini_omni/create_character

Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Mensaje de error legible por personas.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

JSON
{
  "error": "Authentication required"
}
06

Errores

HTTP 400

POST /api/v1/gemini_omni/create_character

Esquema de respuesta
JSON
{
  "oneOf": [
    {
      "properties": {
        "error": {
          "description": "Mensaje de error legible por personas.",
          "type": "string"
        }
      },
      "required": [
        "error"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    {
      "properties": {
        "error": {
          "description": "Resumen de validación legible por personas.",
          "type": "string"
        },
        "errors": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": "Mensajes de validación con clave por campo de solicitud público, con un array de cadenas legibles por personas para cada campo.",
          "type": "object"
        }
      },
      "required": [
        "error",
        "errors"
      ],
      "type": "object",
      "unevaluatedProperties": false
    }
  ]
}

Ejemplo de respuesta

JSON
{
  "error": "Validation failed",
  "errors": {
    "descriptions": [
      "is required"
    ]
  }
}
07

Errores

HTTP 402

POST /api/v1/gemini_omni/create_character

Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Mensaje de error legible por personas.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

JSON
{
  "error": "Insufficient balance"
}
08

Errores

HTTP 429

POST /api/v1/gemini_omni/create_character

Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Mensaje de error legible por personas.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

JSON
{
  "error": "API key credit limit exceeded"
}
09

Errores

HTTP 409

POST /api/v1/gemini_omni/create_character

Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Mensaje de error legible por personas.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

JSON
{
  "error": "The request uses features that are not supported for the selected model"
}
10

Errores

HTTP 429

POST /api/v1/gemini_omni/create_character

Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Mensaje de error legible por personas.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

JSON
{
  "error": "Rate limit reached. Please retry later."
}
11

Errores

HTTP 503

POST /api/v1/gemini_omni/create_character

Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Mensaje de error legible por personas.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

JSON
{
  "error": "Service under maintenance, please try again later"
}
12

Errores

HTTP 504

POST /api/v1/gemini_omni/create_character

Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Mensaje de error legible por personas.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

JSON
{
  "error": "The request timed out"
}
13

Ejemplos de código generados

Usa cURL directamente o instala un SDK para tu lenguaje. Cada muestra envía la solicitud validada que se muestra en esta referencia.

Instalar

Shell
pip install runapi-gemini-omni
PYTHON
import os
from runapi.gemini_omni import GeminiOmniClient

client = GeminiOmniClient(api_key=os.environ["RUNAPI_API_KEY"])
result = client.create_character.run(
  descriptions="A presenter wearing a blue jacket in a bright studio.",
  reference_image_url="https://cdn.runapi.ai/public/samples/portrait.jpg",
  body_reference_image_url="https://cdn.runapi.ai/public/samples/image.jpg",
  character_name="Studio Presenter"
)