48 lines
1.8 KiB
TypeScript
48 lines
1.8 KiB
TypeScript
import { jsonOk } from "@/lib/server/api";
|
|
|
|
export const runtime = "nodejs";
|
|
|
|
export async function GET() {
|
|
return jsonOk({
|
|
openapi: "3.1.0",
|
|
info: {
|
|
title: "智念AIGC平台 Public API",
|
|
version: "1.0.0"
|
|
},
|
|
security: [{ bearerApiKey: [] }, { headerApiKey: [] }],
|
|
components: {
|
|
securitySchemes: {
|
|
bearerApiKey: { type: "http", scheme: "bearer" },
|
|
headerApiKey: { type: "apiKey", in: "header", name: "X-Zhinian-Api-Key" }
|
|
}
|
|
},
|
|
paths: {
|
|
"/api/v1/capabilities": {
|
|
get: { summary: "List generation capabilities", responses: { "200": { description: "Capabilities" } } }
|
|
},
|
|
"/api/v1/assets": {
|
|
get: { summary: "List assets", responses: { "200": { description: "Assets" } } },
|
|
post: { summary: "Upload files or register an external asset URL", responses: { "201": { description: "Created asset" } } }
|
|
},
|
|
"/api/v1/jobs": {
|
|
get: { summary: "List jobs", responses: { "200": { description: "Jobs" } } },
|
|
post: { summary: "Create a queued generation job", responses: { "202": { description: "Queued job" }, "409": { description: "Idempotency conflict" } } }
|
|
},
|
|
"/api/v1/jobs/{id}": {
|
|
get: {
|
|
summary: "Get one job",
|
|
parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }],
|
|
responses: { "200": { description: "Job" }, "404": { description: "Not found" } }
|
|
}
|
|
},
|
|
"/api/v1/jobs/{id}/cancel": {
|
|
post: {
|
|
summary: "Cancel a queued or running job",
|
|
parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }],
|
|
responses: { "200": { description: "Cancelled job" }, "404": { description: "Not found" } }
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|