1261 lines
32 KiB
YAML
1261 lines
32 KiB
YAML
basePath: /api
|
||
definitions:
|
||
constant.MultiKeyMode:
|
||
enum:
|
||
- random
|
||
- polling
|
||
type: string
|
||
x-enum-comments:
|
||
MultiKeyModePolling: 轮询
|
||
MultiKeyModeRandom: 随机
|
||
x-enum-descriptions:
|
||
- 随机
|
||
- 轮询
|
||
x-enum-varnames:
|
||
- MultiKeyModeRandom
|
||
- MultiKeyModePolling
|
||
controller.AddChannelRequest:
|
||
properties:
|
||
batch_add_set_key_prefix_2_name:
|
||
type: boolean
|
||
channel:
|
||
$ref: '#/definitions/model.Channel'
|
||
mode:
|
||
type: string
|
||
multi_key_mode:
|
||
$ref: '#/definitions/constant.MultiKeyMode'
|
||
type: object
|
||
controller.KlingCameraConfig:
|
||
properties:
|
||
horizontal:
|
||
example: 2.5
|
||
type: number
|
||
pan:
|
||
example: 0
|
||
type: number
|
||
roll:
|
||
example: 0
|
||
type: number
|
||
tilt:
|
||
example: 0
|
||
type: number
|
||
vertical:
|
||
example: 0
|
||
type: number
|
||
zoom:
|
||
example: 0
|
||
type: number
|
||
type: object
|
||
controller.KlingCameraControl:
|
||
properties:
|
||
config:
|
||
$ref: '#/definitions/controller.KlingCameraConfig'
|
||
type:
|
||
example: simple
|
||
type: string
|
||
type: object
|
||
controller.KlingImage2VideoRequest:
|
||
properties:
|
||
aspect_ratio:
|
||
example: "16:9"
|
||
type: string
|
||
callback_url:
|
||
example: https://your.domain/callback
|
||
type: string
|
||
camera_control:
|
||
$ref: '#/definitions/controller.KlingCameraControl'
|
||
cfg_scale:
|
||
example: 0.7
|
||
type: number
|
||
duration:
|
||
example: "5"
|
||
type: string
|
||
external_task_id:
|
||
example: custom-task-002
|
||
type: string
|
||
image:
|
||
example: https://h2.inkwai.com/bs2/upload-ylab-stunt/se/ai_portal_queue_mmu_image_upscale_aiweb/3214b798-e1b4-4b00-b7af-72b5b0417420_raw_image_0.jpg
|
||
type: string
|
||
mode:
|
||
example: std
|
||
type: string
|
||
model_name:
|
||
example: kling-v2-master
|
||
type: string
|
||
negative_prompt:
|
||
example: blurry, low quality
|
||
type: string
|
||
prompt:
|
||
example: A cat playing piano in the garden
|
||
type: string
|
||
required:
|
||
- image
|
||
type: object
|
||
controller.KlingText2VideoRequest:
|
||
properties:
|
||
aspect_ratio:
|
||
example: "16:9"
|
||
type: string
|
||
callback_url:
|
||
example: https://your.domain/callback
|
||
type: string
|
||
camera_control:
|
||
$ref: '#/definitions/controller.KlingCameraControl'
|
||
cfg_scale:
|
||
example: 0.7
|
||
type: number
|
||
duration:
|
||
example: "5"
|
||
type: string
|
||
external_task_id:
|
||
example: custom-task-001
|
||
type: string
|
||
mode:
|
||
example: std
|
||
type: string
|
||
model_name:
|
||
example: kling-v1
|
||
type: string
|
||
negative_prompt:
|
||
example: blurry, low quality
|
||
type: string
|
||
prompt:
|
||
example: A cat playing piano in the garden
|
||
type: string
|
||
required:
|
||
- prompt
|
||
type: object
|
||
controller.PublishUserMessageRequest:
|
||
properties:
|
||
biz_id:
|
||
type: integer
|
||
biz_type:
|
||
type: string
|
||
content:
|
||
type: string
|
||
receiver_min_role:
|
||
type: integer
|
||
receiver_user_id:
|
||
type: integer
|
||
title:
|
||
type: string
|
||
type:
|
||
type: string
|
||
type: object
|
||
controller.SupplierApplicationReviewRequest:
|
||
properties:
|
||
reason:
|
||
type: string
|
||
status:
|
||
type: integer
|
||
type: object
|
||
controller.SupplierApplicationSubmitRequest:
|
||
properties:
|
||
applicant_user_id:
|
||
type: integer
|
||
business_license_file:
|
||
type: string
|
||
business_license_url:
|
||
type: string
|
||
company_name:
|
||
type: string
|
||
company_size:
|
||
type: string
|
||
contact_mobile:
|
||
type: string
|
||
contact_name:
|
||
type: string
|
||
contact_wechat:
|
||
type: string
|
||
credit_code:
|
||
type: string
|
||
legal_representative:
|
||
type: string
|
||
type: object
|
||
controller.SupplierApplicationUpdateRequest:
|
||
properties:
|
||
applicant_user_id:
|
||
type: integer
|
||
business_license_file:
|
||
type: string
|
||
business_license_url:
|
||
type: string
|
||
company_name:
|
||
type: string
|
||
company_size:
|
||
type: string
|
||
contact_mobile:
|
||
type: string
|
||
contact_name:
|
||
type: string
|
||
contact_wechat:
|
||
type: string
|
||
credit_code:
|
||
type: string
|
||
id:
|
||
type: integer
|
||
legal_representative:
|
||
type: string
|
||
type: object
|
||
controller.SupplierDeactivateRequest:
|
||
properties:
|
||
reason:
|
||
type: string
|
||
supplier_id:
|
||
type: integer
|
||
type: object
|
||
dto.VideoRequest:
|
||
properties:
|
||
duration:
|
||
description: Video duration (seconds)
|
||
example: 5
|
||
type: number
|
||
fps:
|
||
description: Video frame rate
|
||
example: 30
|
||
type: integer
|
||
height:
|
||
description: Video height
|
||
example: 512
|
||
type: integer
|
||
image:
|
||
description: Image input (URL/Base64)
|
||
example: https://h2.inkwai.com/bs2/upload-ylab-stunt/se/ai_portal_queue_mmu_image_upscale_aiweb/3214b798-e1b4-4b00-b7af-72b5b0417420_raw_image_0.jpg
|
||
type: string
|
||
metadata:
|
||
additionalProperties: {}
|
||
description: Vendor-specific/custom params (e.g. negative_prompt, style, quality_level,
|
||
etc.)
|
||
type: object
|
||
model:
|
||
description: Model/style ID
|
||
example: kling-v1
|
||
type: string
|
||
"n":
|
||
description: Number of videos to generate
|
||
example: 1
|
||
type: integer
|
||
prompt:
|
||
description: Text prompt
|
||
example: 宇航员站起身走了
|
||
type: string
|
||
response_format:
|
||
description: Response format
|
||
example: url
|
||
type: string
|
||
seed:
|
||
description: Random seed
|
||
example: 20231234
|
||
type: integer
|
||
user:
|
||
description: User identifier
|
||
example: user-1234
|
||
type: string
|
||
width:
|
||
description: Video width
|
||
example: 512
|
||
type: integer
|
||
type: object
|
||
dto.VideoTaskError:
|
||
properties:
|
||
code:
|
||
type: integer
|
||
message:
|
||
type: string
|
||
type: object
|
||
dto.VideoTaskMetadata:
|
||
properties:
|
||
duration:
|
||
description: 实际生成的视频时长
|
||
example: 5
|
||
type: number
|
||
fps:
|
||
description: 实际帧率
|
||
example: 30
|
||
type: integer
|
||
height:
|
||
description: 实际高度
|
||
example: 512
|
||
type: integer
|
||
seed:
|
||
description: 使用的随机种子
|
||
example: 20231234
|
||
type: integer
|
||
width:
|
||
description: 实际宽度
|
||
example: 512
|
||
type: integer
|
||
type: object
|
||
dto.VideoTaskResponse:
|
||
properties:
|
||
error:
|
||
allOf:
|
||
- $ref: '#/definitions/dto.VideoTaskError'
|
||
description: 错误信息(失败时)
|
||
format:
|
||
description: 视频格式
|
||
example: mp4
|
||
type: string
|
||
metadata:
|
||
allOf:
|
||
- $ref: '#/definitions/dto.VideoTaskMetadata'
|
||
description: 结果元数据
|
||
status:
|
||
description: 任务状态
|
||
example: succeeded
|
||
type: string
|
||
task_id:
|
||
description: 任务ID
|
||
example: abcd1234efgh
|
||
type: string
|
||
url:
|
||
description: 视频资源URL(成功时)
|
||
type: string
|
||
type: object
|
||
model.BoundChannel:
|
||
properties:
|
||
name:
|
||
type: string
|
||
type:
|
||
type: integer
|
||
type: object
|
||
model.Channel:
|
||
properties:
|
||
auto_ban:
|
||
type: integer
|
||
balance:
|
||
description: in USD
|
||
type: number
|
||
balance_updated_time:
|
||
type: integer
|
||
base_url:
|
||
type: string
|
||
channel_info:
|
||
allOf:
|
||
- $ref: '#/definitions/model.ChannelInfo'
|
||
description: add after v0.8.5
|
||
created_time:
|
||
type: integer
|
||
group:
|
||
type: string
|
||
header_override:
|
||
type: string
|
||
id:
|
||
type: integer
|
||
key:
|
||
type: string
|
||
model_mapping:
|
||
type: string
|
||
models:
|
||
type: string
|
||
name:
|
||
type: string
|
||
openai_organization:
|
||
type: string
|
||
other:
|
||
type: string
|
||
other_info:
|
||
type: string
|
||
owner_user_id:
|
||
description: 渠道归属用户ID(供应商场景)
|
||
type: integer
|
||
param_override:
|
||
type: string
|
||
priority:
|
||
type: integer
|
||
remark:
|
||
maxLength: 255
|
||
type: string
|
||
response_time:
|
||
description: in milliseconds
|
||
type: integer
|
||
setting:
|
||
description: 渠道额外设置
|
||
type: string
|
||
settings:
|
||
description: 其他设置,存储azure版本等不需要检索的信息,详见dto.ChannelOtherSettings
|
||
type: string
|
||
status:
|
||
type: integer
|
||
status_code_mapping:
|
||
description: MaxInputTokens *int `json:"max_input_tokens" gorm:"default:0"`
|
||
type: string
|
||
supplier_application_id:
|
||
description: 关联 supplier_applications.id
|
||
type: integer
|
||
tag:
|
||
type: string
|
||
test_model:
|
||
type: string
|
||
test_time:
|
||
type: integer
|
||
type:
|
||
type: integer
|
||
used_quota:
|
||
type: integer
|
||
weight:
|
||
type: integer
|
||
type: object
|
||
model.ChannelInfo:
|
||
properties:
|
||
is_multi_key:
|
||
description: 是否多Key模式
|
||
type: boolean
|
||
multi_key_disabled_reason:
|
||
additionalProperties:
|
||
type: string
|
||
description: key禁用原因列表,key index -> reason
|
||
type: object
|
||
multi_key_disabled_time:
|
||
additionalProperties:
|
||
format: int64
|
||
type: integer
|
||
description: key禁用时间列表,key index -> time
|
||
type: object
|
||
multi_key_mode:
|
||
$ref: '#/definitions/constant.MultiKeyMode'
|
||
multi_key_polling_index:
|
||
description: 多Key模式下轮询的key索引
|
||
type: integer
|
||
multi_key_size:
|
||
description: 多Key模式下的Key数量
|
||
type: integer
|
||
multi_key_status_list:
|
||
additionalProperties:
|
||
type: integer
|
||
description: key状态列表,key index -> status
|
||
type: object
|
||
type: object
|
||
model.Model:
|
||
properties:
|
||
bound_channels:
|
||
items:
|
||
$ref: '#/definitions/model.BoundChannel'
|
||
type: array
|
||
created_time:
|
||
type: integer
|
||
description:
|
||
type: string
|
||
enable_groups:
|
||
items:
|
||
type: string
|
||
type: array
|
||
endpoints:
|
||
type: string
|
||
icon:
|
||
type: string
|
||
id:
|
||
type: integer
|
||
matched_count:
|
||
type: integer
|
||
matched_models:
|
||
items:
|
||
type: string
|
||
type: array
|
||
model_name:
|
||
type: string
|
||
name_rule:
|
||
type: integer
|
||
owner_user_id:
|
||
description: 模型归属用户ID(供应商场景)
|
||
type: integer
|
||
quota_types:
|
||
items:
|
||
type: integer
|
||
type: array
|
||
status:
|
||
type: integer
|
||
supplier_application_id:
|
||
description: 关联 supplier_applications.id
|
||
type: integer
|
||
sync_official:
|
||
type: integer
|
||
tags:
|
||
type: string
|
||
updated_time:
|
||
type: integer
|
||
vendor_id:
|
||
type: integer
|
||
type: object
|
||
info:
|
||
contact: {}
|
||
description: TokenFactory backend API documentation powered by swaggo.
|
||
title: TokenFactory API
|
||
version: "1.0"
|
||
paths:
|
||
/kling/v1/videos/image2video:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 调用可灵AI图生视频接口,生成视频内容
|
||
parameters:
|
||
- description: '用户认证令牌 (Aeess-Token: sk-xxxx)'
|
||
in: header
|
||
name: Authorization
|
||
required: true
|
||
type: string
|
||
- description: 图生视频请求参数
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/controller.KlingImage2VideoRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 任务状态和结果
|
||
schema:
|
||
$ref: '#/definitions/dto.VideoTaskResponse'
|
||
"400":
|
||
description: 请求参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"401":
|
||
description: 未授权
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"403":
|
||
description: 无权限
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"500":
|
||
description: 服务器内部错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
summary: 可灵官方-图生视频
|
||
tags:
|
||
- Video
|
||
/kling/v1/videos/image2video/{task_id}:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: Query the status and result of a Kling video generation task by
|
||
task ID
|
||
parameters:
|
||
- description: Task ID
|
||
in: path
|
||
name: task_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses: {}
|
||
summary: 可灵任务查询--图生视频
|
||
tags:
|
||
- Origin
|
||
/kling/v1/videos/text2video:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 调用可灵AI文生视频接口,生成视频内容
|
||
parameters:
|
||
- description: '用户认证令牌 (Aeess-Token: sk-xxxx)'
|
||
in: header
|
||
name: Authorization
|
||
required: true
|
||
type: string
|
||
- description: 视频生成请求参数
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/controller.KlingText2VideoRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 任务状态和结果
|
||
schema:
|
||
$ref: '#/definitions/dto.VideoTaskResponse'
|
||
"400":
|
||
description: 请求参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"401":
|
||
description: 未授权
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"403":
|
||
description: 无权限
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"500":
|
||
description: 服务器内部错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
summary: 可灵文生视频
|
||
tags:
|
||
- Video
|
||
/kling/v1/videos/text2video/{task_id}:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: Query the status and result of a Kling text-to-video generation
|
||
task by task ID
|
||
parameters:
|
||
- description: Task ID
|
||
in: path
|
||
name: task_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses: {}
|
||
summary: 可灵任务查询--文生视频
|
||
tags:
|
||
- Origin
|
||
/user/messages/{id}/read:
|
||
post:
|
||
parameters:
|
||
- description: 消息ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
type: integer
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: success + data{updated}
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"400":
|
||
description: 参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 标记当前用户消息为已读
|
||
tags:
|
||
- Message
|
||
/user/messages/publish:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 支持按指定用户或按最小角色发布站内消息,至少设置 receiver_user_id 或 receiver_min_role 之一
|
||
parameters:
|
||
- description: 消息内容
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/controller.PublishUserMessageRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: success + data{published:true}
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"400":
|
||
description: 参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 管理员发布站内消息
|
||
tags:
|
||
- MessageAdmin
|
||
/user/messages/read_all:
|
||
post:
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: success + data{updated_count}
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 标记当前用户全部站内消息为已读
|
||
tags:
|
||
- Message
|
||
/user/messages/self:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: p
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
type: integer
|
||
- description: 标题模糊查询
|
||
in: query
|
||
name: title
|
||
type: string
|
||
- description: 读取状态:all/read/unread,默认all
|
||
in: query
|
||
name: read_status
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 分页结果
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 查询当前用户站内消息
|
||
tags:
|
||
- Message
|
||
/user/messages/unread_count:
|
||
get:
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: success + data{unread_count}
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 获取当前用户未读站内消息数量
|
||
tags:
|
||
- Message
|
||
/user/supplier/{id}:
|
||
get:
|
||
description: 根据供应商ID查询供应商详情,返回申请人用户名 applicant_username
|
||
parameters:
|
||
- description: 供应商ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
type: integer
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 供应商详情
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"400":
|
||
description: 参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 管理员查询供应商详情
|
||
tags:
|
||
- SupplierAdmin
|
||
/user/supplier/application:
|
||
get:
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: p
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
type: integer
|
||
- description: 状态:0待审核 1审核通过 2审核驳回
|
||
in: query
|
||
name: status
|
||
type: integer
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 分页结果
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 管理员分页查询供应商申请
|
||
tags:
|
||
- SupplierAdmin
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 普通用户提交供应商申请,提交后生成管理员待审核站内消息
|
||
parameters:
|
||
- description: 申请信息
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/controller.SupplierApplicationSubmitRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: success + data{id,status}
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"400":
|
||
description: 参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 提交供应商入驻申请
|
||
tags:
|
||
- Supplier
|
||
/user/supplier/application/{id}:
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
description: 管理员可修改任意供应商申请资料;审核通过(status=1)状态也允许修改,且修改后保持原状态
|
||
parameters:
|
||
- description: 供应商申请ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
type: integer
|
||
- description: 申请信息
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/controller.SupplierApplicationSubmitRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: success + data{id,status}
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"400":
|
||
description: 参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 管理员修改供应商申请资料
|
||
tags:
|
||
- SupplierAdmin
|
||
/user/supplier/application/{id}/review:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 任一管理员可审核一次,仅待审核状态允许处理
|
||
parameters:
|
||
- description: 申请ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
type: integer
|
||
- description: 审核信息
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/controller.SupplierApplicationReviewRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: success + data{id,status}
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"400":
|
||
description: 参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 管理员审核供应商申请
|
||
tags:
|
||
- SupplierAdmin
|
||
/user/supplier/application/deactivate:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 仅审核通过状态可注销;注销后清空用户表 supplier_id 并将申请状态置为已注销
|
||
parameters:
|
||
- description: 注销说明
|
||
in: body
|
||
name: request
|
||
schema:
|
||
$ref: '#/definitions/controller.SupplierDeactivateRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: success + data{id,status}
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"400":
|
||
description: 参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 当前供应商注销
|
||
tags:
|
||
- Supplier
|
||
/user/supplier/application/self:
|
||
get:
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: success + data{申请对象或null}
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 查询当前用户供应商申请
|
||
tags:
|
||
- Supplier
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
description: 当前申请只要未审核通过都可修改,修改后状态重置为待审核(0)
|
||
parameters:
|
||
- description: 申请信息(含id)
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/controller.SupplierApplicationUpdateRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: success + data{id,status}
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"400":
|
||
description: 参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 修改当前用户供应商申请并重新提交
|
||
tags:
|
||
- Supplier
|
||
/user/supplier/channels:
|
||
get:
|
||
description: 供应商返回本人渠道;管理员返回所有供应商渠道
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: p
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
type: integer
|
||
- description: 渠道ID
|
||
in: query
|
||
name: channel_id
|
||
type: integer
|
||
- description: 渠道名称(模糊)
|
||
in: query
|
||
name: name
|
||
type: string
|
||
- description: 渠道密钥(精确或模糊)
|
||
in: query
|
||
name: key
|
||
type: string
|
||
- description: API地址(模糊)
|
||
in: query
|
||
name: base_url
|
||
type: string
|
||
- description: 模型关键字(模糊)
|
||
in: query
|
||
name: model
|
||
type: string
|
||
- description: 分组
|
||
in: query
|
||
name: group
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 分页结果
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 查询当前供应商渠道列表
|
||
tags:
|
||
- Supplier
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 仅审核通过的供应商可新增,自动写入 owner_user_id 与 supplier_application_id
|
||
parameters:
|
||
- description: 渠道创建参数
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/controller.AddChannelRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 创建结果
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 当前供应商新增渠道
|
||
tags:
|
||
- Supplier
|
||
/user/supplier/list:
|
||
get:
|
||
description: 支持按供应商名称模糊查询,返回分页数据
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: p
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
type: integer
|
||
- description: 供应商名称(模糊)
|
||
in: query
|
||
name: company_name
|
||
type: string
|
||
- description: 状态筛选,支持逗号分隔(如1,3);默认查询1和3
|
||
in: query
|
||
name: status
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 分页结果
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 管理员分页查询供应商列表
|
||
tags:
|
||
- SupplierAdmin
|
||
/user/supplier/models:
|
||
get:
|
||
description: 仅返回当前登录供应商创建的模型
|
||
parameters:
|
||
- description: 页码
|
||
in: query
|
||
name: p
|
||
type: integer
|
||
- description: 每页数量
|
||
in: query
|
||
name: page_size
|
||
type: integer
|
||
- description: 模型名称(模糊)
|
||
in: query
|
||
name: model_name
|
||
type: string
|
||
- description: 模型类型(映射 vendor,支持名称或ID)
|
||
in: query
|
||
name: model_type
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 分页结果
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- ApiKeyAuth: []
|
||
- ApiUserID: []
|
||
summary: 查询当前供应商模型列表
|
||
tags:
|
||
- Supplier
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 仅审核通过供应商可新增,自动写入 owner_user_id 与 supplier_application_id
|
||
parameters:
|
||
- description: 模型创建参数
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/model.Model'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 创建结果
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- CookieAuth: []
|
||
- ApiUserID: []
|
||
summary: 当前供应商新增模型
|
||
tags:
|
||
- Supplier
|
||
/user/token:
|
||
get:
|
||
description: 生成并返回当前登录用户的 access_token,用于在 Authorization 请求头中进行接口鉴权
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: success + data{access_token}
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- ApiKeyAuth: []
|
||
- ApiUserID: []
|
||
summary: 生成当前用户 AccessToken
|
||
tags:
|
||
- 用户
|
||
/v1/video/generations:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: |-
|
||
调用视频生成接口生成视频
|
||
支持多种视频生成服务:
|
||
- 可灵AI (Kling): https://app.klingai.com/cn/dev/document-api/apiReference/commonInfo
|
||
- 即梦 (Jimeng): https://www.volcengine.com/docs/85621/1538636
|
||
parameters:
|
||
- description: '用户认证令牌 (Aeess-Token: sk-xxxx)'
|
||
in: header
|
||
name: Authorization
|
||
required: true
|
||
type: string
|
||
- description: 视频生成请求参数
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/dto.VideoRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"400":
|
||
description: 请求参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"401":
|
||
description: 未授权
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"403":
|
||
description: 无权限
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"500":
|
||
description: 服务器内部错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
summary: 生成视频
|
||
tags:
|
||
- Video
|
||
/v1/video/generations/{task_id}:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 根据任务ID查询视频生成任务的状态和结果
|
||
parameters:
|
||
- description: Task ID
|
||
in: path
|
||
name: task_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 任务状态和结果
|
||
schema:
|
||
$ref: '#/definitions/dto.VideoTaskResponse'
|
||
"400":
|
||
description: 请求参数错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"401":
|
||
description: 未授权
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"403":
|
||
description: 无权限
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
"500":
|
||
description: 服务器内部错误
|
||
schema:
|
||
additionalProperties: true
|
||
type: object
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 查询视频
|
||
tags:
|
||
- Video
|
||
securityDefinitions:
|
||
ApiUserID:
|
||
description: 必填。当前登录用户ID,需与会话用户或 access_token 对应用户一致。
|
||
in: header
|
||
name: New-Api-User
|
||
type: apiKey
|
||
CookieAuth:
|
||
description: 可选。手动传浏览器会话 Cookie,例如:session=xxx; session_2=yyy。
|
||
in: header
|
||
name: Cookie
|
||
type: apiKey
|
||
swagger: "2.0"
|