{ "title": "API Configuration", "saving": "Saving...", "saved": "Saved", "saveFailed": "Save failed", "connected": "Connected", "notConfigured": "Not configured", "configure": "Configure", "connect": "Connect", "compatibilityLayerOpenAI": "OpenAI Compatible Layer", "compatibilityLayerGemini": "Gemini Compatible Layer", "show": "Show", "hide": "Hide", "capability": "Models", "default": "Default", "delete": "Delete", "add": "Add", "cancel": "Cancel", "close": "Close", "save": "Save", "comingSoon": "Coming soon", "priceInput": "Input {amount}", "priceOutput": "Output {amount}", "priceUnavailable": "N/A", "fillComplete": "Please fill in all fields", "fillPricing": "Please fill in pricing information", "pricingInputLabel": "Input price", "pricingOutputLabel": "Output price", "pricingBasePriceLabel": "Base price (optional)", "pricingEnableCustom": "Enable custom pricing (optional)", "pricingOptionPricesPlaceholder": "Option pricing JSON (optional), e.g. {\"resolution\":{\"1024x1024\":0.12}}", "modelIdExists": "Model ID already exists", "flushConfigFailed": "Failed to save provider settings. Please save API key/Base URL first.", "probeLlmProtocolFailed": "Model protocol probe failed. Please try again.", "probeAuthFailed": "Model protocol probe authentication failed. Please check API key.", "probeInconclusive": "Model protocol probe is inconclusive (rate limit or provider error). Please retry later.", "probeRequestFailed": "Model protocol probe request failed. Please try again.", "modelDisplayName": "Display Name (for your reference)", "modelActualId": "Actual Model ID (API parameter)", "noModelsForProvider": "No models configured for this provider", "defaultModels": "Default Model Configuration", "textDefault": "Text Model", "characterDefault": "Character Model", "locationDefault": "Location Model", "storyboardDefault": "Storyboard Model", "editDefault": "Edit Model", "videoDefault": "Video Model", "audioDefault": "Voice Model", "lipsyncDefault": "Lip Sync Model", "selectDefault": "Select", "defaultModelDesc": { "analysisModel": "Handles script analysis, storyboard construction and full-pipeline text reasoning.", "videoModel": "Synthesizes images and instructions into final video clips.", "characterModel": "Generate character portraits and appearance references from script descriptions", "locationModel": "Generate scene environments and spatial references from script descriptions", "storyboardModel": "Generate shot frames and visual references from storyboard scripts", "editModel": "Perform localized edits, style adjustments and refinements on existing images", "audioModel": "Convert text dialogue into natural and fluent speech audio", "lipSyncModel": "Precisely synchronize speech audio with video character lip movements", "voiceDesignModel": "Design custom voice tones and speech style profiles for characters" }, "defaultModelSection": { "coreFoundation": "Text Analysis & Video", "creativePipeline": "Global Image Model Config", "unifiedOverride": "Batch Image Model Config", "unifiedOverrideHint": "Set the model responsible for image generation/editing across the entire system", "unifiedOverridePlaceholder": "Apply to all scenes...", "followUnified": "Follow global config", "extensions": "Extensions", "coreTextTitle": "Text Analysis Model", "coreVideoTitle": "Video Generation Model", "pipelineCharacter": "Character Gen", "pipelineLocation": "Scene Gen", "pipelineStoryboard": "Shot Gen", "pipelineEdit": "Image Edit", "extLipSync": "Lip Sync", "extTTS": "Speech Synthesis", "extVoiceDesign": "Voice Design", "corePlaceholder": "Required", "extPlaceholder": "Not enabled" }, "imageModelTip": "We recommend using Google's Banana series models. Other image models currently have limited generation quality.", "customProviderTip": "This project is currently in beta. Due to varying custom API formats across providers, custom API compatibility is still limited. We recommend using the built-in official APIs. Future updates will expand compatibility with more providers.", "providerPool": "Provider Pool", "providerPoolDesc": "Configure and use a rich selection of models from global providers", "dragToSort": "Drag to sort", "dragToSortHint": "Drag the top-left handle on each card to reorder providers", "hideProvider": "Hide provider", "hideProviderConfirm": "Are you sure you want to hide this provider? It will be moved to the bottom and can be restored at any time.", "showProvider": "Show provider", "showHiddenProviders": "Show hidden providers", "hideHiddenProviders": "Hide hidden providers", "hiddenProvidersPrefix": "Hidden", "providerIdExists": "Provider ID already exists", "presetProviderCannotDelete": "Preset providers cannot be deleted", "confirmDeleteProvider": "Are you sure you want to delete this provider?", "presetModelCannotDelete": "Preset models cannot be deleted", "confirmDeleteModel": "Are you sure you want to delete this model?", "addGeminiProvider": "Add Model Provider", "baseUrl": "Base URL", "configureBaseUrl": "Configure URL", "addModel": "Add Model", "batchModeHalfPrice": "Batch mode (50% price)", "openaiCompatVideoOnlyHint": "Only OpenAI official-format image-to-video models are supported.", "typeText": "Text", "typeImage": "Image", "typeVideo": "Video", "typeAudio": "Audio", "apiKeyLabel": "API Key", "apiType": "API Type", "apiTypeGeminiCompatible": "Gemini Compatible", "apiTypeOpenAICompatible": "OpenAI Compatible", "apiTypeGeminiHint": "Uses Google SDK", "otherProviders": "Other Settings", "audioCategory": "Audio", "audioAndLipsync": "Audio & Lip Sync", "configureApiKey": "Configure API Key", "enterApiKey": "Enter API Key", "testConnection": "Test Connection", "testing": "Testing...", "testPassed": "Connection test passed", "testFailed": "Connection test failed", "testWarning": "We recommend checking your configuration before adding", "testRetry": "Retry", "addAnyway": "Add Anyway", "testStep": { "models": "Model List", "textGen": "Text Generation", "imageGen": "Image Generation", "credits": "Credits Check", "audioGen": "Audio Generation", "skipped": "Skipped" }, "tabs": { "llm": "Text Models", "image": "Image Models", "video": "Video Models", "audio": "Audio Models", "other": "Other" }, "sections": { "llmApiKeys": "Text Model API Keys", "imageApiKeys": "Image Model API Keys", "videoApiKeys": "Video Model API Keys", "audioApiKey": "Audio Model API Key", "lipsyncApiKey": "Lip Sync API Key" }, "defaultModel": { "title": "Default Model", "hint": "New projects and Asset Hub will use this default configuration. You can also customize models per project in project settings.", "notSelected": "Not selected", "analysis": "Analysis Model", "image": "Image Generation", "video": "Video Generation", "resolution": "Image Resolution" }, "workflowConcurrency": { "analysis": "Analysis Concurrency", "image": "Image Concurrency", "video": "Video Concurrency" }, "viewTutorial": "View Tutorial", "tutorial": { "button": "Tutorial", "title": "Setup Guide", "subtitle": "Follow these steps to complete the configuration", "close": "Got it", "openLink": "Open link", "steps": { "ark_step1": "Go to the Volcano Engine console to create an API Key", "ark_step2": "On the model management page, click 'Enable All Models' button in the top right corner", "openrouter_step1": "Go to OpenRouter platform and create an API Key (must select models with image capabilities)", "fal_step1": "Go to FAL platform and create an API Key", "google_step1": "Go to Google AI Studio and create an API Key", "minimax_step1": "Go to MiniMax platform and get an API Key", "vidu_step1": "Go to the Vidu platform and click 'Create API Key'", "openai_compatible_step1": "Enter any OpenAI-compatible service Base URL and API key", "gemini_compatible_step1": "Enter any Gemini-compatible service Base URL and API key", "bailian_step1": "Go to Alibaba Cloud Bailian console and get an API Key", "siliconflow_step1": "Go to SiliconFlow console and create an API Key" } }, "assistantOpen": "AI Assistant", "assistantTitle": "AI Config Assistant", "assistantSubtitle": "Convert third-party docs into executable image/video templates and auto-save the model.", "assistantWelcome": "Describe your API docs (endpoint, request body, response fields). I will ask follow-up questions and auto-save once valid.", "assistantInputPlaceholder": "Paste docs or describe endpoint details...", "assistantSend": "Send", "assistantDisabledHint": "Save API key and Base URL first", "assistantRequestFailed": "Assistant request failed. Please try again later.", "assistantResponseInvalid": "Assistant response format is invalid. Please retry.", "assistantMissingTitle": "Missing fields", "assistantWarningsTitle": "Warnings", "assistantDraftTitle": "Current draft model", "assistantReasoningTitle": "Reasoning", "assistantReasoningExpand": "Show", "assistantReasoningCollapse": "Hide", "assistantCompletedTitle": "Template Saved", "assistantCompletedMessage": "Model {model} has been added to this provider.\nClick close to finish this chat.", "you": "You", "thinking": "Thinking..." }