Gemini Omni Character
This page is generated from the upstream official OpenAPI documentation. Endpoints, parameters and examples match the official docs; brand and API domain are replaced with ModelFold.
Endpoint
POST /omni/character/create
Full URL: https://ai.modelfold.online/v1/omni/character/create
Authentication: every request must include the
Authorization: Bearer <API_KEY>header.
- image_urls supports 1–2 images (index 0 portrait, index 1 optional full-body), each up to 20MB.
audio_idsmust come from thegemini-omni-audioendpoint
Create Task
Use this endpoint to create a new character.
TIP
This endpoint is free.
Related Resources
- Model Marketplace — Explore all available models and capabilities
- Common API — Check account credits and usage
Request Parameters
Body (application/json)
| Parameter | Type | Required | Description |
|---|---|---|---|
descriptions | string | Yes | Character description used to define the appearance, identity, style, clothing, or personality of the character. 示例:A young female character with short silver hair and a futuristic utility jacket, calm, agile, and strongly cyberpunk in style.。 |
image_urls | array<string> | Yes | Array of character reference image URLs. Up to 2 images are supported. Index 0 is the portrait image, and index 1 is the body image. The body image is optional, but if provided, the portrait image must be present at index 0. Image limits: - Each image must be no larger than 20MB- Use a publicly accessible image URL |
audio_ids | array<string> | No | Array of audio IDs generated by the gemini-omni-audio endpoint. These can be used to provide voice traits, tone, or persona guidance for the character. |
character_name | string | No | Character name |
Request Example
bash
curl -X POST "https://ai.modelfold.online/v1/omni/character/create" \
-H "Authorization: Bearer $MODELFOLD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "A young female character with short silver hair and a futuristic utility jacket, calm, agile, and strongly cyberpunk in style.",
"image_urls": [
"https://example.com/assets/character-reference.png"
],
"audio_ids": [
"audio_01hx8p0demo"
],
"character_name": "Jenny"
}'json
{
"description": "A young female character with short silver hair and a futuristic utility jacket, calm, agile, and strongly cyberpunk in style.",
"image_urls": [
"https://example.com/assets/character-reference.png"
],
"audio_ids": [
"audio_01hx8p0demo"
],
"character_name": "Jenny"
}Response
200 — Request successful
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
code | integer | 否 | Status code of the request. The HTTP status is 200 even when the request fails, so always check this field: 200 means success; any other value means the request failed and msg describes the reason. Common values: 401 invalid or missing API key; 402 insufficient credits; 429 rate limit exceeded; 422 or 500 the request could not be processed (read msg and check your parameters before retrying). |
data | object | 否 | — |
data.characterName | string | 否 | — |
data.imageUrl | string | 否 | — |
data.characterId | string | 否 | — |
data.bodyImageUrl | string | 否 | — |
msg | string | 否 | — |
json
{
"code": 200,
"msg": "success",
"data": {
"characterId": "b09dbf56...",
"characterName": "cute character",
"imageUrl": "https://xx.com/profile.png",
"bodyImageUrl": "https://xx.com/body.png"
}
}