# gemini-omni-flash-preview Video Generation

> Video Generation

Submit a video generation request. Supports four task types: text-to-video, image-to-video, reference-to-video, and video editing.

**Multi-turn Conversation**: Supports multi-turn conversation mode. You can use the steps array returned from the previous round plus the new input of the current round as the entire input.
For example, when editing a video, the input contains the steps array returned from the previous round and a new user_input object:
```json
{
  "type": "user_input",
  "content": [{
    "type": "text",
    "text": "Change the cat to black and white"
  }]
}
```

**Request Examples**

**1. Text-to-Video Request**

```bash
curl -X POST "https://api.modelverse.cn/v1beta/models/interactions" \
  -H "Authorization: Bearer $MODELVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-omni-flash-preview",
    "input": "Introduce the history of the Forbidden City",
    "generation_config": {
      "video_config": {
        "task": "text_to_video"
      }
    },
    "response_format": {
      "type": "video",
      "aspect_ratio": "9:16"
    }
  }'
```

**2. Image-to-Video Request**

```bash
curl -X POST "https://api.modelverse.cn/v1beta/models/interactions" \
  -H "Authorization: Bearer $MODELVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-omni-flash-preview",
    "input": [
      {
        "type": "image",
        "data": "base64 encoded image data",
        "mime_type": "image/png"
      },
      {
        "type": "text",
        "text": "turn this into realistic footage, using the drawing only as a guide for movement, do not show the drawing in the final video"
      }
    ],
    "generation_config": {
      "video_config": {
        "task": "image_to_video"
      }
    },
    "response_format": {
      "type": "video",
      "aspect_ratio": "16:9"
    }
  }'
```

**3. Reference-to-Video Request**

```bash
curl -X POST "https://api.modelverse.cn/v1beta/models/interactions" \
  -H "Authorization: Bearer $MODELVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-omni-flash-preview",
    "input": [
      {
        "type": "image",
        "data": "base64 encoded image 1 data",
        "mime_type": "image/png"
      },
      {
        "type": "image",
        "data": "base64 encoded image 2 data",
        "mime_type": "image/png"
      },
      {
        "type": "text",
        "text": "A cat playfully batting at a ball of yarn."
      }
    ],
    "generation_config": {
      "video_config": {
        "task": "reference_to_video"
      }
    },
    "response_format": {
      "type": "video",
      "aspect_ratio": "16:9"
    }
  }'
```

**4. Video Editing Request**

```bash
curl -X POST "https://api.modelverse.cn/v1beta/models/interactions" \
  -H "Authorization: Bearer $MODELVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-omni-flash-preview",
    "input": [
      {
        "type": "video",
        "data": "base64 encoded mp4 video data",
        "mime_type": "video/mp4"
      },
      {
        "type": "text",
        "text": "Change the cat in the video to a British Shorthair cat"
      }
    ],
    "generation_config": {
      "video_config": {
        "task": "edit"
      }
    }
  }'
```

**5. Multi-turn Video Editing Request**

```bash
curl -X POST "https://api.modelverse.cn/v1beta/models/interactions" \
  -H "Authorization: Bearer $MODELVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-omni-flash-preview",
    "input": [
      {
        "signature": "signature",
        "summary": [
          {
            "text": "**Planning a Playful Video**\n\nI will create a 10-second vertical video...",
            "type": "text"
          }
        ],
        "type": "thought"
      },
      {
        "content": [
          {
            "mime_type": "video/mp4",
            "data": "base64 encoded mp4 video data",
            "type": "video"
          }
        ],
        "type": "model_output"
      },
      {
        "type": "user_input",
        "content": [
          {
            "type": "text",
            "text": "Change the cat to black and white"
          }
        ]
      }
    ],
    "generation_config": {
      "video_config": {
        "task": "edit"
      }
    }
  }'
```

**6. Async Text-to-Video Request**

```bash
curl -X POST "https://api.modelverse.cn/v1beta/models/interactions" \
  -H "Authorization: Bearer $MODELVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-omni-flash-preview",
    "input": "Introduce the history of the Forbidden City",
    "generation_config": {
      "video_config": {
        "task": "text_to_video"
      }
    },
    "response_format": {
      "type": "video",
      "aspect_ratio": "9:16"
    },
    "background": true
  }'
```

**Response Examples**

**1. Synchronous Execution Success Response**

