mxivideo/text2video.json

930 lines
34 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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"
}
}
}
}