930 lines
34 KiB
JSON
930 lines
34 KiB
JSON
{
|
||
"openapi": "3.1.0",
|
||
"info": {
|
||
"title": "Text2Video - 图片生成 API",
|
||
"description": "基于 Midjourney 的图片生成服务",
|
||
"version": "1.0.0"
|
||
},
|
||
"paths": {
|
||
"/api/mj/sync/image": {
|
||
"post": {
|
||
"tags": [
|
||
"midjourney生图"
|
||
],
|
||
"summary": "同步生成图片接口",
|
||
"description": "同步生成图片接口 - 提交任务并轮询结果\n\nArgs:\n prompt (str): 图片生成提示词\n max_wait_time (int): 最大等待时间,默认120秒\n poll_interval (int): 轮询间隔,默认2秒\n\nReturns:\n dict: 包含status, msg, data的响应字典",
|
||
"operationId": "generate_image_sync_api_mj_sync_image_post",
|
||
"parameters": [
|
||
{
|
||
"name": "prompt",
|
||
"in": "query",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "string",
|
||
"title": "Prompt"
|
||
}
|
||
},
|
||
{
|
||
"name": "max_wait_time",
|
||
"in": "query",
|
||
"required": false,
|
||
"schema": {
|
||
"type": "integer",
|
||
"default": 120,
|
||
"title": "Max Wait Time"
|
||
}
|
||
},
|
||
{
|
||
"name": "poll_interval",
|
||
"in": "query",
|
||
"required": false,
|
||
"schema": {
|
||
"type": "integer",
|
||
"default": 2,
|
||
"title": "Poll Interval"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/mj/generate-image": {
|
||
"post": {
|
||
"tags": [
|
||
"midjourney生图"
|
||
],
|
||
"summary": "生成图片",
|
||
"description": "生成图片接口",
|
||
"operationId": "generate_image_api_api_mj_generate_image_post",
|
||
"requestBody": {
|
||
"content": {
|
||
"application/x-www-form-urlencoded": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/Body_generate_image_api_api_mj_generate_image_post"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/mj/sync/img/describe": {
|
||
"post": {
|
||
"tags": [
|
||
"midjourney生图"
|
||
],
|
||
"summary": "获取图像描述",
|
||
"description": "获取图像描述接口",
|
||
"operationId": "describe_image_api_api_mj_sync_img_describe_post",
|
||
"requestBody": {
|
||
"content": {
|
||
"application/x-www-form-urlencoded": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/Body_describe_image_api_api_mj_sync_img_describe_post"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/mj/health": {
|
||
"get": {
|
||
"tags": [
|
||
"midjourney生图"
|
||
],
|
||
"summary": "健康检查",
|
||
"description": "健康检查接口",
|
||
"operationId": "health_check_api_mj_health_get",
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/file/upload": {
|
||
"post": {
|
||
"tags": [
|
||
"文件操作"
|
||
],
|
||
"summary": "上传文件到COS",
|
||
"description": "上传文件到腾讯云COS\n\n- **file**: 要上传的文件\n\n返回上传后的文件URL",
|
||
"operationId": "upload_file_api_file_upload_post",
|
||
"requestBody": {
|
||
"content": {
|
||
"multipart/form-data": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/Body_upload_file_api_file_upload_post"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/FileUploadResponse"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/jm/generate-video": {
|
||
"post": {
|
||
"tags": [
|
||
"极梦视频生成api"
|
||
],
|
||
"summary": "生成视频",
|
||
"description": "生成视频接口",
|
||
"operationId": "generate_video_api_api_jm_generate_video_post",
|
||
"requestBody": {
|
||
"content": {
|
||
"application/x-www-form-urlencoded": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/Body_generate_video_api_api_jm_generate_video_post"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/jm/health": {
|
||
"get": {
|
||
"tags": [
|
||
"极梦视频生成api"
|
||
],
|
||
"summary": "健康检查",
|
||
"description": "健康检查接口",
|
||
"operationId": "health_check_api_jm_health_get",
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/prompt/default": {
|
||
"get": {
|
||
"tags": [
|
||
"处理提示词"
|
||
],
|
||
"summary": "获取示例提示词",
|
||
"operationId": "get_sample_prompt_api_prompt_default_get",
|
||
"parameters": [
|
||
{
|
||
"name": "task_type",
|
||
"in": "query",
|
||
"required": false,
|
||
"schema": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"title": "Task Type"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/task/test": {
|
||
"post": {
|
||
"tags": [
|
||
"任务管理api"
|
||
],
|
||
"summary": "测试 Modal 连接",
|
||
"description": "测试 Modal 连接是否正常",
|
||
"operationId": "test_modal_connection_api_task_test_post",
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/task/create/task": {
|
||
"post": {
|
||
"tags": [
|
||
"任务管理api"
|
||
],
|
||
"summary": "异步提交任务(不阻塞)",
|
||
"description": "异步提交任务到 Modal 进行处理(不阻塞,立即返回任务ID)\n\n- **task_type**: 任务类型 (tea/chop/lady/vlog)\n- **prompt**: 生成提示词\n- **img_url**: 可选的参考图片URL,如果提供会先进行图片描述\n- **ar**: 生成图片的长宽比 默认为9:16\n\n立即返回 Modal 任务ID,任务在后台异步执行",
|
||
"operationId": "submit_task_api_task_create_task_post",
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/TaskRequest"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/task/{task_id}": {
|
||
"get": {
|
||
"tags": [
|
||
"任务管理api"
|
||
],
|
||
"summary": "同步查询任务结果(阻塞等待)",
|
||
"description": "同步查询任务的执行状态和结果(阻塞等待模式)\n\n- **task_id**: 任务ID\n\n**阻塞等待任务完成**,直到任务执行完成才返回最终结果\n适用于需要等待任务完成的场景",
|
||
"operationId": "query_task_result_sync_api_task__task_id__get",
|
||
"parameters": [
|
||
{
|
||
"name": "task_id",
|
||
"in": "path",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "string",
|
||
"title": "Task Id"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/task/status/{task_id}": {
|
||
"get": {
|
||
"tags": [
|
||
"任务管理api"
|
||
],
|
||
"summary": "异步查询任务状态(立即返回)",
|
||
"description": "异步查询任务的状态信息(非阻塞,立即返回当前状态)\n\n- **task_id**: 任务ID\n\n**立即返回当前状态**,不等待任务完成\n适用于需要快速检查任务状态的场景",
|
||
"operationId": "get_task_status_async_api_task_status__task_id__get",
|
||
"parameters": [
|
||
{
|
||
"name": "task_id",
|
||
"in": "path",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "string",
|
||
"title": "Task Id"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/mj/video/async/submit": {
|
||
"post": {
|
||
"tags": [
|
||
"midjourney视频生成api"
|
||
],
|
||
"summary": "异步提交生成视频任务",
|
||
"operationId": "submit_video_task_api_mj_video_async_submit_post",
|
||
"parameters": [
|
||
{
|
||
"name": "prompt",
|
||
"in": "query",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "string",
|
||
"title": "Prompt"
|
||
}
|
||
},
|
||
{
|
||
"name": "img_url",
|
||
"in": "query",
|
||
"required": false,
|
||
"schema": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"title": "Img Url"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"multipart/form-data": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/Body_submit_video_task_api_mj_video_async_submit_post"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/mj/video/async/task/status": {
|
||
"post": {
|
||
"tags": [
|
||
"midjourney视频生成api"
|
||
],
|
||
"summary": "异步查询生成任务进度",
|
||
"operationId": "async_query_task_status_api_mj_video_async_task_status_post",
|
||
"parameters": [
|
||
{
|
||
"name": "task_id",
|
||
"in": "query",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "string",
|
||
"title": "Task Id"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/api/mj/video/sync/gen": {
|
||
"post": {
|
||
"tags": [
|
||
"midjourney视频生成api"
|
||
],
|
||
"summary": "同步生成视频",
|
||
"operationId": "sync_submit_task_api_mj_video_sync_gen_post",
|
||
"parameters": [
|
||
{
|
||
"name": "prompt",
|
||
"in": "query",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "string",
|
||
"title": "Prompt"
|
||
}
|
||
},
|
||
{
|
||
"name": "img_url",
|
||
"in": "query",
|
||
"required": false,
|
||
"schema": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"title": "Img Url"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"multipart/form-data": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/Body_sync_submit_task_api_mj_video_sync_gen_post"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
},
|
||
"422": {
|
||
"description": "Validation Error",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/HTTPValidationError"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/": {
|
||
"get": {
|
||
"summary": "根路径",
|
||
"description": "根路径,返回API信息",
|
||
"operationId": "root__get",
|
||
"responses": {
|
||
"200": {
|
||
"description": "Successful Response",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"components": {
|
||
"schemas": {
|
||
"Body_describe_image_api_api_mj_sync_img_describe_post": {
|
||
"properties": {
|
||
"image_url": {
|
||
"type": "string",
|
||
"title": "Image Url",
|
||
"description": "图片URL地址"
|
||
},
|
||
"max_wait_time": {
|
||
"type": "integer",
|
||
"title": "Max Wait Time",
|
||
"description": "最大等待时间(秒)",
|
||
"default": 120
|
||
},
|
||
"poll_interval": {
|
||
"type": "integer",
|
||
"title": "Poll Interval",
|
||
"description": "轮询间隔(秒)",
|
||
"default": 2
|
||
}
|
||
},
|
||
"type": "object",
|
||
"required": [
|
||
"image_url"
|
||
],
|
||
"title": "Body_describe_image_api_api_mj_sync_img_describe_post"
|
||
},
|
||
"Body_generate_image_api_api_mj_generate_image_post": {
|
||
"properties": {
|
||
"prompt": {
|
||
"type": "string",
|
||
"title": "Prompt",
|
||
"description": "图片生成提示词"
|
||
},
|
||
"max_wait_time": {
|
||
"type": "integer",
|
||
"title": "Max Wait Time",
|
||
"description": "最大等待时间(秒)",
|
||
"default": 120
|
||
},
|
||
"poll_interval": {
|
||
"type": "integer",
|
||
"title": "Poll Interval",
|
||
"description": "轮询间隔(秒)",
|
||
"default": 2
|
||
}
|
||
},
|
||
"type": "object",
|
||
"required": [
|
||
"prompt"
|
||
],
|
||
"title": "Body_generate_image_api_api_mj_generate_image_post"
|
||
},
|
||
"Body_generate_video_api_api_jm_generate_video_post": {
|
||
"properties": {
|
||
"prompt": {
|
||
"type": "string",
|
||
"title": "Prompt",
|
||
"description": "视频生成提示词"
|
||
},
|
||
"img_url": {
|
||
"type": "string",
|
||
"title": "Img Url",
|
||
"description": "图片URL地址"
|
||
},
|
||
"duration": {
|
||
"type": "string",
|
||
"title": "Duration",
|
||
"description": "视频时长(秒)",
|
||
"default": "5"
|
||
},
|
||
"max_wait_time": {
|
||
"type": "integer",
|
||
"title": "Max Wait Time",
|
||
"description": "最大等待时间(秒)",
|
||
"default": 300
|
||
},
|
||
"poll_interval": {
|
||
"type": "integer",
|
||
"title": "Poll Interval",
|
||
"description": "轮询间隔(秒)",
|
||
"default": 5
|
||
}
|
||
},
|
||
"type": "object",
|
||
"required": [
|
||
"prompt",
|
||
"img_url"
|
||
],
|
||
"title": "Body_generate_video_api_api_jm_generate_video_post"
|
||
},
|
||
"Body_submit_video_task_api_mj_video_async_submit_post": {
|
||
"properties": {
|
||
"img_file": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string",
|
||
"format": "binary"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"title": "Img File"
|
||
}
|
||
},
|
||
"type": "object",
|
||
"title": "Body_submit_video_task_api_mj_video_async_submit_post"
|
||
},
|
||
"Body_sync_submit_task_api_mj_video_sync_gen_post": {
|
||
"properties": {
|
||
"img_file": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string",
|
||
"format": "binary"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"title": "Img File"
|
||
}
|
||
},
|
||
"type": "object",
|
||
"title": "Body_sync_submit_task_api_mj_video_sync_gen_post"
|
||
},
|
||
"Body_upload_file_api_file_upload_post": {
|
||
"properties": {
|
||
"file": {
|
||
"type": "string",
|
||
"format": "binary",
|
||
"title": "File"
|
||
}
|
||
},
|
||
"type": "object",
|
||
"required": [
|
||
"file"
|
||
],
|
||
"title": "Body_upload_file_api_file_upload_post"
|
||
},
|
||
"FileUploadResponse": {
|
||
"properties": {
|
||
"status": {
|
||
"type": "boolean",
|
||
"title": "Status",
|
||
"description": "上传状态"
|
||
},
|
||
"msg": {
|
||
"type": "string",
|
||
"title": "Msg",
|
||
"description": "响应消息"
|
||
},
|
||
"data": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"title": "Data",
|
||
"description": "文件URL"
|
||
},
|
||
"filename": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"title": "Filename",
|
||
"description": "原始文件名"
|
||
}
|
||
},
|
||
"type": "object",
|
||
"required": [
|
||
"status",
|
||
"msg"
|
||
],
|
||
"title": "FileUploadResponse",
|
||
"description": "文件上传响应模型"
|
||
},
|
||
"HTTPValidationError": {
|
||
"properties": {
|
||
"detail": {
|
||
"items": {
|
||
"$ref": "#/components/schemas/ValidationError"
|
||
},
|
||
"type": "array",
|
||
"title": "Detail"
|
||
}
|
||
},
|
||
"type": "object",
|
||
"title": "HTTPValidationError"
|
||
},
|
||
"TaskRequest": {
|
||
"properties": {
|
||
"task_type": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"title": "Task Type",
|
||
"description": "任务类型如: tea, chop, lady, vlog",
|
||
"default": ""
|
||
},
|
||
"prompt": {
|
||
"type": "string",
|
||
"title": "Prompt",
|
||
"description": "生图的提示词"
|
||
},
|
||
"img_url": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"title": "Img Url",
|
||
"description": "参考图",
|
||
"default": ""
|
||
},
|
||
"ar": {
|
||
"type": "string",
|
||
"title": "Ar",
|
||
"description": "生成图片,视频的分辨率",
|
||
"default": "9:16"
|
||
}
|
||
},
|
||
"type": "object",
|
||
"required": [
|
||
"prompt"
|
||
],
|
||
"title": "TaskRequest"
|
||
},
|
||
"ValidationError": {
|
||
"properties": {
|
||
"loc": {
|
||
"items": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"type": "integer"
|
||
}
|
||
]
|
||
},
|
||
"type": "array",
|
||
"title": "Location"
|
||
},
|
||
"msg": {
|
||
"type": "string",
|
||
"title": "Message"
|
||
},
|
||
"type": {
|
||
"type": "string",
|
||
"title": "Error Type"
|
||
}
|
||
},
|
||
"type": "object",
|
||
"required": [
|
||
"loc",
|
||
"msg",
|
||
"type"
|
||
],
|
||
"title": "ValidationError"
|
||
}
|
||
}
|
||
}
|
||
} |