```json
{
  "id": "video-ea2b5872-12eb-452f-96d5-d6abf1ee25da",
  "status": "completed",
  "usage": {
    "total_tokens": 58295,
    "total_input_tokens": 19,
    "input_tokens_by_modality": [
      {
        "modality": "text",
        "tokens": 19
      }
    ],
    "total_output_tokens": 57920,
    "output_tokens_by_modality": [
      {
        "modality": "video",
        "tokens": 57920
      }
    ],
    "total_tool_use_tokens": 0,
    "total_thought_tokens": 356
  },
  "role": "model",
  "steps": [
    {
      "type": "user_input",
      "content": [
        {
          "text": "Introduce the history of the Forbidden City in a video",
          "type": "text"
        }
      ]
    },
    {
      "signature": "signature",
      "summary": [
        {
          "text": "**Creating a Forbidden City Video**\n\nI will build a vertical video depicting the Forbidden City's history...",
          "type": "text"
        }
      ],
      "type": "thought"
    },
    {
      "content": [
        {
          "mime_type": "video/mp4",
          "data": "base64 encoded MP4 video data",
          "type": "video"
        }
      ],
      "type": "model_output"
    }
  ],
  "object": "interaction",
  "model": "gemini-omni-flash-preview"
}
```

**2. Async Task Submitted Success Response**

```json
{
  "id": "video-088fa9f5-81bd-419c-95bb-4ee03b28fc5d",
  "status": "in_progress"
}
```

After submitting an async task, query the task status via `GET /v1beta/models/interactions/{id}`.

## Endpoint

`POST https://api.modelverse.cn/v1beta/models/interactions`

## Request Body

## Responses

- **200** — Video generation successful (synchronous) or task submitted successfully (asynchronous).
- **400** — Invalid request parameters.
- **default** — Error response.

## OpenAPI Definition

