feat(web): improve media playground controls

This commit is contained in:
2026-05-11 00:40:02 +08:00
parent ada765d90e
commit 9f7c9f6581
4 changed files with 1952 additions and 27 deletions
+42 -1
View File
@@ -511,7 +511,20 @@ export async function* streamChatCompletionText(
export async function createImageGenerationTask(
token: string,
input: { model: string; prompt: string; size?: string; quality?: string; runMode?: string; simulation?: boolean },
input: {
model: string;
prompt: string;
aspect_ratio?: string;
count?: number;
height?: number;
n?: number;
quality?: string;
resolution?: string;
runMode?: string;
simulation?: boolean;
size?: string;
width?: number;
},
): Promise<{ task: GatewayTask; next: Record<string, string> }> {
return request<{ task: GatewayTask; next: Record<string, string> }>('/api/v1/images/generations', {
body: input,
@@ -531,6 +544,29 @@ export async function createImageEditTask(
});
}
export async function createVideoGenerationTask(
token: string,
input: {
model: string;
prompt: string;
aspect_ratio?: string;
count?: number;
height?: number;
n?: number;
resolution?: string;
runMode?: string;
simulation?: boolean;
size?: string;
width?: number;
},
): Promise<{ task: GatewayTask; next: Record<string, string> }> {
return request<{ task: GatewayTask; next: Record<string, string> }>('/api/v1/videos/generations', {
body: input,
method: 'POST',
token,
});
}
export async function estimatePricing(
token: string,
input: Record<string, unknown>,
@@ -546,6 +582,11 @@ export async function getTask(token: string, taskId: string): Promise<GatewayTas
return request<GatewayTask>(`/api/v1/tasks/${taskId}`, { token });
}
export function resolveApiAssetUrl(src: string) {
if (/^(https?:|data:|blob:)/i.test(src)) return src;
return `${API_BASE}${src.startsWith('/') ? src : `/${src}`}`;
}
export async function listRateLimitWindows(token: string): Promise<ListResponse<RateLimitWindow>> {
return request<ListResponse<RateLimitWindow>>('/api/admin/runtime/rate-limit-windows', { token });
}