Skip to main content
Glama
types.ts1.59 kB
import { z } from 'zod'; // Zod schemas for request validation export const NanoBananaGenerateSchema = z.object({ prompt: z.string().min(1).max(1000) }); export const NanoBananaEditSchema = z.object({ prompt: z.string().min(1).max(1000), image_urls: z.array(z.string().url()).min(1).max(5) }); export const Veo3GenerateSchema = z.object({ prompt: z.string().min(1).max(2000), imageUrls: z.array(z.string().url()).max(1).optional(), model: z.enum(['veo3', 'veo3_fast']).default('veo3'), watermark: z.string().max(100).optional(), aspectRatio: z.enum(['16:9', '9:16']).default('16:9'), seeds: z.number().int().min(10000).max(99999).optional(), callBackUrl: z.string().url().optional(), enableFallback: z.boolean().default(false) }); // TypeScript types export type NanoBananaGenerateRequest = z.infer<typeof NanoBananaGenerateSchema>; export type NanaBananaEditRequest = z.infer<typeof NanoBananaEditSchema>; export type Veo3GenerateRequest = z.infer<typeof Veo3GenerateSchema>; export interface KieAiResponse<T = any> { code: number; msg: string; data?: T; } export interface ImageResponse { imageUrl?: string; taskId?: string; } export interface TaskResponse { taskId: string; } export interface TaskRecord { id?: number; task_id: string; api_type: 'nano-banana' | 'nano-banana-edit' | 'veo3'; status: 'pending' | 'processing' | 'completed' | 'failed'; created_at: string; updated_at: string; result_url?: string; error_message?: string; } export interface KieAiConfig { apiKey: string; baseUrl: string; timeout: number; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/andrewlwn77/kie-ai-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server