```json
{
  "openapi": "3.1.0",
  "x-language": "en-US",
  "info": {
    "title": "gemini-omni-flash-preview API Documentation",
    "version": "1.0.0",
    "description": "This is the API documentation for `gemini-omni-flash-preview` video generation on ModelVerse, supporting text-to-video, image-to-video, reference-to-video, and video editing features.\nThe endpoint is `POST /v1beta/models/interactions`.\n"
  },
  "servers": [
    {
      "url": "https://api.modelverse.cn",
      "description": "ModelVerse API endpoint used in this model documentation."
    }
  ],
  "tags": [
    {
      "name": "gemini-omni-flash-preview",
      "description": "gemini-omni-flash-preview video generation API."
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/v1beta/models/interactions": {
      "post": {
        "tags": [
          "gemini-omni-flash-preview"
        ],
        "operationId": "generateVideo",
        "summary": "gemini-omni-flash-preview Video Generation",
        "description": "Submit a video generation request. Supports four task types: text-to-video, image-to-video, reference-to-video, and video editing.\n\n**Multi-turn Conversation**: Supports multi-turn conversation mode. You can use the steps array returned from the previous round plus the new input of the current round as the entire input.\nFor example, when editing a video, the input contains the steps array returned from the previous round and a new user_input object:\n```json\n{\n  \"type\": \"user_input\",\n  \"content\": [{\n    \"type\": \"text\",\n    \"text\": \"Change the cat to black and white\"\n  }]\n}\n```\n\n**Request Examples**\n\n**1. Text-to-Video Request**\n\n```bash\ncurl -X POST \"https://api.modelverse.cn/v1beta/models/interactions\" \\\n  -H \"Authorization: Bearer $MODELVERSE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"gemini-omni-flash-preview\",\n    \"input\": \"Introduce the history of the Forbidden City\",\n    \"generation_config\": {\n      \"video_config\": {\n        \"task\": \"text_to_video\"\n      }\n    },\n    \"response_format\": {\n      \"type\": \"video\",\n      \"aspect_ratio\": \"9:16\"\n    }\n  }'\n```\n\n**2. Image-to-Video Request**\n\n```bash\ncurl -X POST \"https://api.modelverse.cn/v1beta/models/interactions\" \\\n  -H \"Authorization: Bearer $MODELVERSE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"gemini-omni-flash-preview\",\n    \"input\": [\n      {\n        \"type\": \"image\",\n        \"data\": \"base64 encoded image data\",\n        \"mime_type\": \"image/png\"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \"turn this into realistic footage, using the drawing only as a guide for movement, do not show the drawing in the final video\"\n      }\n    ],\n    \"generation_config\": {\n      \"video_config\": {\n        \"task\": \"image_to_video\"\n      }\n    },\n    \"response_format\": {\n      \"type\": \"video\",\n      \"aspect_ratio\": \"16:9\"\n    }\n  }'\n```\n\n**3. Reference-to-Video Request**\n\n```bash\ncurl -X POST \"https://api.modelverse.cn/v1beta/models/interactions\" \\\n  -H \"Authorization: Bearer $MODELVERSE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"gemini-omni-flash-preview\",\n    \"input\": [\n      {\n        \"type\": \"image\",\n        \"data\": \"base64 encoded image 1 data\",\n        \"mime_type\": \"image/png\"\n      },\n      {\n        \"type\": \"image\",\n        \"data\": \"base64 encoded image 2 data\",\n        \"mime_type\": \"image/png\"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \"A cat playfully batting at a ball of yarn.\"\n      }\n    ],\n    \"generation_config\": {\n      \"video_config\": {\n        \"task\": \"reference_to_video\"\n      }\n    },\n    \"response_format\": {\n      \"type\": \"video\",\n      \"aspect_ratio\": \"16:9\"\n    }\n  }'\n```\n\n**4. Video Editing Request**\n\n```bash\ncurl -X POST \"https://api.modelverse.cn/v1beta/models/interactions\" \\\n  -H \"Authorization: Bearer $MODELVERSE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"gemini-omni-flash-preview\",\n    \"input\": [\n      {\n        \"type\": \"video\",\n        \"data\": \"base64 encoded mp4 video data\",\n        \"mime_type\": \"video/mp4\"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \"Change the cat in the video to a British Shorthair cat\"\n      }\n    ],\n    \"generation_config\": {\n      \"video_config\": {\n        \"task\": \"edit\"\n      }\n    }\n  }'\n```\n\n**5. Multi-turn Video Editing Request**\n\n```bash\ncurl -X POST \"https://api.modelverse.cn/v1beta/models/interactions\" \\\n  -H \"Authorization: Bearer $MODELVERSE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"gemini-omni-flash-preview\",\n    \"input\": [\n      {\n        \"signature\": \"signature\",\n        \"summary\": [\n          {\n            \"text\": \"**Planning a Playful Video**\\n\\nI will create a 10-second vertical video...\",\n            \"type\": \"text\"\n          }\n        ],\n        \"type\": \"thought\"\n      },\n      {\n        \"content\": [\n          {\n            \"mime_type\": \"video/mp4\",\n            \"data\": \"base64 encoded mp4 video data\",\n            \"type\": \"video\"\n          }\n        ],\n        \"type\": \"model_output\"\n      },\n      {\n        \"type\": \"user_input\",\n        \"content\": [\n          {\n            \"type\": \"text\",\n            \"text\": \"Change the cat to black and white\"\n          }\n        ]\n      }\n    ],\n    \"generation_config\": {\n      \"video_config\": {\n        \"task\": \"edit\"\n      }\n    }\n  }'\n```\n\n**6. Async Text-to-Video Request**\n\n```bash\ncurl -X POST \"https://api.modelverse.cn/v1beta/models/interactions\" \\\n  -H \"Authorization: Bearer $MODELVERSE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"gemini-omni-flash-preview\",\n    \"input\": \"Introduce the history of the Forbidden City\",\n    \"generation_config\": {\n      \"video_config\": {\n        \"task\": \"text_to_video\"\n      }\n    },\n    \"response_format\": {\n      \"type\": \"video\",\n      \"aspect_ratio\": \"9:16\"\n    },\n    \"background\": true\n  }'\n```\n\n**Response Examples**\n\n**1. Synchronous Execution Success Response**\n\n```json\n{\n  \"id\": \"video-ea2b5872-12eb-452f-96d5-d6abf1ee25da\",\n  \"status\": \"completed\",\n  \"usage\": {\n    \"total_tokens\": 58295,\n    \"total_input_tokens\": 19,\n    \"input_tokens_by_modality\": [\n      {\n        \"modality\": \"text\",\n        \"tokens\": 19\n      }\n    ],\n    \"total_output_tokens\": 57920,\n    \"output_tokens_by_modality\": [\n      {\n        \"modality\": \"video\",\n        \"tokens\": 57920\n      }\n    ],\n    \"total_tool_use_tokens\": 0,\n    \"total_thought_tokens\": 356\n  },\n  \"role\": \"model\",\n  \"steps\": [\n    {\n      \"type\": \"user_input\",\n      \"content\": [\n        {\n          \"text\": \"Introduce the history of the Forbidden City in a video\",\n          \"type\": \"text\"\n        }\n      ]\n    },\n    {\n      \"signature\": \"signature\",\n      \"summary\": [\n        {\n          \"text\": \"**Creating a Forbidden City Video**\\n\\nI will build a vertical video depicting the Forbidden City's history...\",\n          \"type\": \"text\"\n        }\n      ],\n      \"type\": \"thought\"\n    },\n    {\n      \"content\": [\n        {\n          \"mime_type\": \"video/mp4\",\n          \"data\": \"base64 encoded MP4 video data\",\n          \"type\": \"video\"\n        }\n      ],\n      \"type\": \"model_output\"\n    }\n  ],\n  \"object\": \"interaction\",\n  \"model\": \"gemini-omni-flash-preview\"\n}\n```\n\n**2. Async Task Submitted Success Response**\n\n```json\n{\n  \"id\": \"video-088fa9f5-81bd-419c-95bb-4ee03b28fc5d\",\n  \"status\": \"in_progress\"\n}\n```\n\nAfter submitting an async task, query the task status via `GET /v1beta/models/interactions/{id}`.\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VideoGenerateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Video generation successful (synchronous) or task submitted successfully (asynchronous).",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/VideoGenerateResponse"
                    },
                    {
                      "$ref": "#/components/schemas/AsyncTaskSubmittedResponse"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "default": {
            "description": "Error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "API key",
        "description": "API Key authentication, include `Authorization: Bearer {API_KEY}` in the request header."
      }
    },
    "schemas": {
      "VideoGenerateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "model",
          "input",
          "generation_config"
        ],
        "properties": {
          "model": {
            "type": "string",
            "const": "gemini-omni-flash-preview",
            "description": "Model name. Fixed as `gemini-omni-flash-preview`."
          },
          "input": {
            "oneOf": [
              {
                "type": "string",
                "description": "Text prompt for text-to-video generation.",
                "title": "string"
              },
              {
                "type": "array",
                "description": "Multimodal input list for image-to-video, reference-to-video, or video editing.",
                "items": {
                  "$ref": "#/components/schemas/InputPart"
                },
                "title": "array"
              }
            ]
          },
          "generation_config": {
            "$ref": "#/components/schemas/GenerationConfig"
          },
          "response_format": {
            "$ref": "#/components/schemas/ResponseFormat"
          },
          "background": {
            "type": "boolean",
            "default": false,
            "description": "Whether to execute asynchronously. Defaults to `false` (synchronous execution).\n- `false`: Synchronous execution, returns the complete generation result directly\n- `true`: Asynchronous execution, returns task ID and status, query results via `GET /v1beta/models/interactions/{id}`\n"
          }
        }
      },
      "InputPart": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "text",
              "image",
              "video"
            ],
            "description": "Input content type. Supported modalities:\n- `text`: Text (input)\n- `image`: Image (input)\n- `video`: Video (input)\n"
          },
          "text": {
            "type": "string",
            "description": "Text content when type is text."
          },
          "data": {
            "type": "string",
            "description": "Base64 encoded data when type is image or video.\n\n**Image Limits**:\n- Maximum images per prompt: 10\n- Maximum file size per file: 20 GiB\n- Supported aspect ratios: 16:9, 9:16\n- Supported resolution: 720p\n- Supported MIME types: image/png, image/jpeg, image/webp, image/heic, image/heif\n\n**Video Limits**:\n- Maximum video duration (with audio): 10 seconds\n- Maximum video duration (without audio): 10 seconds\n- Maximum videos per prompt: 3\n- Supported MIME types: video/x-flv, video/quicktime, video/mpeg, video/mpegs, video/mpg, video/mp4, video/webm, video/wmv, video/3gpp\n"
          },
          "mime_type": {
            "type": "string",
            "description": "MIME type when type is image or video.",
            "examples": [
              "image/png",
              "image/jpeg",
              "video/mp4"
            ]
          }
        }
      },
      "GenerationConfig": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "video_config"
        ],
        "properties": {
          "video_config": {
            "$ref": "#/components/schemas/VideoConfig"
          }
        }
      },
      "VideoConfig": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "task"
        ],
        "properties": {
          "task": {
            "type": "string",
            "enum": [
              "text_to_video",
              "image_to_video",
              "reference_to_video",
              "edit"
            ],
            "description": "Video generation task type:\n- `text_to_video`: Text-to-Video\n- `image_to_video`: Image-to-Video\n- `reference_to_video`: Reference-to-Video\n- `edit`: Video Editing (video editing task does not require response_format configuration)\n"
          }
        }
      },
      "ResponseFormat": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "type": {
            "type": "string",
            "const": "video",
            "description": "Response type. Fixed as video."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16"
            ],
            "default": "16:9",
            "description": "Aspect ratio of the generated video, default is landscape (16:9)."
          }
        }
      },
      "VideoGenerateResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "status",
          "role",
          "created",
          "updated",
          "object",
          "model"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique interaction identifier."
          },
          "status": {
            "type": "string",
            "enum": [
              "completed",
              "failed",
              "processing"
            ],
            "description": "Task status."
          },
          "usage": {
            "$ref": "#/components/schemas/Usage"
          },
          "role": {
            "type": "string",
            "const": "model",
            "description": "Role. Fixed as model."
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "description": "Creation time (ISO 8601 format)."
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "description": "Update time (ISO 8601 format)."
          },
          "steps": {
            "type": "array",
            "description": "Generation steps list.",
            "items": {
              "$ref": "#/components/schemas/Step"
            }
          },
          "object": {
            "type": "string",
            "const": "interaction",
            "description": "Object type. Fixed as interaction."
          },
          "model": {
            "type": "string",
            "const": "gemini-omni-flash-preview",
            "description": "Model name."
          }
        }
      },
      "Usage": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "total_tokens": {
            "type": "integer",
            "description": "Total token count."
          },
          "total_input_tokens": {
            "type": "integer",
            "description": "Total input token count."
          },
          "input_tokens_by_modality": {
            "type": "array",
            "description": "Input tokens by modality.",
            "items": {
              "$ref": "#/components/schemas/InputModalityTokens"
            }
          },
          "total_output_tokens": {
            "type": "integer",
            "description": "Total output token count."
          },
          "output_tokens_by_modality": {
            "type": "array",
            "description": "Output tokens by modality.",
            "items": {
              "$ref": "#/components/schemas/OutputModalityTokens"
            }
          },
          "total_tool_use_tokens": {
            "type": "integer",
            "description": "Tool use token count."
          },
          "total_thought_tokens": {
            "type": "integer",
            "description": "Thought token count."
          }
        }
      },
      "InputModalityTokens": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modality": {
            "type": "string",
            "enum": [
              "text",
              "image",
              "video"
            ],
            "description": "Input modality type."
          },
          "tokens": {
            "type": "integer",
            "description": "Token count."
          }
        }
      },
      "OutputModalityTokens": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modality": {
            "type": "string",
            "enum": [
              "text",
              "video"
            ],
            "description": "Output modality type."
          },
          "tokens": {
            "type": "integer",
            "description": "Token count."
          }
        }
      },
      "Step": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "signature": {
            "type": "string",
            "description": "Signature."
          },
          "summary": {
            "type": "array",
            "description": "Summary list.",
            "items": {
              "$ref": "#/components/schemas/SummaryItem"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "thought",
              "model_output"
            ],
            "description": "Step type."
          },
          "content": {
            "type": "array",
            "description": "Output content list (when type is model_output).",
            "items": {
              "$ref": "#/components/schemas/OutputContent"
            }
          }
        }
      },
      "SummaryItem": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "text": {
            "type": "string",
            "description": "Summary text."
          },
          "type": {
            "type": "string",
            "const": "text",
            "description": "Content type."
          }
        }
      },
      "OutputContent": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "mime_type": {
            "type": "string",
            "description": "MIME type.",
            "examples": [
              "video/mp4"
            ]
          },
          "data": {
            "type": "string",
            "description": "Base64 encoded video data."
          },
          "type": {
            "type": "string",
            "enum": [
              "text",
              "video"
            ],
            "description": "Output content type. Supported modalities:\n- `text`: Text (output)\n- `video`: Video (output)\n"
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "$ref": "#/components/schemas/ErrorObject"
          }
        }
      },
      "AsyncTaskSubmittedResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "status"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique task identifier."
          },
          "status": {
            "type": "string",
            "const": "in_progress",
            "description": "Task status. Fixed as in_progress."
          }
        }
      },
      "ErrorObject": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "message",
          "type"
        ],
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message."
          },
          "type": {
            "type": "string",
            "description": "Error type."
          },
          "code": {
            "type": "string",
            "description": "Error code."
          },
          "param": {
            "type": "string",
            "description": "Related request parameter."
          }
        }
      }
    }
  }
}
```
