import type { MediaUnderstandingCapability } from "./types.js"; const MB = 1024 * 1024; export const DEFAULT_MAX_CHARS = 500; export const DEFAULT_MAX_CHARS_BY_CAPABILITY: Record< MediaUnderstandingCapability, number | undefined > = { image: DEFAULT_MAX_CHARS, audio: undefined, video: DEFAULT_MAX_CHARS, }; export const DEFAULT_MAX_BYTES: Record = { image: 10 * MB, audio: 20 * MB, video: 50 * MB, }; export const DEFAULT_TIMEOUT_SECONDS: Record = { image: 60, audio: 60, video: 120, }; export const DEFAULT_PROMPT: Record = { image: "Describe the image.", audio: "Transcribe the audio.", video: "Describe the video.", }; export const DEFAULT_VIDEO_MAX_BASE64_BYTES = 70 * MB; export const DEFAULT_AUDIO_MODELS: Record = { groq: "whisper-large-v3-turbo", openai: "gpt-4o-mini-transcribe", deepgram: "nova-3", mistral: "voxtral-mini-latest", }; export const AUTO_AUDIO_KEY_PROVIDERS = [ "openai", "groq", "deepgram", "google", "mistral", ] as const; export const AUTO_IMAGE_KEY_PROVIDERS = [ "openai", "anthropic", "google", "minimax", "zai", ] as const; export const AUTO_VIDEO_KEY_PROVIDERS = ["google", "moonshot"] as const; export const DEFAULT_IMAGE_MODELS: Record = { openai: "gpt-5-mini", anthropic: "claude-opus-4-6", google: "gemini-3-flash-preview", minimax: "MiniMax-VL-01", zai: "glm-4.6v", }; export const CLI_OUTPUT_MAX_BUFFER = 5 * MB; export const DEFAULT_MEDIA_CONCURRENCY = 2;