{"agent-demo":{"description":"Fully Hosted","title":"Voice Chat"},"aiVoiceGenerator":{"topBar":{"title":"AI Voice Generator","subtitle":"Type your text, pick a voice, hear it in seconds. Free to start."},"freePlan":{"title":"Free to Start, No Card Needed","subtitle":"8,000 free credits every month, instant voice cloning, and MP3 or WAV download — upgrade only when you need more.","cta":"Start Free","card1":{"title":"Narrator","description":"Immersive · Nuanced · Warm"},"card2":{"title":"Conversational","description":"Natural · Relaxed · Human"},"card3":{"title":"Character","description":"Dramatic · Expressive · Memorable"}},"features":{"title":"AI Voice Generator Features","subtitle":"The same S2 voice engine behind Fish Audio text to speech, with inline tag control built in.","voices":{"title":"2,000,000+ Voices","description":"Narrators, characters, conversational styles, built by a global community."},"languages":{"title":"80+ Languages","description":"Automatic detection, mid-sentence switching."},"cloning":{"title":"Instant Voice Cloning","description":"Clone a voice from about 10 seconds of audio."},"tags":{"title":"Inline Tags","description":"Tag your script inline: [whispering], [excited], [laughing] and 60+ more."},"quality":{"title":"Studio Quality","description":"MP3 and WAV export, ready to publish."},"api":{"title":"API Access","description":"The same voices over REST and SDKs."}},"usecases":{"title":"Use Cases for the AI Voice Generator","subtitle":"One voice engine, built for video, characters, and everyday content.","video":{"title":"Video & Content Voiceovers","description":"Broadcast-quality narration for YouTube, ads, explainers and podcasts, exported straight to MP3 or WAV.","button":"Start Creating"},"characters":{"title":"Characters & Games","description":"Give every NPC or story a distinct voice from the library, or clone one you have rights to.","button":"Try It Now"},"elearning":{"title":"E-Learning & Audiobooks","description":"Turn scripts and chapters into consistent, natural narration in minutes.","button":"Get Started"}}},"desktop-browser-required":{"title":"Please use a PC browser for the full experience","description":"Some features are not available on mobile devices yet."},"mascot":{"close":"Close assistant","continue":"Continue guide","empty":"Ask where to find a dashboard action, and I will point you there.","fallback-answer":"I can't help with that right now. Try asking another way.","guide-target-unavailable":"I couldn't find that control on this page. Please try again once the page finishes loading.","hide-temporarily":"Hide assistant until refresh","input-label":"Ask Fish Assistant","input-placeholder":"Ask where to go...","model-card-open":"Open {title}","model-card-pause":"Pause {title}","model-card-play":"Play {title}","model-cards-load-failed":"Couldn't load these voices.","model-cards-loading":"Loading voices","model-cards-retry":"Retry","model-cards-unavailable":"These voices are no longer available.","replay-guide":"Replay guide","send":"Send question","subtitle":"Powered by <agent>Fish Agent</agent>","thinking":"Thinking","title":"Fish Assistant","user-data-consent-accept":"Accept","user-data-consent-cancel":"Cancel","user-data-consent-description":"By clicking \"Accept,\" I consent to the recording and sharing of my data with Fish Audio and third parties as described in the <privacyPolicy>Privacy Policy</privacyPolicy>.","user-data-consent-title":"Data access consent","trigger-label":"Ask Agent","voice-input-connecting":"Connecting...","voice-input-start":"Start voice input","voice-input-stop":"Stop voice input"},"versionUpdateBanner":{"title":"A new version is available.","description":"Refresh to update this page.","dismiss":"Dismiss"},"buildersContestBanner":{"text":"Fish Audio Builders Contest - join our Discord for info and rewards","dismissAriaLabel":"Dismiss Fish Audio Builders Contest banner"},"openInApp":{"button":"Open in the App","dismiss":"Dismiss"},"annonation":{"audio":"Audio","cannot_tell":"Can't tell","count":"Count","single_audio_description":"Adjust the content in the text box above until the generated audio is closest to the original text of normal human reading.","skip":"Skip","submit":"Submit","title":"Evaluate the given audios","which_is_better":"Which is better?"},"annotate":{"a_is_better":"Audio A is better","a_is_better_than_b":"Audio A is better","a_is_much_better":"Audio A is much better","annotationCount":{"consensus_rejected":"Consensus Rejected","marked_as_bad":"Marked as Bad","marked_as_by_sample":"Marked as Bad Sample","pending_consensus":"Pending Consensus","rejected_by_admin":"Rejected by Admin","success":"Success","total":"Total"},"articulate_clearly":"This pronunciation is clearer","audio-quality":{"background-noise":"Background noise (like wind, traffic, etc.)","echo-reverberation":"Echo/reverberation","high-quality":"High quality","multiple-speakers":"Multiple speakers talking at the same time","not-speaking":"The speaker is not speaking (like singing, silence, etc.)","other":"Other","prompt":"Please choice the issues you found in the audio quality, if it's high quality, please select 'High quality'."},"b_is_better":"Audio B is better","b_is_better_than_a":"Audio B is better","b_is_much_better":"Audio B is much better","basicTags":"Basic Tags","cant_tell":"Cannot Tell","choice":"Select","evaluate":"Evaluate","feedback":{"BAD_SAMPLE":"Bad sample","MULTI_SPEAKER":"Multiple speakers","NSFW":"NSFW","SOUND_EFFECT":"Sound effect"},"fetching":"Fetching next one...","inspect":{"link_title":"Check Self Annotation List"},"language":"Language","next":"Submit and next one","no_noise":"This has less noise","no_samples_found":"No Sample found, please update language or tags to fetch more samples","normalize":{"description":"This sample needs to normalize the numbers in the text. Please refer to the rules in the number normalization.","title":"Sample annotation hint"},"nsfwTags":"NSFW Tags","originalText":"Original Text","overall_better":"This has a better overall feel","pleaseInputTranscription":"Please input transcription...","previous":"Previous","quickActions":{"break":"Pause","breakDesc":"Short pause (within 1 second) during speech","breath":"Breath","breathDesc":"Obvious breathing sound during speech","cough":"Cough","coughDesc":"Coughing during speech","eh":"eh","en":"en","fillerWord":"Filler word","laugh":"Laugh","laughDesc":"Laughter during speech","lipSmacking":"Lip Smacking","lipSmackingDesc":"Lip smacking sound during speech","longBreak":"Long Pause","longBreakDesc":"Long pause (over 1 second) during speech","sigh":"Sigh","sighDesc":"Sighing sound during speech","um":"um"},"quickTags":"Quick Tags","refresh":"Refresh","requirement":"This meets the requirements better","segment":"Segment Annotation","selectLanguage":"Select Language","submit":"Submit","submitError":"Submit failed","submitSuccess":"Submit successfully","tags":"Tags","title":"Annotate","video_annotation":"Video Annotation","video":{"annotation_modified":"Modified","annotation_text":"Annotation Text","collapse_all":"Collapse All","current_segment":"Current Segment","download_video":"Download Video","expand_all":"Expand All","no_segments":"No Segment Information","original_text":"Original Text","play_segment":"Play Segment","segment_duration":"Segment Duration","segments":"Video Segments","title":"Video Annotation","video_path":"Video Path"},"which_is_better":"Which is better?","yourOutput":"Your Output"},"api-price-limits":{"asr_price":"ASR Price","concurrency":"Concurrency","concurrent_requests":"Concurrent Requests","concurrency_guide_badge":"Raise your concurrency","concurrency_guide_contact_cta":"Contact Sales","concurrency_guide_description":"Your team's total API credit top-ups determine concurrency: $100+ unlocks 15 concurrent requests, and $1000+ unlocks 50. For larger production traffic, contact sales for custom concurrency and volume pricing.","concurrency_guide_pricing_cta":"View Pricing","concurrency_guide_step_contact":"Need more? Contact sales","concurrency_guide_step_recharge_high":"Top up $1000+ -> 50 concurrent requests","concurrency_guide_step_spend":"Top up $100+ -> 15 concurrent requests","concurrency_guide_title":"Need more throughput?","concurrency_tooltip":"5 concurrent requests by default. Top up $100+ to unlock 15; top up $1000+ to unlock 50. Custom options available for higher usage.","copied_title":"Copied to clipboard","cumulative_api_top_ups":"Cumulative API top-ups: {amount}","default_tier":"Default","audio_hour":"audio hour","generation":"generation","hour":"hour","max_concurrency_unlocked":"Maximum concurrency tier unlocked","million_bytes":"million UTF-8 bytes","model_name":"Model Name","model_type":"Model Type","need_enterprise_pricing":"Need enterprise pricing?","pricing":"Pricing","request_count":"{count} requests","shared_across_all_keys":"Shared across all keys","top_up":"Top up","top_up_in_advance":"Top up in advance to unlock the next tier immediately.","top_up_to_unlock":"Top up {amount} to unlock {count} concurrent requests","tts_price":"TTS Price"},"audio-converter":{"add_more":"Add More","clear_all":"Clear All","click_to_browse":"or click to browse","convert_all_to":"Convert all to","convert_file":"Convert {count} file","convert_files":"Convert {count} files","convert_more":"Convert More","converted_file":"{count} file converted","converted_files":"{count} files converted","download_all":"Download All","drag_and_drop":"Drag & drop audio files","drop":"Drop your files here","features":{"batch":{"description":"Convert multiple audio files at once. Upload a batch and download them all in your preferred format.","title":"Batch Conversion"},"cloud":{"description":"No software installation needed. Convert files directly in your browser with our cloud-based service.","title":"Cloud-Based"},"defaultFormat":"Audio Converter","fast":{"description":"Lightning-fast conversion powered by optimized cloud infrastructure. Get your files in seconds.","title":"Fast Processing"},"formats":{"description":"Support for all popular audio formats including MP3, WAV, FLAC, OGG, M4A, AAC, and more.","title":"Wide Format Support"},"quality":{"description":"Maintain audio fidelity during conversion with high-quality encoding and minimal loss.","title":"Quality Preservation"},"secure":{"description":"Your files are processed securely and never stored on our servers. Convert with confidence.","title":"Private & Secure"},"subtitle":"Professional Audio Converter with simplicity and speed","title":"{format} Features"},"file":"{count} file","files":"{count} files","form-error":{"file_type":"Please upload valid audio or video files only","total_size":"Total size of all files should be less than 1GB"},"formatGrid":{"conversion":"{inputFormat} to {outputFormat}","otherFormats":"Other Formats","popularConversions":"Popular Conversions","subtitle":"Convert between any audio format with a single click","title":"Related Conversions"},"introduction":{"defaultFormat":"Audio Converter","description":"Transform your audio files between any format with ease. Whether you need to convert MP3 to WAV for editing, compress large files, or ensure compatibility across devices, our free converter handles it all with professional-grade quality.","title":"Convert Audio Files Effortlessly"},"processing":"Processing","select":"Select Files","topBar":{"subtitle":"Convert audio files from {inputFormat} to {outputFormat} quickly and easily","subtitleDefault":"Convert audio files online quickly and easily for free","title":"{inputFormat} to {outputFormat}","titleDefault":"Audio Converter"}},"audio-separation":{"audio_credit_info":"Estimated credit usage: {credits}","audio_separation":"Audio Separation","default_prompt":"Default: Vocals","demo":{"audio_samples":"samples","back_to_samples":"Back to Samples","play_track":"Click a track to play","playing":"Playing: {track}","poweredBy":"Powered by Fish Audio Separation and <link>SAM Audio</link>","samples":{"0":"Steady Country Yearning","1":"Glowing Night Drive","2":"Pop Rose Memories","3":"German Bouncy Bop","4":"Jazzy Easy Street","keys-wind":{"0":"Rustic Folk Melody","1":"Classic String Quartet","2":"Epic Orchestral Piano","3":"Digital Synth Rhythm","4":"Serene Woodwind Medley"},"main":{"0":"Steady Country Yearning","1":"Glowing Night Drive","2":"Pop Rose Memories","3":"German Bouncy Bop","4":"Jazzy Easy Street"},"piano-strings":{"0":"Serene String Melancholy","1":"Breezy Village Waltz","2":"Stately Evening Ballroom","3":"Ethereal Dreamscape Echoes","4":"Grand Orchestral Ending"}},"separated_tracks":"Separated Tracks","title":"Try {isolationType} Now","tracks":{"bass":"Bass","drums":"Drums","guitar":"Guitar","original":"Original","vocals":"Vocals"},"view_separated_tracks":"View Separated Tracks"},"features":{"accurate":{"description":"Advanced AI models trained on millions of audio samples for precise source separation","title":"High Accuracy"},"fast":{"description":"Process your audio files in seconds with our optimized cloud infrastructure","title":"Fast Processing"},"flexible":{"description":"Isolate vocals, drums, bass, guitar, piano, and more from any audio track","title":"Multiple Sources"},"quality":{"description":"Maintain audio fidelity with studio-grade output quality","title":"Studio Quality"},"sam":{"description":"Use natural language prompts to isolate any sound with <link>SAM Audio</link>","title":"Prompt-Based Separation"},"subtitle":"Separate any audio into its component sources with precision","subtitleType":{"bass":"Ispolate bass from any audio track with precision","default":"Separate any audio into its component sources with precision","drums":"Isolate drums from any audio track with precision","guitar":"Isolate guitar from any audio track with precision","keys":"Isolate keys from any audio track with precision","percussion":"Isolate percussion from any audio track with precision","piano":"Isolate piano from any audio track with precision","strings":"Isolate strings from any audio track with precision","vocals":"Isolate vocals from any audio track with precision","wind":"Isolate wind instruments from any audio track with precision"},"title":"{isolationType} Features","versatile":{"description":"Support for MP3, WAV, FLAC, M4A, and more audio formats","title":"Format Support"}},"form-error":{"audio_length":"Audio duration should be under 90s (free) or 210s (premium)","audio_required":"Please Upload an Audio File","audio_size":"File size should be less than 32MB","file_type":"Please upload a valid audio or video file","video_has_audio":"Video must contain audio track"},"introduction":{"description":"Unlock the power of AI-driven {isolationType} technology. Extract vocals, instruments, and individual audio sources from any track with unprecedented clarity. Perfect for music producers, content creators, and audio professionals.","title":"{isolationType} Like Never Before","tryFree":"Try It Free","viewHistory":"View History"},"isolate_for":"Isolate for","isolated":"Isolated","isolation-types-full":{"bass":"Bass Isolation","drums":"Drums Isolation","guitar":"Guitar Isolation","keys":"Keys Isolation","percussion":"Percussion Isolation","piano":"Piano Isolation","strings":"Strings Isolation","vocals":"Vocal Isolation","wind":"Wind Instrument Isolation"},"isolation-types-verb":{"bass":"Isolate Bass","drums":"Isolate Drums","guitar":"Isolate Guitar","keys":"Isolate Keys","percussion":"Isolate Percussion","piano":"Isolate Piano","strings":"Isolate Strings","vocals":"Isolate Vocals","wind":"Isolate Wind Instruments"},"isolation-types":{"bass":"Bass","drums":"Drums","guitar":"Guitar","keys":"Keys","original":"Original","percussion":"Percussion","piano":"Piano","sam_audio":"SAM Audio","strings":"Strings","vocals":"Vocals","wind":"Wind"},"library":{"subtitle":"Explore all available audio isolation types","title":"Audio Separation Types"},"loginToSeparateAudio":"Please log in to separate your audio","processing":"Processing","prompt":"Prompt","residual":"Residual","separate":"Separate","separate_audio":"Separate Audio","topBar":{"subtitle":"Audio separation powered by advanced AI models to isolate vocals and instruments from any audio track","subtitleTrack":"Audio separation powered by advanced AI models to isolate {isolationType} from any audio track","title":"Audio Separation"},"upload":"Upload","upload_description":"Drag and drop an audio file here, or click to upload","upload_title":"Add or drop your audio file","uploaded":"Uploaded:","usecases":{"content-creation":{"button":"Start Creating","description":"Extract clean vocals or background music for your videos, podcasts, and social media content. Perfect for creators who need professional audio.","title":"Content Creation"},"remixing":{"button":"Start Remixing","description":"Extract individual stems for remixing and sampling. Get clean isolated tracks of drums, bass, vocals, and more.","title":"Music Remixing"},"subtitle":"Transform your audio workflow with AI-powered {isolationType}","title":"{isolationType} Use Cases","transcription":{"button":"Try It Now","description":"Isolate speech from background noise for cleaner transcriptions. Ideal for podcasts, interviews, and video content.","title":"Clean Audio for Transcription"}},"tab_separate":"Separate","tab_history":"History","history_results":"Generation History","no_history":"No audio separation tasks yet.","state_pending":"Queued","state_processing":"Processing...","state_finished":"Finished","state_failed":"Audio separation failed","state_legacy_unavailable":"Legacy result unavailable","loginToViewHistory":"Please log in to view your history.","open_history_item":"Open result","cancel":"Cancel","delete":"Delete","delete_confirm_title":"Are you sure you want to delete this task?","delete_confirm_description":"This action cannot be undone. This will permanently delete the task.","delete_success":"Task deleted successfully","delete_error":"Failed to delete task","processing_notice":"Processing... You can wait here or check back shortly."},"audio-translation":{"demo":{"authenticationRequired":"Authentication Required","loginToContinueDemo":"Please log in or sign up to translate more audio.","output":"Output","title":"Try Audio Translation Now"},"features":{"context":{"description":"AI understands context and idioms for more accurate translated transcripts","title":"Context-Aware"},"fast":{"description":"Get translated transcripts in seconds with our optimized infrastructure","title":"Fast Processing"},"multilingual":{"description":"Support for 50+ language pairs with native-level translation quality","title":"Multilingual"},"privacy":{"description":"Your audio files are processed securely and never stored","title":"Privacy First"},"seamless":{"description":"Transcribe and translate audio into text in your target language","title":"Seamless Translation"},"subtitle":"Convert audio to translated text in any language","title":"Audio Translation Features","voicePreservation":{"description":"Preserve speaker identification and timestamps in translated output","title":"Speaker Detection"}},"langGrid":{"otherLanguages":"Other Languages","popularTranslations":"Popular Translations","subtitle":"Translate audio between any language with a single click","title":"Related Translations"},"langs":{"auto":"Auto","cantonese":"Cantonese","english":"English","japanese":"Japanese","korean":"Korean","mandarin":"Mandarin"},"topBar":{"subtitle":"Transcribe and translate audio from {from} to {to} quickly and accurately","subtitleDefault":"Transcribe and translate audio into text in any language","title":"{from} to {to}","titleDefault":"Audio Translation"},"usecases":{"globalContent":{"button":"Learn More","description":"Make educational content, lectures, and tutorials accessible worldwide. Generate translated transcripts for e-learning platforms and online courses.","title":"Educational Content"},"podcastTranslation":{"button":"Start Translating","description":"Transcribe and translate business meetings with international teams. Get accurate minutes and action items in any language.","title":"Meeting Transcription"},"subtitle":"Transform audio content into translated text for global reach","title":"Audio Translation Use Cases","videoDubbing":{"button":"Try It Now","description":"Generate translated scripts for video dubbing and subtitle creation. Perfect for YouTube, films, and marketing content.","title":"Video Dubbing"}}},"billing-history":{"actions":"Actions","agent_billing_developers_hint":"Balance and top-ups are shared with your API credit. See detailed billing records in the <link>developers dashboard</link>.","agent_charge_days":"{count, plural, one {# day} other {# days}}","agent_charge_free":"Free","agent_charge_kind_agent_minutes":"Agent minutes","agent_charge_kind_cold_transfer":"Cold transfer","agent_charge_kind_number_rental":"Phone number rental","agent_charge_kind_phone_surcharge":"Phone surcharge","agent_charge_kind_warm_transfer":"Warm transfer","agent_charge_minutes":"{count} min","agent_charge_type":"Type","agent_charge_usage":"Usage","agent_charges":"Agent charges","amount":"Amount","billing_history":"Billing History","billing_id":"Billing ID","copied_title":"Copied to clipboard","created":"Created","export_scope_notice":"Only the newest {count} records were exported. Older records require a server-side export.","next":"Next","no_agent_charges":"No agent charges yet","no_billing_history":"No billing history","previous":"Previous","source":"Source","view_invoice":"View Invoice","window_limited":"Showing only the records available in the current history window.","agent_charge_kind_llm_surcharge":"Premium model"},"blog":{"back-to-blog":"BLOG","blog-label":"Blog","clear-filter":"Clear filter","cta-description":"Start generating the highest quality audio today.","cta-login":"Log in","cta-login-prompt":"Already have an account?","cta-signup":"Sign up for free","cta-title":"Create voices that feel real","faq-title":"Frequently Asked Questions","filter-all":"All","go-to-homepage":"Go to homepage","no-posts":"No posts yet","no-posts-description":"We're working on new content. Check back soon for updates.","no-posts-for-tag":"No posts found with tag \"{tag}\"","on-this-page":"On this page","read-article":"READ ARTICLE","read-more-from-author":"Read more from {name}","recent-blogs":"Recent Articles","recommended-posts":"Recommended posts","share-article":"Share this article","view-all":"View all","filter-recommended":"Recommended"},"closure":{"danger-title":"Close account","danger-description":"Permanently close your Fish Audio account. Your profile will be anonymized and the account can no longer be used.","keep-account-question":"Want to stop paying but keep your account?","keep-account-link":"Cancel your subscription instead","danger-button":"Close account","page-title":"Close account","back":"Back","preview":{"title":"Before you close your account","blockers-title":"Resolve these first","continue":"Continue","already-pending":"Your account already has a pending closure request.","load-failed":"We couldn't load your account status. Please try again.","retry":"Retry","window-notice":"Closure takes effect after {days} days. Until then, you can cancel it anytime by signing back in and recovering your account."},"blockers":{"negative_api_balance":{"title":"Outstanding API balance","description":"Your API credit balance is negative. Settle the outstanding amount before closing your account."},"past_due_subscription":{"title":"Past-due subscription","description":"A subscription payment is past due. Settle it before closing your account."},"open_stripe_invoice":{"title":"Open invoice","description":"You have an open invoice that hasn't been paid yet."},"unpaid_auto_charge_invoice":{"title":"Unpaid auto-charge invoice","description":"An automatic charge is still unpaid. Settle it before closing your account."},"withdrawal_in_flight":{"title":"Withdrawal in progress","description":"A wallet withdrawal is still being processed. Wait for it to complete before closing your account."},"team_ownership":{"title":"You own teams with other members","description":"Transfer ownership or remove the other members before closing your account.","detail":"{count, plural, one {# team needs} other {# teams need}} a new owner."},"team_owner_invariant":{"title":"A team would be left without an owner","description":"Closing your account would leave a team without any owner. Transfer ownership first, then try again."},"team_step_failed":{"title":"Team cleanup didn't finish","description":"We couldn't finish detaching your teams. Contact support to complete your account closure."},"wallet_balance":{"title":"Remaining wallet balance","description":"Your wallet still has a balance. Withdraw it first, or choose to forfeit it below.","personal-entry":"Personal wallet: {amount}","team-entry":"Team wallet ({team}): {amount}","forfeit-label":"I understand my remaining wallet balance will be permanently forfeited."},"enterprise_contract":{"title":"Active enterprise contract","description":"Your account is covered by an enterprise contract. Contact support to close it."},"enterprise_invoice_unsettled":{"title":"Unsettled enterprise invoices","description":"There are unsettled enterprise invoices on your account. Contact support to resolve them."},"resolve-billing":"Go to billing","resolve-wallet":"Go to wallet","resolve-team":"Go to team settings","resolve-support":"Contact support"},"impacts":{"title":"What happens when you close your account","subscription":{"title":"Subscription","description":"Your subscription will be canceled. Any remaining paid time is forfeited and will not be refunded.","period-end":"Your current billing period ends on {date}.","ends-soon":"Your current billing period ends on {date} — inside the closure window, so your remaining paid time will be lost almost immediately.","soon":"soon"},"credits":{"title":"Prepaid credits","description":"Your remaining {count} prepaid credits will be permanently voided."},"api-keys":{"title":"API keys","description":"{count, plural, =0 {API access will be suspended immediately.} one {# API key will be suspended immediately.} other {# API keys will be suspended immediately.}}"},"pvc":{"title":"Professional voice clones","description":"{count, plural, one {# in-progress professional voice clone job} other {# in-progress professional voice clone jobs}} will be released."},"public-voices":{"title":"Published voices","description":"{count, plural, one {# public or unlisted voice} other {# public or unlisted voices}} you published will stay available under an anonymous profile. Delete them before closing if you don't want them to remain."},"recent-topups":{"title":"Recent top-ups","description":"You made large top-ups recently. These amounts will not be refunded:"}},"verify":{"title":"Verify it's you","subtitle":"We sent a 6-digit code to {email}. Enter it below to continue.","no-code":"Didn't receive the code?","resend":"Resend code","continue":"Continue"},"confirm":{"title":"Confirm account closure","warning":"This schedules your account for closure. After {days} days it will be permanently closed and cannot be recovered. You will be signed out on all other devices.","email-label":"Type your email to confirm","reason-label":"Why are you leaving? (optional)","reason-placeholder":"Tell us what we could have done better","submit":"Close my account","success":"Your account is scheduled for closure."},"errors":{"blocked":"Your account can't be closed yet. Resolve the items listed first.","too-many-attempts":"Too many incorrect codes. We're sending you a new code.","otp-send-failed":"Failed to send the verification code. Please try again.","email-mismatch":"The email you typed doesn't match your account email.","otp-invalid":"That code is incorrect. Please check it and try again.","otp-expired":"That code has expired. Request a new one below.","otp-used":"That code has already been used. Request a new one below.","generic":"Something went wrong. Please try again."},"pending-title":"Your account is scheduled to close","pending-description":"Your account will be permanently closed on {date}. After that it can no longer be accessed or recovered.","pending-description-no-date":"Your account is scheduled to be permanently closed.","pending-effect-subscription":"Your subscription will not renew.","pending-effect-api-keys":"Your API keys are suspended immediately.","pending-effect-data":"Your profile will be anonymized and your private content will no longer be accessible.","pending-effect-voices":"Public and unlisted voices you published stay available under an anonymous profile. To remove them, recover your account and delete them first.","finalizing-notice":"Closure is in progress. Your account can no longer be recovered.","recover-button":"Recover my account","logout-button":"Log out","recover-confirm-title":"Recover your account?","recover-confirm-description":"This cancels the scheduled closure and restores access to your account.","recover-confirm-cancel":"Cancel","recover-confirm-action":"Recover account","recover-success":"Your account has been recovered.","recover-error":"Could not recover your account. Please try again.","blocked-banner-title":"Your account closure could not be completed","blocked-banner-unknown-reason":"An account issue we can't display here — contact support for details.","blocked-banner-support":"Contact support","blocked-banner-dismiss":"Dismiss","admin-close-account":"Close account","admin-warning":"Closing schedules this account for permanent closure (pseudo-delete): profile anonymized, sessions revoked, API keys suspended immediately. Published voices remain available under an anonymous author.","admin-reason-label":"Reason","admin-reason-placeholder":"Why is this account being closed?","admin-reason-required":"A reason is required.","admin-immediate-label":"Close immediately","admin-immediate-description":"Finalize the closure now instead of waiting for the grace period.","admin-override-label":"Override blockers","admin-override-description":"Skips all safety checks and forfeits any remaining wallet balance. Outstanding money movement is written off. This cannot be undone — use only when support has explicitly cleared it.","admin-blocked-title":"Closure blocked","admin-blocked-hint":"Resolve these blockers or enable \"Override blockers\" to force the closure.","admin-close-success":"Account closure requested.","admin-close-error":"Failed to close the account. Please try again.","admin-confirm":"Confirm close"},"cms":{"actions":"Actions","cancel":"Cancel","cms":"CMS","confirm_delete":"Delete","content":"Content","content_id":"ID","create_button":"Create Mdx","create_title":"Create Mdx","created_at":"Created At","delete_button":"Delete Mdx","delete_mdx_description":"Are you sure you want to delete Mdx?","delete_mdx_title":"Delete Mdx","language":"Language","modify_button":"Modify Mdx","modify_title":"Modify Mdx","submit":"Submit","updated_at":"Updated At"},"credit-link":{"buttons":{"claim":"Claim reward","goToApp":"Go to app","returnHome":"Return home","tryAgain":"Try again"},"claimedBanner":{"and":" and ","api":"${amount} API credits","description":"You just received {rewardPart}. Enjoy creating with Fish Audio!","package":"{amount} package credits","title":"Reward claimed","membership":"{amount} {unit} {plan} membership"},"emptyStates":{"loadError":{"description":"Something went wrong while retrieving this credit link. Please refresh or try again later.","title":"Unable to load link"},"notFound":{"description":"This credit link no longer exists or has been removed. Please contact the sender for a new link.","title":"Link unavailable"}},"footer":{"signIn":"Sign in to claim this reward.","signInMonthly":"Sign in to claim this reward. The same user can redeem once per calendar month."},"heading":{"api":"${amount} API credits","base":"Claim","package":"{amount} package credits","separator":" + ","membership":"{amount} {unit} {plan} membership"},"messages":{"success":"Reward added to your account."},"status":{"active":"Active","deleted":"Deleted","exhausted":"Exhausted","expired":"Expired","unknown":"Unavailable"},"statusMessage":{"active":"Sign in and click Claim to add these credits to your account instantly.","deleted":"This link has been disabled.","exhausted":"All available claims have been used. Please request a new link.","expired":"This link has expired and can no longer be used.","unknown":"This link is currently unavailable."},"whitelist-not-eligible":"Sorry, your account is not eligible to claim from this link.","membershipUnits":{"day":"day","dayPlural":"days","week":"week","weekPlural":"weeks","month":"month","monthPlural":"months","year":"year","yearPlural":"years"},"planLabels":{"lite":"Lite","plus":"Plus","pro":"Pro","max":"Max"}},"dashboard":{"actionCards":{"cloneVoice":{"description":"Create a digital copy of your voice with our advanced AI technology","title":"Clone Your Own Voice"},"fantasyRoleplay":{"description":"Create immersive audio experiences and bring characters to life","title":"Fantasy Role Play"},"generateSpeech":{"description":"Convert any text to natural-sounding speech in seconds","title":"Generate Speech"}},"breadcrumb":{"delete":"Delete","rename":"Rename"},"deprecation":{"model_notice_description":"Fish Audio v1.5 and v1.6 were deprecated on February 28, 2026, as we prepare for our new model launch. Please use Fish Audio S1 until the new model is available.","model_notice_title":"Model Deprecation Notice"},"home":{"ask_anything":"Say anything","actions":{"download":"Download","more":"More"},"features":{"agent":{"description":"Build and embed real-time AI voice customer service into your website","title":"Agent"},"audio_separation":{"description":"Separate vocals, drums, bass and other stems from any audio","title":"Audio Separation"},"image_video":{"description":"Generate and sync visuals, videos, and lips with AI","title":"Image & Video"},"sound_effects":{"description":"Generate unique sound effects from text descriptions","title":"Sound Effects"},"tts":{"description":"Convert any text to natural-sounding speech in seconds","title":"Text to Speech"},"voice_cloning":{"description":"Create a digital copy of any voice with our advanced AI","title":"Create Voice"}},"seedance_banner":{"title":"SEEDANCE <version>2.5</version> is now live","description":"30-second videos. Audio references. More control.","cta":"Try now","aria_label":"Try Seedance 2.5 video generation","contest":{"title":"🐠 Fish of the Future Art Contest","description":"Create your vision of futuristic marine life and join the contest on Discord.","cta":"Join the Contest","aria_label":"Join the Fish of the Future Art Contest on Discord"}},"projects":{"title":"Projects","empty_title":"Start your audio creation journey","empty_description":"The Story Studio allows you to combine text, audio, and sound effects in a multi-track timeline.","create_action":"Create a new studio project","edited_today":"Edited Today {time}","edited_yesterday":"Edited Yesterday {time}","edited_on":"Edited {date}","voices_count":"{count} voices","no_voices":"No voices yet"},"history":{"empty_description":"No history yet","delete_dialog":{"title":"Delete voice","description":"This action cannot be undone. Please proceed with caution.","cancel":"Cancel","confirm":"Delete"}},"voices":{"empty_description":"No voices yet"},"introducing_s1":"Introducing S1","s1_description":"Fish Audio S1 is our flagship model, with the best voice cloning performance — giving you the right voice, full of emotion, full of soul.","sections":{"features":"Features","blog":"Latest Blog","my_voices":"My Voices","studios":"Agentic Creative Studio"},"studios":{"audio":{"description":"Create immersive audio experiences and bring characters to life","title":"Audio Studio"},"video":{"description":"Build and edit videos with AI-powered audio","title":"Video Studio"}},"try_it":"Try it","view_all":"View All"},"join_discord":"Join Discord to claim more credits","service_alert":{"title":"S1 Service Degradation","tooltip_message":"Temporary service degradation on S1 model. Generations over 500 characters are temporarily routed to v1.6 and charged at v1.6 pricing. A fix is expected within the day. See latest updates on our"},"title":"Dashboard","feedback":{"button":"Feedback","cancel":"Cancel","captureScreenshot":"Capture screenshot","capturing":"Capturing...","placeholder":"Tell us what's on your mind...","removeScreenshot":"Remove","submit":"Submit","success":"Thank you for your feedback!","title":"Send Feedback"},"support":"Support"},"data-table":{"empty_data":"No data available","page_number":"Page","rows_per_page":"Rows per page"},"date-picker":{"last14":"Last 14 days","last30":"Last 30 days","last90":"Last 90 days","last7":"Last 7 days","allTime":"All time","lastMonth":"Last Month","lastWeek":"Last Week","pick_a_date":"Pick a date","thisMonth":"This Month","thisWeek":"This Week","today":"Today","yesterday":"Yesterday"},"developers":{"apiSelfhost":{"heading":"Use our API. Or self-host the model","hosted":{"bullet1":"WebSocket streaming, REST, Python + TypeScript SDKs","bullet2":"$15 / 1M UTF-8 bytes — no commit","bullet3":"Inline direction syntax in every call","bullet4":"Same model that ships open-weight","cta":"Get an API key","description":"Cloud API, pay-as-you-go, $15 per million characters. The fastest path to production for teams that don't need to operate the model themselves.","title":"Hosted API · Any team"},"selfHost":{"bullet1":"WebSocket streaming, REST, Python + TypeScript SDKs","bullet2":"$10k/month","bullet3":"Effective floor: $120–150K/year","bullet4":"Direct access to our research team","cta":"Talk to sales","description":"Our open-source models — fish-speech, S1, S2 — ship as open weights with a paid commercial license. Deploy to your VPC, data center, sovereign cloud, or air-gapped environment. A premium engagement for high-volume teams needing data residency, fine-tuning, or regulated deployment.","title":"Self-host the model."},"subcopy":"Cloud API for any team building today. Self-host as a premium Enterprise engagement when production demands it."},"cta":{"getApiKey":"Get API key","headline":"Get to production this weekend","readDocs":"Read the docs","subcopy":"Free credits to start. No card required. Same tier from prototype to scale."},"faq":{"a1":"Bearer token via the Authorization: Bearer $FISH_API_KEY header. Generate keys in the dashboard, scope them per project, rotate from the API.","a2":"Sub-second time-to-first-audio over WebSocket streaming on the hosted API. Self-hosted deployments run lower. Exact figures depend on region, model, and payload — see <docs>the docs</docs> for current benchmarks.","a3":"Yes — WebSocket streaming for both TTS and ASR, designed for agent-style bidirectional interaction. Examples in <docs>the streaming guide</docs>.","a4":"Yes — on the Enterprise tier. Our open-source models (fish-speech, S1, S2) ship as open weights with a paid commercial license. Deploy to your VPC, on-prem, sovereign cloud, or air-gapped environment. Self-host is a premium engagement with a one-time platform setup ($10–30K), $10K/mo minimum, and a 12-month commitment — effective floor $120–150K/year. <sales>Talk to sales</sales> about Enterprise.","a5":"Inline bracket syntax — write [warm], [near-whisper], or any of 15,000+ supported tags directly in the text you send. No separate parameter, no list to pick from. Direction travels with the text in every API call.","a6":"Yes. Instant Voice Clone (IVC) from a 30-second sample. Professional Voice Clone (PVC) for studio-grade replicas. Consent attestation is part of the API call.","a7":"Yes — every Fish-generated audio is licensed for commercial use. Cloned voices require consent verification. Audio watermarking is built into the cloning pipeline.","a8":"We publish a head-to-head breakdown at <vs>fish.audio/vs</vs>. Most production migrations take under a week — same shape of API, similar SDK ergonomics. Talk to us if you need integration support.","heading1":"Frequently asked","heading2":"questions","q1":"How does authentication work?","q2":"What latency should I expect?","q3":"Do you support streaming?","q4":"Can I self-host the model?","q5":"How does voice direction work?","q6":"Can I clone custom voices via API?","q7":"Is the audio safe for commercial use?","q8":"Migrating from ElevenLabs, Cartesia, or Rime?"},"features":{"body1":"Our open-source models — fish-speech, S1, and S2 — ship as open weights with a paid commercial license. Self-host in your VPC, on-prem, sovereign cloud, or air-gapped environment when production demands it. Self-host is an Enterprise-tier engagement — see below.","body2":"[warm], [near-whisper], [reassuring] — direction travels with the text itself. No separate parameter, no list to pick from, no schema migration when the tag set grows.","body3":"Listeners can't reliably distinguish S2.1 Pro from human in blind evaluation. 581 head-to-head comparisons. Methodology and raw audio published.","body4":"Same model behind HeyGen, Pictoria, Dubbing AI, and Plaud. Pay-as-you-go from your first call. No \"contact us\" for production rates.","button1":"Read the licensing terms","button2":"Browse the direction library","button3":"Read the research","button4":"See full pricing","card1":"Open weights. Paid commercial license.","card2":"15,000+ direction tags. Inline in any call.","card3":"Audio Turing Test: 0.515.","card4":"$15 per million characters. From your first call.","heading":"Built for the real-time stack."},"hero":{"getApiKey":"Get API key","headline1":"Production-grade voice AI.","headline2":"Priced like a startup.","headline3":"Open like a community.","readDocs":"Read the docs","subcopy":"Ship lifelike speech, voice cloning, and transcription with one API. Official Python and TypeScript SDKs. Sub-second latency. Pay-as-you-go pricing from your first call.","s21FreeBadge":"S2.1 Pro is now free for developers"},"heroDemo":{"caption":"S2.1 Pro running live. Pick a voice, type a line, hear it back. The same model behind HeyGen, Retell, and Sanas in production — no signup, no sales call, no demo environment.","code":"Code","tryIt":"Try it"},"logoWall":{"categories":{"education":"Education & Learning","interactiveSocial":"Interactive & Social","videoVoiceover":"Video Voiceover, \nDubbing & Music","voiceAgents":"Voice Agents & \nConversational AI"},"heading":"Trusted by teams building voice in production"},"pricing":{"button":"See full pricing","headline1":"Pricing that","headline2":"doesn't punish growth","subline":"Pay-as-you-go from day one. No seat fees. No annual commits. No \"contact us\" for production rates.","table":{"asr":"ASR","asrPrice":"$0.36 / hour","model":"Model","modelName":"Model name","pricing":"Pricing","tts":"TTS","ttsPrice":"$15 / 1M UTF-8 bytes","ttsFreePrice":"Free for developers"}},"quickstart":{"curlCardTitle":"CURL · TEXT TO SPEECH","headline1":"From signup to first audio in","headline2":"minutes.","pills":{"python":"Python SDK","rest":"REST","typescript":"TypeScript SDK","websocket":"WebSocket streaming"},"pythonCardTitle":"PYTHON SDK","subcopy":"No sales call required. Get an API key, install the SDK, and ship."},"resources":{"card1":{"body":"Head-to-head breakdowns by capability, price, and contract terms. Same-shape API; most production migrations finish in under a week.","cta":"See the comparison","title":"Coming from ElevenLabs, Cartesia, or Rime?"},"card2":{"body":"Audio Turing Test results, blind-evaluation methodology, and the open-weights license. The proofs behind every claim on this page.","cta":"Read the research","title":"The benchmarks, methodology, and raw audio"}},"useCases":{"card1":{"body":"Lip-syncable, emotion-aware TTS for AI avatar products. Inline direction tags drive performance, not just words.","pill":"# Avatar video","title":"Voice that holds up on camera"},"card2":{"body":"Sub-second turn-taking over WebSocket. Streaming TTS and ASR in one stack. Interruption-aware.","pill":"# Voice agent","title":"Real-time conversational AI"},"card3":{"body":"Notes-to-audio, prep tools, AI companions. Per-character pricing that scales with usage, not seats.","pill":"# Audio content & companions","title":"Dynamic spoken content."},"card4":{"body":"IVC from 30 seconds of audio. PVC for studio-grade replicas. Or browse the voice library and ship without cloning.","pill":"# Character apps","title":"Clone in 30 seconds. Or skip cloning entirely."},"heading":"What teams ship on Fish."}},"error":{"copied":"Copied!","copy-details":"Copy Error Details","error-message":"Message","error-reference":"Error Reference","go-home":"Go Home","message":"An unexpected error occurred. Please try refreshing the page or contact support if the problem persists.","support-message":"Include the error details when contacting","title":"Something went wrong","try-again":"Try Again","unknown-error":"Unknown error"},"event":{"s1":{"banner":"Start creating with S1 now"},"valentine":{"aigc-disclaimer":"AI-generated content is derived from users' public data. We do not claim copyright ownership. This content is for personal use only.","be-my-valentine":"Be my valentine","build-my-own":"Build my own","characters":"Characters","create-your-message":"Create your message","customize-character-and-message":"Customize character and message","edit-and-recreate":"Edit & Recreate","english":"English","enter-a-name":"Enter a name","enter-text-here":"Type your love letter here.","featured-characters":"Featured Characters","featured-characters-description":"All content generated by this model is user-generated and may not be accurate or reliable.","generate":"Generate","generate-with-random-character":"Generate with random character","generating":"Generating...","generating-love-letter":"Generating your love letter...","inspiration":"Inspiration","japanese":"Japanese","let":"Let","make-a-new-one":"Make a new one","metadata":{"description":"Create personalized AI voice love letters for Valentine's Day. Choose from thousands of voices and express your feelings in a unique way.","keywords":["AI Love Letter","Valentine's Day Voice Message","AI Voice Message","Fish Audio","Voice Generator","Text to Speech","Valentine's Day 2024","Digital Love Letter","AI Valentine","Romantic Message Generator"],"title":"Create AI Voice Love Letters - Fish Audio Valentine's Event"},"no-characters-found":"No characters found","now_is_on_live":"now is on live","random-character":"Random Character","result-metadata":{"description":"This love letter could not be found. Create your own AI-generated love letter with Fish Audio's Valentine's event.","description-short":"Listen to {character}'s love letter to {name}. Create your own romantic message with Fish Audio's Valentine's event.","description-with-text":"Listen to {character}'s love letter to {name}: {text}\nCreate your own romantic message with Fish Audio's Valentine's event.","image-alt":"{character}'s Avatar","not-found":"Love Letter Not Found - Fish Audio Valentine's Event","random-character":"Random Character","seo-keywords":["{character} Love Letter","{character} Voice Message","AI Love Letter","Valentine's Day Message","AI Voice Message","Fish Audio","Voice Over","AI Voice","Voice Generator","Text to Speech","Valentine's Day 2024","Romantic AI Message","Digital Love Letter","AI Valentine","Voice Love Letter"],"share-hashtags":["FishAudio","AIVoice","Valentine","ValentinesDay2024","LoveLetter"],"site-name":"Fish Audio Valentine's Event","title":"{character}'s Love Letter to {name} - Fish Audio Valentine's Event"},"search-characters":"Browse Public Content or Your Characters","select":"Select","selected-now":"Selected now","tips-1":"1. Type your name","tips-2":"2. Generate a love letter or write your own","to":"TO:","to-name":"To {name}","try-now":"Try now","voice-modal-to-explore":"Explore more than 10,000 voices"}},"forgot-password":{"continue":"Continue","dont_receive_code":"Didn't receive the code?","email_label":"Email","go_to_login":"Go to login","password_label":"New Password","password_mismatch":"Passwords do not match","password2_label":"Confirm Password","resend_otp":"Resend OTP","send_otp":"Send","submit_forgot_password":"Reset Password","subtitle_email":"Enter your email address and we'll send you an one-time password to reset your password.","subtitle_otp":"Check your email, we will send you a code to complete the verification","subtitle_password":"Enter your email address and we'll send you an one-time password to reset your password.","title_email":"Forgot Password","title_email_change":"Change Password","title_otp":"Verification Code","title_password":"New Password"},"m":{"bookmark":"Bookmark","by_author":"by {author}","cancel":"Cancel","clone":{"description":"Confirm whether to clone the model, this will create a private model that cannot be changed","title":"Clone Model"},"common":{"cancel":"Cancel","confirm":"Confirm"},"description":"Description","discover_more_tag_voices":"Discover More {tags} Voices","dislike":"Dislike","edit":"Edit","edit_details":"Edit Details","edit_model":"Edit Model","edit_sample":"Edit Sample","edit_samples":"Edit Samples","generate_sample_template":"Generate Sample","generating_sample":"Generating","new_sample":"New Sample","explore-related-models":"Explore Related Models","faq":{"variant_0":{"q1":{"answer":"Simply type your text in the demo above, select {modelTitle}, and click generate. You can download the audio or use it in our <playground>advanced playground</playground> for more controls.","question":"How do I use {modelTitle} voice generator?"},"q10":{"answer":"{modelTitle} is a strong choice for {tags} content. You can preview the voice using the samples above or generate a test clip with your own text. You can also <cloning>create your own custom voice</cloning> if you need something unique.","question":"What are some good {tags} voices?"},"q2":{"answer":"Yes! You can try {modelTitle} for free. Create an account to get monthly free generations and access advanced features.","question":"Is {modelTitle} voice free to use?"},"q3":{"answer":"Use {modelTitle} for YouTube videos, TikTok content, audiobooks, podcasts, video games, animations, and any project needing professional voiceovers.","question":"What can I create with {modelTitle} AI voice?"},"q4":{"answer":"Yes, with our paid plans you get full commercial use rights. Free users can use voices for personal projects.","question":"Can I use {modelTitle} voice commercially?"},"q5":{"answer":"{modelTitle} generates ultra-realistic speech with natural emotion and tone. Listen to the samples above to hear the quality. Over {taskCount} creators trust this voice.","question":"How realistic is {modelTitle} voice?"},"q6":{"answer":"Based on voice characteristics and user feedback, {modelTitle} performs well for {tags} content. The voice supports various production contexts including video narration, podcast episodes, audiobook chapters, and short-form social content. Results may vary depending on your specific script and delivery requirements.","question":"What types of content is {modelTitle} suited for?"},"q7":{"answer":"{modelTitle} has been used in {taskCount} generations and received {likeCount} likes from users. These metrics reflect actual usage data from our platform. You can listen to the samples above to evaluate whether the voice meets your requirements before generating.","question":"What is the usage history for {modelTitle}?"},"q8":{"answer":"All voices on this platform use the same underlying TTS engine with voice-specific training data. {modelTitle} has its own vocal characteristics including pitch range, speaking pace, and tonal qualities. The technical output quality is consistent across all voices. Differences between voices are primarily in timbre and style rather than technical capability.","question":"How does {modelTitle} compare to other voices on this platform?"},"q9":{"answer":"Voice selection depends on your specific requirements. We recommend generating test samples with 2-3 voices before committing to production use. Listen to the provided samples on each voice page to assess fit for your genre or style requirements, and use the <playground>advanced playground</playground> to test with your own scripts.","question":"How should I evaluate different voice options?"},"title":"Frequently Asked Questions about {modelTitle}"},"variant_1":{"q1":{"answer":"{modelTitle} works with multiple languages automatically. The AI detects your text language and generates natural-sounding speech.","question":"What languages does {modelTitle} support?"},"q10":{"answer":"{modelTitle} is a strong choice for {tags} content. You can preview the voice using the samples above or generate a test clip with your own text. You can also <cloning>create your own custom voice</cloning> if you need something unique.","question":"What are some good {tags} voices?"},"q2":{"answer":"Audio generation is instant - typically completed in just a few seconds, even for longer texts.","question":"How long does it take to generate {modelTitle} voice?"},"q3":{"answer":"Download your {modelTitle} voiceovers in MP3, WAV, and other popular formats for maximum compatibility.","question":"What audio formats can I download?"},"q4":{"answer":"Yes! Our <playground>advanced playground</playground> lets you fine-tune speed, pitch, emotion, and other parameters to get the perfect sound.","question":"Can I adjust the voice speed and pitch?"},"q5":{"answer":"Free users can generate shorter clips, while paid plans support extended text lengths for audiobooks, long-form content, and more.","question":"How many characters can I generate at once?"},"q6":{"answer":"Based on voice characteristics and user feedback, {modelTitle} performs well for {tags} content. The voice supports various production contexts including video narration, podcast episodes, audiobook chapters, and short-form social content. Results may vary depending on your specific script and delivery requirements.","question":"What types of content is {modelTitle} suited for?"},"q7":{"answer":"{modelTitle} has been used in {taskCount} generations and received {likeCount} likes from users. These metrics reflect actual usage data from our platform. You can listen to the samples above to evaluate whether the voice meets your requirements before generating.","question":"What is the usage history for {modelTitle}?"},"q8":{"answer":"All voices on this platform use the same underlying TTS engine with voice-specific training data. {modelTitle} has its own vocal characteristics including pitch range, speaking pace, and tonal qualities. The technical output quality is consistent across all voices. Differences between voices are primarily in timbre and style rather than technical capability.","question":"How does {modelTitle} compare to other voices on this platform?"},"q9":{"answer":"Voice selection depends on your specific requirements. We recommend generating test samples with 2-3 voices before committing to production use. Listen to the provided samples on each voice page to assess fit for your genre or style requirements, and use the <playground>advanced playground</playground> to test with your own scripts.","question":"How should I evaluate different voice options?"},"title":"Technical Details for {modelTitle} Voice"},"variant_2":{"q1":{"answer":"{modelTitle} offers exceptional quality with {likeCount} user endorsements. Compare the samples above - you'll hear the difference in emotion and naturalness.","question":"Why choose {modelTitle} over other AI voices?"},"q10":{"answer":"{modelTitle} is a strong choice for {tags} content. You can preview the voice using the samples above or generate a test clip with your own text. You can also <cloning>create your own custom voice</cloning> if you need something unique.","question":"What are some good {tags} voices?"},"q2":{"answer":"No! Everything works in your browser. Just type, generate, and download - no installation required.","question":"Do I need any special equipment or software?"},"q3":{"answer":"Free users get generous monthly quotas. Upgrade for unlimited generations and priority access to new features.","question":"Can I create unlimited voiceovers with {modelTitle}?"},"q4":{"answer":"Yes. Your generated audio and scripts are private. We follow strict data protection standards.","question":"Is my content private and secure?"},"q5":{"answer":"Each voice has distinct characteristics, tone, and style. {modelTitle} has been used in {taskCount}+ projects, proving its versatility and quality.","question":"What makes {modelTitle} voice unique?"},"q6":{"answer":"Based on voice characteristics and user feedback, {modelTitle} performs well for {tags} content. The voice supports various production contexts including video narration, podcast episodes, audiobook chapters, and short-form social content. Results may vary depending on your specific script and delivery requirements.","question":"What types of content is {modelTitle} suited for?"},"q7":{"answer":"{modelTitle} has been used in {taskCount} generations and received {likeCount} likes from users. These metrics reflect actual usage data from our platform. You can listen to the samples above to evaluate whether the voice meets your requirements before generating.","question":"What is the usage history for {modelTitle}?"},"q8":{"answer":"All voices on this platform use the same underlying TTS engine with voice-specific training data. {modelTitle} has its own vocal characteristics including pitch range, speaking pace, and tonal qualities. The technical output quality is consistent across all voices. Differences between voices are primarily in timbre and style rather than technical capability.","question":"How does {modelTitle} compare to other voices on this platform?"},"q9":{"answer":"Voice selection depends on your specific requirements. We recommend generating test samples with 2-3 voices before committing to production use. Listen to the provided samples on each voice page to assess fit for your genre or style requirements, and use the <playground>advanced playground</playground> to test with your own scripts.","question":"How should I evaluate different voice options?"},"title":"Why Choose {modelTitle} Voice?"}},"hero_variants":{"variant_0":{"subtitle":"Create ultra-realistic {modelTitle} voice from any text in seconds. Get started for free - no credit card required. Perfect for content creators, video producers, and storytellers. Used by {taskCount}+ creators.","title":"Try {modelTitle} AI voice generator for free"},"variant_1":{"subtitle":"Type any text and hear it speak in {modelTitle}'s authentic voice. Ultra-realistic AI voice for videos, audiobooks, podcasts, and social media. Professional quality in seconds.","title":"Generate realistic {modelTitle} voice from any text"},"variant_2":{"subtitle":"Join {likeCount}+ content creators using {modelTitle}'s voice for YouTube, TikTok, and professional projects. Generate unlimited voiceovers with studio-quality results.","title":"Create content with {modelTitle} AI voice technology"},"variant_3":{"subtitle":"Transform any text into {modelTitle}'s voice instantly. Natural emotion, authentic tone, professional results. No recording equipment needed - just type and generate.","title":"Create studio quality {modelTitle} voice in seconds"},"variant_4":{"subtitle":"Create professional voiceovers, audiobooks, and video narration with {modelTitle}'s AI voice. Try free demo below - upgrade for unlimited generations. Liked by {likeCount} creators.","title":"Professional {modelTitle} AI voice for content creation"},"variant_5":{"subtitle":"Hear {modelTitle} speak anything you type with our advanced AI voice technology. Perfect for content creation, entertainment, and professional projects. Instant results guaranteed.","title":"Experience the most realistic {modelTitle} AI voice"}},"how_to_use":{"cta":{"primary":"Open Advanced Playground","secondary":"View Features & Pricing","subtitle":"Join thousands of creators using AI voices for videos, podcasts, and more","title":"Ready to create professional content with {modelTitle}?","trust1":"Free tier available","trust2":"No credit card needed","trust3":"Join {count}+ satisfied users"},"step1":{"cta":"Try the demo above","description":"Type or paste any text you want {modelTitle} to speak","feature1":"Start free with generous character limits","feature2":"Works in multiple languages automatically","title":"Enter Your Script"},"step2":{"description":"Click generate to hear {modelTitle}'s voice bring your text to life","feature1":"Studio-quality results in seconds","feature2":"100% free to try • No credit card required","social_proof":"{count}+ creators have used this voice","title":"Generate Audio"},"step3":{"cta":"Use Voice","description":"Click 'Use Voice' button to unlock powerful features:","feature1":"Extended text length for longer projects","feature2":"Fine-tune speed, pitch, and emotion","feature3":"Download in multiple formats (MP3, WAV)","feature4":"Save to library & unlock commercial use rights","title":"Open Advanced Playground"},"subtitle":"Create professional voiceovers in 3 simple steps","title":"How to Use {modelTitle} Voice Generator"},"like":"Like","likes":"Likes","mark_count":"Mark Count","model_page_variants_with_tags":{"variant_0":{"meta_description":"Generate realistic {modelTitle} voice with AI text to speech. Used by {taskCount}+ creators. Free to try.","meta_title":"{modelTitle} AI Voice Generator | Fish Audio","subtitle":"Generate {modelTitle} voice trusted by {taskCount}+ creators. Create {tags} speech with AI text to speech.","title":"{modelTitle} AI Voice Generator by Fish Audio"},"variant_1":{"meta_description":"Generate realistic {modelTitle} voice with AI text to speech. Used by {taskCount}+ creators. Free to try.","meta_title":"{modelTitle} AI Voice Generator | Fish Audio","subtitle":"Generate {modelTitle} voice trusted by {taskCount}+ creators. Create {tags} speech with AI text to speech.","title":"Free {modelTitle} AI Voice Generator by Fish Audio"},"variant_2":{"meta_description":"Generate realistic {modelTitle} voice with AI text to speech. Used by {taskCount}+ creators. Free to try.","meta_title":"{modelTitle} AI Voice Generator | Fish Audio","subtitle":"Generate {modelTitle} voice trusted by {taskCount}+ creators. Create {tags} speech with AI text to speech.","title":"{modelTitle} AI Voice Generator by Fish Audio"},"variant_3":{"meta_description":"Generate realistic {modelTitle} voice with AI text to speech. Used by {taskCount}+ creators. Free to try.","meta_title":"{modelTitle} AI Voice Generator | Fish Audio","subtitle":"Generate {modelTitle} voice, used {taskCount} times with {likeCount} likes. Create {tags} speech with AI text to speech.","title":"Free {modelTitle} AI Voice Generator by Fish Audio"},"variant_4":{"meta_description":"Generate realistic {modelTitle} voice with AI text to speech. Used by {taskCount}+ creators. Free to try.","meta_title":"{modelTitle} AI Voice Generator | Fish Audio","subtitle":"Generate {modelTitle} voice, used {taskCount} times with {likeCount} likes. Create {tags} speech with AI text to speech.","title":"{modelTitle} AI Voice Generator by Fish Audio"},"variant_5":{"meta_description":"Generate realistic {modelTitle} voice with AI text to speech. Used by {taskCount}+ creators. Free to try.","meta_title":"{modelTitle} AI Voice Generator | Fish Audio","subtitle":"Generate {modelTitle} voice, used {taskCount} times with {likeCount} likes. Create {tags} speech with AI text to speech.","title":"Free {modelTitle} AI Voice Generator by Fish Audio"}},"model_updated":"Model updated successfully","no_audio_sample_tips":"There's no audio samples yet","other_tag_voices":"Other {tag} Voices","pitch":"Pitch","samples":"Samples","samples_saved":"Samples saved successfully","save":"Save","saved_by":"Saved by","seo":{"link_suffix":"AI Voice Generator","page_description":"Create professional voiceovers with {modelTitle} AI voice. Free text-to-speech with studio-quality results.","page_title":"Fish Audio - {modelTitle} Voice Generator","related_models_heading":"Related Voice Models"},"share":"Share","shared_count":"Shared Count","shares":"Shares","showcase":{"explore_more":"Explore More Samples","related_model":"Related: {modelTitle}","sample_number":"Sample {number}","subtitle":"Listen to sample generations showcasing voice quality and versatility","title":"Samples - {modelTitle}","sample_transcriptions":"Sample Transcriptions"},"task_count":"Task Count","total_likes":"Total Likes","total_saved":"Total Saved","total_share":"Total Share","total_use":"Total Use","unlike":"Unlike","use_voice":"Use Voice","release_voice":"Release voice","release_voice_modal":{"title":"Release Voice","description":"Once published, the model cannot be taken offline until the notice period expires. Also, you cannot change settings of:","training_materials":"Voice training materials and configuration","voice_owner":"Voice owner","billing_and_notice_period":"Billing method and notice period","visibility":"Visibility (private / unlisted / public)","platform_availability":"Platform / API availability","notice_extension":"Once published, the notice period can only be extended, not shortened.","notice_period":"Notice Period","one_year":"1 year","two_years":"2 years","three_years":"3 years","minimum":"Minimum","recommended":"Recommended","maximum_stability":"Maximum stability","payout_method":"Payout Method","confirmation":"I confirm that I have the rights and consent to release this voice. I understand and agree that once released, any delisting request will take effect only after the selected notice period expires, which may only be extended and cannot be shortened.","confirm":"Release Voice","close":"Close","stripe_checking":"Checking Stripe payout status…","stripe_ready":"Stripe payouts are ready.","stripe_not_ready":"Stripe setup or payout requirements are incomplete.","stripe_check_failed":"Stripe payout status could not be verified.","stripe_verified_on_release":"Stripe payout readiness will be verified when you release.","set_up_stripe":"Set up Stripe","setting_up_stripe":"Opening Stripe…","stripe_owner_required":"Ask the team owner to complete Stripe setup.","releasing":"Releasing…","release_success":"Voice released successfully.","release_already_completed":"This voice has already been released.","errors":{"feature_unavailable":"Voice release is currently unavailable.","job_unavailable":"The PVC job or its linked voice could not be found. Refresh and try again.","not_ready":"This voice is not ready to be released yet.","invalid_model":"The PVC job and voice data do not match. Refresh and try again.","invalid_input":"Choose a valid visibility and notice period.","stripe_not_connected":"Connect the team wallet to Stripe before releasing this voice.","stripe_not_ready":"Complete Stripe onboarding and payout requirements before releasing this voice.","stripe_unavailable":"Stripe is temporarily unavailable. Your selections have been kept; try again later.","state_conflict":"The release state changed. Refresh and check the latest status before trying again.","unknown":"The voice could not be released. Your selections have been kept; try again."}},"release_status_modal":{"edit_release":"Edit Release","title":"Release status","released":"Released","retiring":"Retiring","notice_period_ends":"Notice period ends","retire_voice":"Retire voice","retire_confirmation":"I understand that this voice remains available for existing Platform/API use until <strong>{date}</strong>.","extend_notice_period":"Extend notice period","close":"Close","retiring_voice":"Retiring voice…","extending_notice_period":"Extending notice period…","retire_success":"Voice retirement requested.","extend_success":"Notice period extended.","errors":{"expired":"The notice period has expired and can no longer be extended.","unavailable":"Release management is currently unavailable.","state_changed":"The release status changed. Refresh and try again.","job_unavailable":"The PVC job or its linked voice could not be found. Refresh and try again.","unknown":"The release status could not be updated. Try again."}},"uses":"Uses","view_more_tag_voices":"View More","general_content":"general content","voice_library":"Voice Library","keywords":{"ai_voice":"AI Voice","text_to_speech":"Text to Speech","voice_generator":"Voice Generator","voice_over":"Voice Over"}},"model":{"state":{"created":"Queued","failed":"Failed","trained":"Succeeded","training":"In Progress"}},"my-collections":{"my-collections":{"cancel":"Cancel","confirm":"Confirm","delete_confirm_description":"Are you sure you want to cancel this collection?","delete_confirm_title":"Cancel Collection","delete_success":"Cancel collection successfully","no_collection_tips":"No Collections","title":"My Collections","delete":"Delete","delete_failed":"Failed to delete","default_voices":{"empty":"No default voices available","load_failed":"Failed to load default voices","loading":"Loading default voices...","descriptions":{"selene":"A meditative female voice.","adrian":"A steady and reliable narrator.","sarah":"An engaged speaker.","ethan":"A curious explainer.","laura":"A confident female narrator.","jordan":"A motivational speaker.","hannah":"A conversion specialist."}}}},"my-conversions":{"cancel":"Cancel","completed_tasks":"Completed Tasks","conversions":"Generation History","copied_title":"Copied to clipboard","create_new":"Create New","createAt":"Create At","delete":"Delete","delete-confirm-tips":"You will lose conversions handle with care!","delete-confirm":{"cancel":"Cancel","confirm":"Confirm","title":"Are you sure you want to delete {count} selected conversions?"},"delete-error":"Failed to delete conversion","delete-success":"Delete conversion successfully","delete-partial":"Deleted {deleted} conversions, then stopped after an error. {remaining} remain selected.","delete-success-count":"Deleted {count} conversions","delete_success":"Deleted successfully","download_json":"Download JSON","download_txt":"Download TXT","finished":"Finished","generation_failed":"Failed","in_process":"In Progress","MMM D":"MMM D","model_deleted_tips":"The voice has been deleted","no_conversion_tips":"No conversion voices yet","no_conversions_yet":"No conversions yet","no_model_tips":"Random Voice","open":"Open","pending":"Pending","pending_tasks":"Pending Tasks","play":"Play","regenerate":"Regenerate","retry":"Retry","load-error":"Failed to load generation history.","search":"Search voices...","search_placeholder":"Search generations...","search-min-length":"Enter at least {count} characters to search.","select":"Select","select_all":"Select All","select_conversion_type":"Select Conversion Type","selected":"Selected","sound_effect_creativity":"Creativity: {creativity}","sound_effect_duration":"Duration: {duration}s","sound_effect_generation":"Sound Effect Generation","speech_to_text":"Speech to Text","sound_effect_guidance":"Guidance: {guidance}","sound_effect_parameters":"Parameters","sound_effect_refinement":"Refinement: {refinement}","sound_effect_steps":"Steps: {steps}","status":"Status","status_all":"All Status","status_finished":"Finished","status_pending":"Pending","succeeded":"Succeeded","text":"Text","text_to_speech":"Text To Speech","title":"Generation History","train":"Generate New Voice","type":"Type","un_select":"Unselect","voice_conversion":"Voice Conversion","voice_model":"Voice Model","legacy_unavailable":"Legacy result unavailable","audio_separation":"Audio Separation","audio_separation_parameters":"Parameters","audio_separation_type":"Isolation: {type}","audio_separation_file":"File: {file}"},"my-models":{"audio_samples":"Audio Samples","create-at":"Create At","delete":"Delete","dmca_badge":"DMCA","dmca_unavailable":"Unavailable due to DMCA takedown","delete-confirm":{"cancel":"Cancel","confirm":"Confirm","description":"This voice and its public page will no longer be available. Previously generated audio will not be deleted.","title":"Are you sure to delete the voice?"},"delete-error":"Failed to delete voice","delete-success":"Delete voice successfully","edit":"Edit","filter_all":"All","loading_sequence_0":"Creating your voice model from the demo...","loading_sequence_1":"You can modify model information afterwards by clicking \"edit model\"","loading_sequence_2":"Enhancing the voice model...","loading_sequence_3":"Almost ready...","my-models":"My Voices","no_trained_voices_yet":"No trained voices yet","play":"Play","search":"Search voices...","status":"Status","audio_clips":"Audio Clips","train":"Build New Voice","use":"Use","use_voice":"Use Voice","view":"View Model","voice_clone_demo_title":"Voice Clone Demo","voice_model_save_failed":"Failed to save your voice model. Please try again.","voice_model_saved_success":"Your voice model has been saved successfully!","pvc_delete_disabled":"This voice was created via Professional Voice Clone and cannot be deleted here.","professional_voice_drafts":"Professional Voice Draft","draft_voice":"Draft Voice","available":"Available","pvc-state-draft":"Draft","pvc-state-awaiting-verification":"Awaiting verification","pvc-state-verifying":"Verifying","pvc-state-merging":"Merging","pvc-state-training":"Training","pvc-state-verification-failed":"Verification failed","resume":"Resume","verify-now":"Verify now","view-progress":"View progress","view-details":"View details"},"no-samples-found":"No samples found","not-found":{"go-home":"Go Home","message":"The page you are looking for may be misplaced, have disappeared, or simply not exist.","title":"Oops! This page doesn't exist."},"project":{"a_is_better":"Audio A is better","a_is_better_than_b":"Audio A is better","a_is_much_better":"Audio A is much better","actions":"Actions","active":"Active","add_annotators":"Add Annotators","add_annotators_dialog_title":"Add Annotators","add_annotators_success":"Add Annotators Success","all":"All","all_users":"All Users","annotates":"Annotates","annotates_list":"Annotates List","annotates_task_list":"Annotation Task List","annotation_hint":"Annotation Hint Text CMS ID","annotation_status":{"consensus_completed":"Consensus Completed","consensus_rejected":"Consensus Rejected","marked_bad":"Marked Bad","pending_consensus":"Pending Consensus","rejected_by_admin":"Rejected by Admin","success":"Success","unannotated":"Unannotated"},"annotation_type":"Annotation Type","annotation_users":"Annotation Users","annotations":"Annotations","annotations_count":"Mark completed quantity","annotations_details":"Annotations Details","annotator":"Annotator","audio":"Audio","audio_a":"Audio A","audio_b":"Audio B","audio_better":"Audio {one} Better","audio_candidate":"Audio Candidate","b_is_better":"Audio B is better","b_is_better_than_a":"Audio B is better","b_is_much_better":"Audio B is much better","batch_size":"Batch Size","batch_size_help":"The number of samples to import in each batch","batch_size_placeholder":"Please enter the batch size","cancel":"Cancel","cannot_tell":"Cannot Tell","cant_tell":"Cannot Tell","choice":"Choice","confirm":"Confirm","confirm_delete":"Delete","confirm_delete_annotators":"Are you sure you want to delete the selected annotators?","consensus_algorithm":"Consensus Algorithm","consensus_award_price":"Consensus Award Price","consensus_completed":"Consensus Completed","consensus_rejected":"Labelled (Consensus Failure)","consensus_required_count":"Consensus Required Count","consensus_result":"Consensus Result","content":"Content","create_button":"Create","create_title":"Create project","created_at":"Created At","delete_annotators":"Delete Annotators","delete_annotators_confirm":"Are you sure you want to delete the selected annotators?","delete_annotators_failed":"Delete Annotators Failed","delete_annotators_success":"Delete Annotators Success","delete_button":"Delete","delete_project_description":"After deleting the project, all data in the project will be deleted. Please be careful.","delete_project_title":"Delete Project","disable":"Disable","download_audio":"Download Audio","download_audio_failed":"Download audio failed","dummy":"Dummy (1 Annotation)","email":"Email","enable":"Enable","expected":"As Expected","export_to_csv":"Export to CSV","failed_annotations_count":"Failed Annotations Count","failed_annotations_count_tooltip":"Failed annotations count","feedback":"Feedback","filter":"Filter","filter_help":"The filter to import the samples","filter_placeholder":"Please enter the filter","id":"ID","import":"Import Dataset","import_data":"Import Data","import_dataset_url":"Import Dataset URL","import_dataset_url_help":"The URL of the dataset to import","import_dataset_url_placeholder":"Please enter the dataset URL","inactive":"Inactive","inspect_count":"Inspect Count","inspect_users":"Inspect Users","inspection_status":{"approved":"Approved","pending":"Pending","rejected":"Rejected"},"inspection_task_list":"Inspection Tasks","inspection_task":{"annotation_status":"Status","condtion":{"annotation_status":"Status","language":"Language","size":"Size","tags":"Tag"},"language":"Language","size":"Size","tags":"Tag"},"inspection":{"breadcrumb":{"inspection_tasks":"Inspection Tasks"},"list":{"annotation_statuses":"Annotation Statuses","annotators":"Annotators","cancel":"Cancel","conditions":"Conditions","create":"Create","create_samples_task":"Create Sampling Task","created_at":"Created At","date_range":"Date Range","deduplication":"Deduplicate Annotation","deduplication_description":"If annotation is in other inspection tasks, it will be excluded","delete":"Delete","description":"Description","enter":"Enter","insepectors_avatar":"Inspector Avatar","language_options":{"en":"English","ja":"Japanese","zh":"Chinese"},"languages":"Languages","select_annotators":"Select Annotators","select_date_range":"Select Date Range","select_languages":"Select Languages","select_statuses":"Select Statuses","size":"Sample Size","size_required":"Sample size must be greater than 0","status_options":{"consensus_rejected":"Consensus Rejected","marked_bad":"Marked Bad","pending_consensus":"Pending Consensus","rejected_by_admin":"Rejected by Admin","success":"Success"},"title":"Title","title_required":"Title cannot be empty","view_report":"View Report"},"report":{"all":"All","approve_rate":"Approve Rate","approved_count":"Approved Count","approved_items":"Approved Items","condition":"Condition","consensus_rejected":"Consensus Rejected","created_at":"Created At","filter_by_status":"Filter by Status","mark_all_rejected_as_unannotated":"Mark All Rejected as Unannotated","marked_bad":"Marked Bad","pending_count":"Pending Count","pending_items":"Pending Items","reject_rate":"Reject Rate","rejected_by_admin":"Rejected by Admin","rejected_count":"Rejected Count","rejected_items":"Rejected Items","success":"Success","title":"Title","total_annotations":"Total Annotations","total_annotations_count":"Total Annotations Count","total_samples":"Total Samples","user":"Annotator"},"sampling":{"approve":"Approve","audio":"Audio","audio_url":"Audio URL","candidate":"Candidate","decision":"Decision","feedback":"Feedback","id":"ID","item_not_found":"Inspection Item Not Found","item_not_found_description":"There are no more items to inspect in this task. You can view the inspection report or return to the inspection tasks list.","modified_content":"Modified Content","original_content":"Original Content","other_annotation":"Other Annotation","preference":"Preference","reference":"Reference","reject":"Reject","remark":"Remark","remark_placeholder":"Please enter the remark","return_to_list":"Return to List","sample_id":"Sample ID","segments":"Segments","should_normalize":"Should Normalize","status":"Status","submit_error":"Error submitting inspection item","submit_success":"Inspection item submitted successfully","text":"Text","view_report":"View Report"}},"local_user_addition_warning":"Only admin can search members","local_user_addition_warning_description":"You're adding members without verifying their email, please check the result after submitting.","majority":"Majority","marked":"Marked","marked_bad":"Marked Bad","member":"Member","members":"Extra Members","modify_button":"Modify","modify_title":"Modify project","name":"Name","no_result":"No related users found","normalized_audio":"Normalized Audio","normalized_text":"Normalized Text","number":"No","owner":"Owner","pending":"Pending","pending_consensus":"Pending Consensus","preference":"Preference","project_detail":"Project Details","project_owner":"Project Owner","project_type":"Project Type","reannotate":"Reannotate","reannotate_error":"Reannotate Error","reannotate_success":"Reannotate Success","reference":"Reference","reject":"Reject","reject_annotation_error":"Reject Annotation Error","reject_annotation_success":"Reject Annotation Success","reset_user_annotations_count":"Reset Count","reset_user_annotations_count_success":"Reset user annotations count success","result":"Result","results":"Results","review_failed":"Submit review failed","role":"Role","sample_id":"Sample ID","sample_retrieval_interval":"Sample Retrieval Interval","samples_imported":"Samples imported successfully","samples":{"task":{"annotation_statuses":"Annotation Statuses","annotators":"Annotators","cancel":"Cancel","conditions":"Conditions","create":"Create","create_samples_task":"Create Sampling Task","created_at":"Created At","date_range":"Date Range","delete":"Delete","description":"Description","enter":"Enter","insepectors_avatar":"Inspector Avatar","language_options":{"en":"English","ja":"Japanese","zh":"Chinese"},"languages":"Languages","select_annotators":"Select Annotators","select_date_range":"Select Date Range","select_languages":"Select Languages","select_statuses":"Select Statuses","size":"Sample Size","size_required":"Sample size must be greater than 0","status_options":{"consensus_rejected":"Consensus Rejected","marked_bad":"Marked Bad","pending_consensus":"Pending Consensus","rejected_by_admin":"Rejected by Admin","success":"Success"},"title":"Title","title_required":"Title cannot be empty","view_report":"View Report"}},"sampleStatus":{"consensus_completed":"Consensus Completed","pending_consensus":"Pending Consensus","unannotated":"Unannotated"},"search":"Search","search_user":"Search User","segment":"Segment Annotation","selectAnnotator":"Select Annotator","selectLanguage":"Select Language","selectStatus":"Select Status","standard_deviation":"Standard Deviation","status":"Status","success":"Labelled (Consensus Achieved)","text":"Text","total_annotations":"Total Annotations","total_samples":"Total Samples","unannotated":"Unannotated","unexpected":"Unexpected","updated_at":"Updated At","user_id":"User ID","users_joined":"Users Joined","video":"Video Annotation","video_annotation":"Video Annotation","video_sentiment":"Video Sentiment","which_is_better":"Which is better?"},"sam-audio":{"features":{"accurate":{"description":"Advanced AI models trained on millions of audio samples for precise source separation with high fidelity","title":"High Accuracy"},"fastProcessing":{"description":"Process your audio files in seconds with our optimized cloud infrastructure","title":"Fast Processing"},"flexible":{"description":"Isolate any sound you can describe - vocals, instruments, effects, speech, and more","title":"Flexible Isolation"},"formats":{"description":"Support for MP3, WAV, FLAC, M4A, and more popular audio formats","title":"Format Support"},"quality":{"description":"Maintain audio fidelity with studio-grade output quality for professional results","title":"Studio Quality"},"subtitle":"Isolate any sound using natural language prompts","textBased":{"description":"Describe sounds naturally using text prompts like 'remove background music' or 'isolate the vocals'","title":"Prompt-Based Separation"},"title":"SAM Audio Features"},"introduction":{"description":"SAM Audio enables you to isolate any sound through natural language descriptions. Simply describe what you want to extract - vocals, instruments, speech, or any sound - and get clean, high-quality results instantly.","title":"Isolate Any Sound with Natural Language","tryFree":"Try It Free"},"topBar":{"badge":"AI-Powered Audio Separation","sign_up":"Get Started Free","subtitle":"Isolate any sound from audio using natural language prompts. Describe what you want to extract and get clean, high-quality results instantly.","title":"SAM Audio"},"try_sam_audio":"Try SAM Audio","usecases":{"musicProduction":{"button":"Start Creating","description":"Extract individual stems and isolate specific instruments using natural language. Perfect for remixing, sampling, and creating stems from any track.","title":"Music Production & Stem Separation"},"speechEnhancement":{"button":"Enhance Speech","description":"Improve speech-to-text accuracy by isolating speech from background noise. Ideal for podcasts, interviews, and meeting recordings.","title":"Speech Enhancement & Transcription"},"subtitle":"Transform your audio workflow with prompt-based separation","title":"SAM Audio Use Cases","videoEditing":{"button":"Try Video Audio","description":"Isolate dialogue from background noise, extract specific sound effects, or remove unwanted audio from video content with simple text prompts.","title":"Video Editing & Post-Production"}}},"sample":{"copied_title":"Copied!","copy_button":"Copy Annotation URL","latest_annotate_at":"Latest Annotated at","question":"Extra Question"},"settings":{"mascot":{"description":"Show this assistant across the dashboard. This preference is saved across your devices.","error":"Failed to update the assistant preference","success":"Assistant preference updated"},"notifications":{"api_balance_warning":{"email":{"description":"Get notified when API balance reaches a specified threshold.","title":"API Balance Alerts"}},"api_key_expiry":{"email":{"description":"Stay ahead by receiving alerts before your API keys expire.","title":"API Key Expiration Notifications"}},"error":"Failed to update notifications","marketing":{"email":{"description":"Receive updates on promotions and offers.","title":"Marketing Notifications"}},"success":"Notifications updated successfully","title":"Notifications"}},"sound-effects":{"authenticationRequired":"Authentication Required","cancel":"Cancel","creativity":"Creativity","creativity_tooltip":"Higher creativity levels yield more diverse and unexpected sound effects.","credit_info":"Each sound effect generation costs 5000 credits.","history_hint":{"generating":"Generating...","generated":"Generated"},"quick_prompt":{"shuffle_aria_label":"Shuffle quick prompt tags","optimize_tooltip":"Optimize Prompt","options":{"use_case":{"gaming":"Gaming","film_video":"Film & Video","social_content":"Social Content","podcast":"Podcast","app_ui":"App & UI","advertising":"Advertising"},"sound_type":{"ambience":"Ambience","foley":"Foley","impact":"Impact","human":"Human","animal":"Animal","nature":"Nature","mechanical":"Mechanical","ui":"UI"},"mood":{"calm":"Calm","tense":"Tense","dark":"Dark","playful":"Playful","epic":"Epic","mysterious":"Mysterious"},"style":{"realistic":"Realistic","cinematic":"Cinematic","cartoon":"Cartoon","retro":"Retro","futuristic":"Futuristic","horror":"Horror"},"theme":{"domestic":"Domestic","urban":"Urban","nature":"Nature","industrial":"Industrial","sci_fi":"Sci-fi","fantasy":"Fantasy","indoor":"Indoor","outdoor":"Outdoor"}}},"delete":"Delete","delete_confirm_description":"This action cannot be undone. This will permanently delete the sound effect.","delete_confirm_title":"Are you sure you want to delete this sound effect?","delete_error":"Failed to delete sound effect","delete_success":"Sound effect deleted successfully","filters":{"clear_all":"Clear all","show_more":"+{count} more","show_less":"Show less","duration":{"0-2":"Under 2s","2-5":"2–5s","5-15":"5–15s","15-30":"15–30s","30+":"30s+"},"sort":{"latest":"Latest","most_downloaded":"Most downloaded","trending":"Trending"},"tags":{"content_type":"Content type","duration":"Duration","genre":"Genre","mood":"Mood","movement":"Movement","theme":"Theme","alert":"Alert","ambient":"Ambient","animal":"Animal","applause":"Applause","bark":"Bark","bell":"Bell","bird":"Bird","button":"Button","cheer":"Cheer","city":"City","click":"Click","comedy":"Comedy","crash":"Crash","crowd":"Crowd","dog":"Dog","door":"Door","drone":"Drone","engine":"Engine","explosion":"Explosion","fantasy":"Fantasy","fire":"Fire","footstep":"Footstep","footsteps":"Footsteps","forest":"Forest","gaming":"Gaming","domestic":"Domestic","human":"Human","nature":"Nature","vlog":"Vlog","gunshot":"Gunshot","rain":"Rain","river":"River","thunder":"Thunder","wind":"Wind","laser":"Laser","punch":"Punch","sci-fi":"Sci-Fi","ui":"UI"}},"empty_state":{"clear_filters":"Clear filters","description":"Try adjusting your search query","title":"No sound effects found"},"demo":{"back_to_samples":"Back to Samples","generate":"Generate","playing":"Playing","poweredBy":"Powered by Fish Audio SFX Generation","prompt_used":"Prompt Used","samples":{"0":"Helicopter Takeoff","1":"Gravel Footsteps","2":"Keyboard Typing","3":"Campfire Crackle","4":"Rain on Metal Roof"},"select_sample":"Select a sample to hear","sound_samples":"Sound Samples","title":"Generate your own {effect} sound effect","titleDefault":"Generate your own sound effects with AI","view_prompt":"View Prompt"},"descriptions":{"airplane":{"0":"Jet airplane flyby with prominent doppler effect","1":"Propeller plane flyover with roaring engine sounds","2":"Turboprop aircraft passing by fast","3":"Heavy jet flies directly overhead","4":"Small prop airplane close pass"},"alarm":{"0":"Old clock alarm: Mechanical, ticking","1":"Electronic alarm:  Harsh, loud, modern","2":"Car alarm: High-pitched, insistent","3":"Smoke detector: Piercing, urgent alarm","4":"Kitchen timer:  Annoying, electronic beeps"},"alert":{"0":"Gentle sonar ping, peaceful alert","1":"Subtle harp glissando notification","2":"Bubbly, upbeat synthetic bloop chime","3":"Loud alarm sound for urgent system warnings","4":"Unique analog synth pop alert"},"applause":{"0":"Audience claps, enthusiastic cheer","1":"Loud crowd cheering and applause","2":"Polite, brief clapping","3":"Large crowd clapping, echoing","4":"Slow, rhythmic hand claps"},"bark":{"0":"Single bark - loud, sharp, and distinct","1":"Single bark - deep, resonant, and strong","2":"Multiple barks - aggressive, short, repeated","3":"Distant barking - echoing and muffled sound","4":"Multiple barks - deep, commanding, with pauses"},"bell":{"0":"Church bell ringing, resonant, slightly discordant","1":"Majestic orchestral brass fanfare for cinematic impact","2":"Service bell, higher pitch, metallic","3":"Classic ringing bell for traditional school alarms","4":"Soft digital chime for clear app notifications"},"bird":{"0":"Quiet bird chirping softly in the background","1":"Crow cawing mixed with rapid chirping","2":"Bird sounds: varied species, rich forest sounds","3":"Australian magpie sounds: unique call","4":"Troping whistling birdsongs in the morning"},"button":{"0":"Simple button click","1":"Click with short reverb","2":"Low clicking sound","3":"Quick pop click","4":"Short zap sound"},"cheer":{"0":"Stadium crowd chanting loudly and cheering","1":"Energetic soccer fans shouting and celebrating","2":"Loud arena cheer with rhythmic clapping","3":"Football crowd cheering victory intensely","4":"Energetic cheering, chanting, and stomping"},"default":{"0":"Powerful helicopter takeoff: rapidly building rotor blades whirring and chopping, increasing engine whine, ground vibrations","1":"Footsteps walking on gravel path, crunching sounds","2":"Fast typing on a modern mechanical keyboard, sharp attacks and satisfying tactile feedback","3":"Crackling campfire with wood popping, gentle wind rustling through trees nearby","4":"Heavy rain falling on a metal roof"},"door-close":{"0":"Mechanical garage door close, heavy duty","1":"Light door close: Gentle thud","2":"Creaky door close in the outdoors","3":"Rapid singular door slam","4":"Door closing with mechanical sounds"},"door-open":{"0":"Door opening with mechanical sounds","1":"Drawer slide open, light wood sound","2":"Door with hinges needing oil opens slowly","3":"Squeaky cold metal door opening","4":"Car door opening, smooth and quick"},"engine-rev":{"0":"Boat engine idling loudly","1":"Powerful boat engine revving, sputtering start","2":"Aggressive car engine revving","3":"Light engine revving and starting quickly","4":"Engine revving: low rumble, consistent speed"},"engine-start":{"0":"Diesel engine starting, heavy","1":"Car starting with key turn and engine roar","2":"Engine starts, close-up sound","3":"Diesel engine starts slowly","4":"Engine sputter start, distant"},"explosion":{"0":"Loud, booming explosion, close range","1":"Deep, rumbling explosion, constant","2":"Loud explosion with sounds of glass shattering","3":"Distant explosion echo effect","4":"Underwater explosion with bubbling sounds"},"fire-crackling":{"0":"Loud fire crackle, sounds of debris burning","1":"Intense, loud fire crackle, energetic and robust","2":"Subtle wood fire, calming and soft crackles","3":"Strong crackling fire sounds, with occasional pops","4":"Fire crackling sounds, steady and warm ambiance"},"footsteps-running":{"0":"Footsteps on crinkling leaves, running","1":"Footsteps on floor, light running","2":"Heavy footsteps on wood floor, fast pace","3":"Footsteps on snow, hurried pace","4":"Slow footsteps on grass, heavy trudge"},"footsteps-walking":{"0":"Crunchy snow footsteps, Winter walk","1":"Dry ground footsteps, Rural walk","2":"Creaky floorboards, House footsteps","3":"Wooden stairs footsteps, Ascending steps","4":"Indoor carpet footsteps, Quiet walk"},"gunshot":{"0":"Sharp, close-range gunshot report","1":"Distant gunshot with reverberation","2":"Close gunshot with heavy impact","3":"Gunshot with a far echo","4":"High-pitched, resonating gunshot sound"},"helicopter":{"0":"Helicopter flying overhead","1":"Helicopter blades spinning with engine rumbling noises","2":"Fast helicopter blades rotating","3":"Helicopter startup sequence","4":"Helicopter roaring overhead"},"horn":{"0":"Loud, aggressive car honking","1":"Short car horn beep","2":"Bulb horn honking sound","3":"Distant loud horn honking surrounded by nature sounds","4":"Consistent car honking"},"laser":{"0":"Laser gun bursts, short and powerful impacts","1":"Laser blast, long and repeated","2":"Pew laser effect, quick zap sound","3":"Deep sci-fi laser, punchy","4":"Futuristic power-up laser charge"},"laughter":{"0":"Loud and intense crowd laughter, with 1 dominant laugh","1":"Low, chuckling laughter","2":"Humorous, comedic laughter","3":"Loud, amused group laughter","4":"Laughter among conversation, light and casual"},"magic":{"0":"Magical whoosh, high-tech sound design","1":"Magical activation, sparkling and bright","2":"Powerful magic spell casting","3":"Magical explosion, destructive and epic","4":"Mystical magic shield activation"},"meow":{"0":"Loud, extended cat meow","1":"Soft, repeated purring","2":"Intense, short meow","3":"Repeated meows, cries for help","4":"Annoyed cat meow"},"notification":{"0":"Simple notification ping sound","1":"Bubbly, playful notification tone","2":"Elegant high-pitched bell strike for premium alerts","3":"Crisp metallic chime for modern app notifications","4":"Mysterious, echoing notification chime"},"punch":{"0":"Several quick and swift punches","1":"Sharp punch, fast and direct","2":"Heavy punch, weighty and impactful","3":"Heavy punch, object breaking","4":"Loud and distant repeated punches, resonating impact"},"rain":{"0":"Heavy rain pelting dense foliage with thunder","1":"Steady rainfall hitting forest canopy; soft and relaxing","2":"Gentle rain trickling with birds chirping","3":"Consistent rain on a metallic roof","4":"Tropical heavy rainfall; immediate"},"reload":{"0":"Quiet gun reload; precise","1":"Rifle pump action reload; mechanical","2":"Fast gun reload, clicking sounds","3":"Fast mechanical rifle reload","4":"Shotgun pump reload, and shooting"},"river":{"0":"Loud river flowing during heavy rain","1":"Small stream trickling over rocks","2":"Disrupted river flow with splashing water","3":"Fast-moving river with strong currents","4":"Water pouring over large waterfall"},"robot":{"0":"Futuristic robot operation sounds","1":"Robot walking, periodic mechanical movements","2":"Periodic robotic whirring, varying in pitch","3":"Mechanical robot servo running, continuous whirring","4":"Sudden and startling loud robot whirring noise"},"rocket":{"0":"Powerful rocket blaster sounds, constant thrust","1":"Deep rocket engine rumble, steady","2":"Rocket power-up: low rumbling ignition","3":"Rocket motor sound, intense and high-pitched","4":"Rocket launch sequence with beeping and engines powering up"},"splash":{"0":"Fluid, watery splash with resonating echoes","1":"Aggressive splash: Impact with a hard surface","2":"Several continuous splashes, artifically induced","3":"Large, resonating loud splash","4":"Periodic small splashes, with pauses"},"success":{"0":"Retro success alert sound","1":"Bright, modern synth success chime","2":"Vibrant, playful success sound","3":"Voice saying \"yes\" in a cheerful tone","4":"Subtle, soothing success beeps"},"sword":{"0":"Violent sword slashing into meat","1":"metal sword clashing sounds, sharp and quick","2":"Quiet sword slices. Ethereal","3":"Sword clashing on metallic armor","4":"Quick sword slice through the air"},"thunder":{"0":"Distant rumble of thunder","1":"Constant rumbling of thunder and light rain","2":"Intense rain, loud thunder in the background","3":"Sharp thunderclaps with rumbling echoes","4":"Heavy rainfall with thunderstorm sounds"},"tick":{"0":"Regular clock tick-tock","1":"Deep and loud ticking sounds","2":"Loud ticking of a clock","3":"Quiet tick-tock of a watch","4":"Rapid ticking of an alarm"},"typing":{"0":"Quiet typing on soft keyboard","1":"Laptop typing, responsive keys","2":"Classic typing, mechanical keyboard sound","3":"Typewriter typing, vintage feel","4":"Desktop clicking, crisp distinct keypresses"},"waves":{"0":"Waves loudly lapping against the shore, distant boat horns","1":"Loud, constantly growing wave","2":"Soft waves on the riverbank","3":"Small waves hitting the shore","4":"Waves crashing sounds, close-up mic, rumbling sounds"},"wind":{"0":"Ocean wind, medium intensity, coastal ambiance","1":"Strong breeze, quiet countryside wind sound effect","2":"Strong storm winds, howling noises","3":"Artifical wind from a large fan","4":"Strong constant gale wind sound"},"zap":{"0":"Short, high-pitched electric zap","1":"Fuzzy, low buzzing electric zap","2":"Sharp, crackling, electric arc","3":"Long, zapping electric spark","4":"Loud electric buzz"}},"duration":"Duration","duration_seconds":"{duration}s","effects":{"airplane":"Airplane","alarm":"Alarm","alert":"Alert","applause":"Applause","bark":"Bark","bell":"Bell","bird":"Bird","button":"Button","cheer":"Cheer","door-close":"Door Close","door-open":"Door Open","engine-rev":"Engine Rev","engine-start":"Engine Start","explosion":"Explosion","fire-crackling":"Fire Crackling","footsteps-running":"Footsteps Running","footsteps-walking":"Footsteps Walking","gunshot":"Gunshot","helicopter":"Helicopter","horn":"Horn","laser":"Laser","laughter":"Laughter","magic":"Magic","meow":"Meow","notification":"Notification","punch":"Punch","rain":"Rain","reload":"Reload","river":"River","robot":"Robot","rocket":"Rocket","splash":"Splash","success":"Success","sword":"Sword","thunder":"Thunder","tick":"Tick","typing":"Typing","waves":"Waves","wind":"Wind","zap":"Zap"},"features":{"controlable":{"description":"Fine-tune generation parameters like duration, guidance, and steps for precise results","title":"Controllable Output"},"diverse":{"description":"Generate any sound imaginable - from nature sounds to sci-fi effects and everything in between","title":"Diverse Sound Library"},"downloadable":{"description":"Download your generated sound effects in high-quality formats ready for production use","title":"Easy Download"},"fast":{"description":"Generate professional sound effects in seconds with our optimized AI infrastructure","title":"Fast Generation"},"subtitle":"Create any sound you can imagine with AI","textToSound":{"description":"Simply describe the sound you want in natural language and our AI will generate it for you","title":"Text-to-Sound"},"title":"Sound Effects Features","versatile":{"description":"Perfect for games, videos, podcasts, music production, and any creative project","title":"Versatile Applications"}},"generate":"Generate","generating":"Generating","guidance":"Guidance","guidance_tooltip":"Higher guidance levels yield more diverse and unexpected sound effects.","history_results":"Generation History","introduction":{"description":"Transform your creative vision into reality with AI-generated sound effects. Simply describe what you want to hear, and our advanced AI will create unique, high-quality sounds tailored to your needs. Perfect for game developers, filmmakers, podcasters, and content creators.","features":{"aiGenerated":"AI Generated","customizable":"Customizable","highQuality":"High Quality","instant":"Instant"},"title":"Create Any Sound with AI","tryFree":"Try It Free"},"library":{"subtitle":"Browse our vast collection of sound effects by category","title":"Sound Effects Library"},"loginToCreateSoundEffect":"Please log in to generate sound effects.","loginToDownloadSoundEffect":"Please log in or sign up to download sound effects.","loginToPlaySoundEffect":"Please log in or sign up to play sound effects.","loginToViewHistory":"Please log in to view your generation history.","loginToViewSoundEffectHistory":"Please log in to view your generation history.","no_history":"No generated sound effects yet. Create your first one below!","load_more":"Load more","no_results":"No sound effects found. Try adjusting your search query","results_truncated":"Showing only the first {count} results.","output":"Generated Sound Effect","parameters":"Generation Parameters","prompt":"Prompt","prompt_placeholder":"Describe the sound effect you want to generate...","refinement":"Refinement","refinement_tooltip":"Higher refinement levels produce clearer sound effects but take longer to generate.","reset":"Reset","retry":"Retry","search":"Search for sound effects","search_results":"Search Results","state_failed":"Generation failed","state_pending":"Generating...","steps":"Steps","steps_tooltip":"Higher step counts produce clearer sound effects but take longer to generate.","subtitle":"Generate unique sound effects with AI-powered audio synthesis","tab_history":"History","tab_search":"Explore","title":"Sound Effects","titleVerb":"Generate Sound Effects","topBar":{"subtitle":"A collection of realistic {effect} sound effects","subtitleDefault":"Generate realistic sound effects from text descriptions with advanced AI technology","title":"{effect} Sound Effect","titleDefault":"Sound Effects Generator"},"usecases":{"gaming":{"button":"Create Game Sounds","description":"Generate unique sound effects for your games - from footsteps and ambient sounds to explosions and magical spells. Create immersive audio experiences without expensive sound libraries.","title":"Game Development"},"podcast":{"button":"Enhance Podcasts","description":"Add professional sound effects to your podcasts and audio content. Create intros, transitions, and ambient backgrounds that make your content stand out.","title":"Podcast & Audio Content"},"subtitle":"Discover how AI sound effects can enhance your creative projects","title":"Sound Effects Use Cases","video":{"button":"Start Creating","description":"Enhance your videos with custom sound effects. Perfect for YouTube content, films, advertisements, and social media videos. Get the exact sound you need without searching through libraries.","title":"Video Production"}},"state_legacy_unavailable":"Legacy result unavailable","custom_range":"Custom, {min}-{max}","duration_presets":{"short":{"label":"Short"},"long":{"label":"Long"}},"step_presets":{"draft":{"label":"Draft","description":"Fast preview"},"balanced":{"label":"Balanced","description":"Good quality and speed"},"high_quality":{"label":"High Quality","description":"Clearer sound details"}},"guidance_presets":{"precise":{"label":"Precise","description":"Follows the prompt closely"},"balanced":{"label":"Balanced","description":"Natural variation"},"creative":{"label":"Creative","description":"More unexpected results"}}},"music-generation":{"add_to_bank":"Add to bank","advanced_settings":"Advanced Settings","authenticationRequired":"Authentication Required","batch_size":"Batch","batch_size_tooltip":"Number of songs to generate in parallel.","bpm":"BPM","bpm_auto":"Auto","bpm_tooltip":"Beats per minute (30–300). Leave on auto for the model to decide.","cancel":"Cancel","credit_info":"Each music generation costs credits based on duration.","delete":"Delete","delete_confirm_description":"This action cannot be undone. This will permanently delete the generated music.","delete_confirm_title":"Are you sure you want to delete this track?","delete_error":"Failed to delete track","delete_success":"Track deleted successfully","duration":"Duration","duration_auto":"Auto","duration_seconds":"{duration}s","guidance_scale":"Guidance","guidance_scale_tooltip":"CFG strength. Higher values follow the prompt more strictly. Only used by base/SFT models.","history_results":"Generation History","inference_steps":"Steps","inference_steps_tooltip":"Number of diffusion steps. More steps = higher quality but slower. Turbo: 4–8, Base: 32–100.","key_scale":"Key","key_scale_auto":"Auto","key_scale_tooltip":"Musical key and scale (e.g. C major, F# minor). Leave on auto for the model to decide.","loginToDownloadSample":"Please log in or sign up to download music samples.","loginToGenerate":"Please log in to generate music","loginToPlaySample":"Please log in or sign up to play music samples.","loginToViewHistory":"Please log in to view your music generation history","load_more":"Load more","lyrics":"Lyrics","lyrics_placeholder":"Add lyrics, or leave empty for instrumental","no_history":"No generated music yet. Create your first track!","no_results":"No music samples found. Try adjusting your search query","results_truncated":"Showing only the first {count} results.","prompt":"Describe your music","prompt_placeholder":"e.g. Upbeat electronic dance track with heavy bass and synth leads","retry":"Retry","search":"Search for music samples","search_results":"Search Results","state_failed":"Generation failed","state_pending":"Generating...","subtitle":"Create original music with AI, describe your genre, mood, and style.","tab_history":"History","tab_search":"Explore","time_signature":"Time Sig.","time_signature_auto":"Auto","time_signature_tooltip":"Time signature of the piece. Use auto for the model to decide.","title":"Music Generation","titleVerb":"Generate Music","view_lyrics":"View lyrics"},"startup":{"hero":{"about":"We believe voice is the interface to a soul. As AI becomes more interactive, the winning products will create conversations that feel real. Our Startup Program helps early-stage teams build that future with Fish Audio, without cost getting in the way.\n\nWhether you're creating an AI companion, an expressive character, or a new kind of agent, you get 3 months and 12 million characters per month of free access to Fish Audio's real-time, emotionally rich speech engine — enough to prototype, stress-test, and launch with confidence.","apply":"Apply","cta":"Apply Now","subtitle":"Power your products with the most expressive real-time voice AI with {brand} Startup Program."}},"stt":{"demo":{"formatTitle":"Try {format} to Text Now","title":"Try Speech to Text Now"},"features":{"accurate":{"description":"Tuned for interviews, meetings and podcasts","title":"Built for Real Speech"},"formatting":{"description":"Plus automatic tags, in the web app","title":"Speaker Labels & Timestamps"},"formatTitle":"{format} to Text Features","multilingual":{"description":"80+ languages with automatic detection","title":"Multilingual"},"privacy":{"description":"Your audio is processed only for transcription, never shared","title":"Privacy First"},"realtime":{"description":"Transcribe live audio streams instantly","title":"Real-time Transcription"},"smart":{"description":"Automatic punctuation and formatting","title":"Smart Punctuation"},"subtitle":"Accurate transcription for any audio, in real time","title":"AI Speech To Text Features"},"library":{"subtitle":"MP3, WAV, FLAC, M4A, MP4 and more. No conversion needed.","title":"Convert Any Audio File To Text"},"speech":"Speech","topBar":{"formatTitle":"{format} to Text","subtitle":"Transcribe any audio instantly, with speaker labels and automatic tags","title":"Speech To Text AI"},"usecases":{"formatTitle":"{format} to Text Use Cases","meetings":{"button":"Try It Free","description":"Transcribe calls as they happen. Web-app speaker detection labels who said what.","title":"Transcribe Meetings"},"subtitle":"Three ways teams use Fish Audio speech to text AI","subtitles":{"button":"Create Subtitles","description":"Timed segments export straight to SRT and VTT caption files in the web app.","title":"Generate Video Subtitles"},"title":"How To Transcribe Audio To Text","transcription":{"button":"Start Transcribing","description":"Turn interviews, lectures and recordings into word-for-word text. Export SRT, VTT or JSON in the web app.","title":"Transcribe Interviews"}}},"train-new-model":{"activity":"Latest Activity","add_audio_sample":"Add Audio Sample","audio_generating":"Please wait for all audio generation to complete before submitting","audio_sample":"Audio Samples","audio_sample_text":"Enter text for audio samples","audio_sample_title":"Enter title for audio samples","audio-file":{"connecting":"Connecting Device","drag_and_drop":"Drag and drop audio files here, or click to upload or record","record":"Record","record-start":"Start","record-info":"*You can record your voice using your own text or the suggested text below.","record-not-supported":"Your browser does not support recording. Please use a different browser.","record-error":"Failed to access microphone. Please try again.","no-microphone":"No microphone found. Please connect a microphone and try again.","permission-denied":"Microphone access denied. Please allow microphone access in your browser settings.","retry":"Retry","recording":"Recording","start":"Click to Start Recording","stop":"Stop","title":"Record or upload your audio files","upload":"Upload","loading-prompt":"Loading suggested prompt...","new-prompt":"Shuffle Text","prompt-hint":"No need to read it word for word — feel free to rephrase or add fillers. Just sound natural.","supported":"Supported: {formats}","max-file-size":"Max {size} per file","max-total-size":"Max {size} total"},"audio":{"good":"Ready to analyze","not-good":"Too short or too long","too-long":"Too long","too-short":"Too short","enough":"Enough for most voices"},"audioRequiredWarning":"Please upload or record audio before proceeding to voice details","authenticationRequired":"Authentication Required","backToAudio":"Back to audio","cancel":"Cancel","changeCover":"Change cover","confirmVoiceRights":"I confirm I have permission to create and share this voice model.","confirmVoiceRightsTooltip":"Only create voices you own, have consent from the speaker to use, or are otherwise legally allowed to share. By creating this model, you agree to our <termsLink>Terms of Service</termsLink> and <privacyLink>Privacy Policy</privacyLink>. We may remove voice models that violate these rules.","confirmVoiceRightsPublicNotice":"Public voice models may be visible to and usable by others.","continueToDetails":"Continue to details","licensed-professional-badge-tooltip":"Professional voice — licensed from a professional voice actor.","licensed-safe-badge-tooltip":"Safe to use — commercially licensed from the voice owner.","professional-badge-tooltip":"Professional voice clone — the voice owner's identity has been verified.","pvc-safe-badge-tooltip":"Safe to use — the voice owner's identity passed voice verification.","uploadToContinue":"Upload to continue","goToUpgrade":"Upgrade","currentPlanLimitTip":"Current plan limit","cover-image":"Cover Image (Optional)","coverImageTooltip":"Cover Image (optional) - A less than 1MB image for the model cover","create":"Create","describeYourVoice":"Describe your voice","description":"Description (Optional)","description-placeholder":"A description of the voice.","done":"Done","duration":"Uploaded:","duration-indicator":"Aim for ~30s","duration-info":"Minimum {min}s. Around {recommend}s is enough for most voices, longer audio can still help.","editPicture":"Edit Picture","editPictureDescription":"Crop and adjust your profile picture","enhance-audio-quality":"Isolating Voice (Premium Feature, Beta)","error_private_limit_reached":"You've reached your private voice limit. Upgrade your plan for more private voice slots.","error_private_not_allowed":"Private voices are not available on your current plan. Upgrade to enable private voices.","error_public_limit_reached":"You've reached your public voice limit. Upgrade your plan for more public voice slots.","form-error":{"confirm_voice_rights_required":"(Required)","name_max_length":"Name must be less than 50 characters","name_required":"Please enter a name","samples_text_audio":"Must generator audio for all samples","samples_max_count":"A voice can have up to {count} samples. Existing samples above this limit can still be edited or removed.","samples_absolute_max_count":"This legacy voice exceeds the {count}-sample safety limit and must be migrated before it can be saved.","samples_text_text_length":"Content must be less than 500 bytes","samples_text_title_length":"Title must be less than 50","video_has_audio":"Video must contain audio track","voices_length":"Audio duration should be between {min}s and {max}s","voices_required":"Please Upload an Audio File","voices_size":"Total file size should be less than 1 GB","voices_type":"Please upload a valid audio or video file","voices_max_files":"You can upload up to {count} audio files"},"generate_sample":"Generate Sample","generated_voices":"Generated Voices Will Appear here","generated_voices_tips":"No voices yet","generateVoice":"Generate Voice","generator_audio":"Generator Audio","generator_audio_tips":"Generating samples will consume your Playground quota","input-audio":"Input Audio","inputAudioStep":"Input Audio","instantVoiceClone":"Instant Voice Clone","instantVoiceCloneSubtitle":"Requires only 10 seconds of audio!","startAnalyze":"Start analyze","uploaded":"Uploaded","limit":"A less than 1MB image for the model cover","loading_audio":"Wait for audio generation...","languageUnknown":"Unknown","loginToCreateModel":"Please log in to create your voice model","max":"Plan limit","min":"Min","modelDetail":"Voice Detail","nextStep":"Next","noDescription":"No description","pleaseLoginToContinue":"Please log in to continue creating your voice model","premium":"Premium","preview":"Preview","previousStep":"Back","private":"Private","private_des":"This voice model is only visible to the creator and cannot be shared and will not appear in the discover section","public":"Public","public_des":"This voice model will be visible in the discover page and can be seen by everyone.","recommend":"Enough","upgradeToIncreaseLimitTip":"Upgrade for a higher limit","upgradeDurationCardSubtitle":"Record up to {max}s with an upgrade","pvc_keep_one_sample":"PVC voices must keep at least one sample","regenerate_sample":"Regenerate Sample","sample_text":"Audio Samples","sample_title":"Sample {index}","save":"Save","skip":"Skip","sourceAudio":"Source Audio","step":"Step {index}","suggested-tags":{"advertisement":"Advertisement","angry":"Angry","animated":"Animated","anime":"Anime","announcer":"Announcer","authoritative":"Authoritative","breathy":"Breathy","bright":"Bright","calm":"Calm","character":"Character","character-voice":"Character Voice","cheerful":"Cheerful","cinematic":"Cinematic","clear":"Clear","coach":"Coach","confident":"Confident","conversational":"Conversational","crisp":"Crisp","dark":"Dark","deep":"Deep","documentary":"Documentary","dramatic":"Dramatic","dynamic":"Dynamic","educational":"Educational","empathetic":"Empathetic","energetic":"Energetic","entertainment":"Entertainment","enthusiastic":"Enthusiastic","expressive":"Expressive","fast":"Fast","female":"Female","friendly":"Friendly","gaming":"Gaming","gentle":"Gentle","high":"High","host":"Host","husky":"Husky","intimate":"Intimate","low":"Low","male":"Male","measured":"Measured","medium":"Medium","middle-aged":"Middle Aged","monotone":"Monotone","mysterious":"Mysterious","narration":"Narration","narrative":"Narrative","neutral":"Neutral","neutral-tone":"Neutral Tone","old":"Old","playful":"Playful","podcast":"Podcast","professional":"Professional","radio":"Radio","raspy":"Raspy","relaxed":"Relaxed","sad":"Sad","serious":"Serious","sexy":"Sexy","slow":"Slow","smooth":"Smooth","social-media":"Social Media","soft":"Soft","storytelling":"Storytelling","teacher":"Teacher","warm":"Warm","young":"Young"},"supportedFormats":"","tag":"Tags (Optional)","tag-categories":{"age":"Age","gender":"Gender","showLess":"Show less","showMoreCount":"+{count} more","use-case":"Use Case","voice-qualities":"Voice Qualities"},"tag-placeholder":"Search and select voice tags","tagPresetOnlyNotice":"Only preset tags are supported. Please choose from the suggested tags below.","title":"Name","title-placeholder":"Enter Voice Name","training-type":{"fast":"Instant","full":"Quality","title":"Mode"},"trainNewModel":"Create Voice","trainNewModelTitle":"Build New Voice","type":"Type","unlist":"Unlisted","unlist_des":"This voice model will not appear in the discover page, but can be shared with specific users via a link.","untitledVoice":"Untitled Voice","upgrade":"Upgrade","upload-img":"Upload Image","voice-design-badge-tooltip":"Safe to use — AI-designed voice, not cloned from any real person; no voice copyright risk.","voice_detail":"Voice Detail","voiceDescriptionPlaceholder":"A warm, friendly female voice with a slight British accent, perfect for audiobook narration. The tone should be calm and soothing, with clear enunciation.","voiceDesign":"Voice Design","voiceDetails":"Voice Details","voiceInfoStep":"Voice Information","what_type_title":"What is the type?","analyzeAudio":"Analyze Audio","analyzingAudio":"Analyzing Audio","reanalyzeAudio":"Re-analyze Audio","preflightStatusAnalyzing":"Analyzing","preflightStatusPassed":"good","preflightStatusWarning":"Warning","preflightWarningAcknowledge":"I understand that issues like multiple speakers or cut-off speech may reduce TTS generation quality.","audioAnalyzeRequired":"Please analyze your reference audio before continuing to voice details","audioWarningMustAcknowledge":"Check \"I understand\" to continue","aiSuggestions":"AI Suggestions","preflightExpired":"This analysis session has expired. Please analyze the audio again.","qualitySignalGood":"Clear single-speaker speech","qualitySignalLowQuality":"Speech may be less distinct","qualitySignalNeedsReview":"Reference audio may reduce cloning quality","qualitySignalMultiSpeaker":"Multiple speakers detected","qualitySignalSoundEffect":"Sound effects or strong background audio","qualitySignalTruncated":"Speech appears cut off","preflightStatusInfo":"Info","protectedNameNotice":"\"{name}\" is a protected voice actor/actor name. Verify your authorization below, or close this dialog and pick a different name.","qualitySignalLowQualityHelp":"Try speaking a bit more distinctly or reducing background noise.","qualitySignalMultiSpeakerHelp":"Try using a clip with only one speaker so the cloned voice stays consistent.","qualitySignalTruncatedHelp":"Try a clip where words are not cut off at the beginning or end."},"tts":{"demo":{"title":"Try Text to Speech Now"},"signup":{"dialogTitle":"Sign up free to unlock advanced text to speech"},"features":{"control":{"description":"Precisely control the speed, volume, and raw model parameters","title":"Pro Controls"},"emotion":{"description":"Add emotions and expressions to your speech","title":"Emotional Control"},"multilingual":{"description":"Automatic support for 8 languages with native accents","title":"Multilingual Support"},"natural":{"description":"Ultra-realistic voices that sound like real humans","title":"Natural Voices"},"quality":{"description":"Professional-grade audio output for any use case","title":"Studio Quality"},"realtime":{"description":"Generate speech in seconds with low latency","title":"Real-time Generation"},"subtitle":"Experience the most advanced TTS technology available now","title":"Text to Speech Features"},"introduction":{"card1":{"tag1":"Educational","tag2":"Informative"},"card2":{"tag1":"Narrative","tag2":"Curious"},"card3":{"tag1":"Calm","tag2":"Peaceful"},"description":"Discover the power of cutting-edge text-to-speech technology that creates incredibly natural and expressive voices. From whispered bedtime stories to energetic presentations, our AI voices adapt to every need with remarkable authenticity.","title":"Experience Natural AI Voices","tryDifferent":"Try different voices →","tryFree":"Try It Free","viewVoices":"View All Voices"},"topBar":{"subtitle":"Text to Speech with the most natural and human sounding AI voice generator","title":"Text to Speech"},"usecases":{"audiobooks":{"button":"Start Creating","description":"Transform written content into engaging audiobooks with natural-sounding voices that keep listeners captivated for hours.","title":"Audiobooks & Narration"},"podcasts":{"button":"Get Started","description":"Create podcasts with consistent, high-quality voices. Generate intros, outros, and even full episodes with AI voices.","title":"Podcast Production"},"subtitle":"Discover how TTS transforms content across industries","title":"Use Cases for Text to Speech","videos":{"button":"Try It Now","description":"Add professional voiceovers to your videos without hiring voice actors. Perfect for YouTube, tutorials, and documentaries.","title":"Video Narration"}}},"tutorials":{"all":"All","coming_soon":"Coming soon :)","loading":"Loading...","new":"New","new_releases":"New Releases","no_results":"No tutorials found for \"{query}\"","partial_results":"Only the accessible tutorial results are shown. Additional tutorials may exist outside this pagination window.","search_placeholder":"Search tutorials...","title":"Tutorials"},"upgrade-dialog":{"billing":{"monthly":"Monthly","saveAmount":"Save $39.89","yearly":"Yearly","yearlyDiscount":"33% off"},"click_here_if_not_redirected":"Click if not redirected","current_plan":"Current Plan","description_discount":"Due to growing usage from our recent studio features and exciting new capabilities on the horizon, we're adjusting our pricing after March 23 to $14.99/month. As a special thank you to our existing users: If you subscribe to our monthly plan before the increase, your price will never change, plus you'll receive a one-time 33% discount when you choose our annual payment option.","expires_at":"Expires At","free":{"always_free":"Always Free","button":"Current Plan","description":"Try out the ultra-reaslitic AI voice","features_title":"What's included?","features":{"characters":"~3 minutes per clip","generations":"1 hour of ultra-realistic voice per month","no_api":"no API credit included","speed":"standard generation speed"},"name":"Free"},"last_chance_warning":"Take advantage of our lowest price before it changes!","later":"Maybe Later","manage_subscription":"Manage Subscription","next_reset":"Next Reset","premium":{"badge":{"monthly":"Popular","yearly":"33% OFF"},"button":"Upgrade Now","button_purchase":"Purchase","description":"For creators making premium content","features_title":"Everything in Free, plus","features":{"api":"pay-as-you-go API","audio":"auto-optimized reference audio","characters":"~30 minutes per generation","effects":"precise controls (Coming soon)","generations":"unlimited generations (in web)","license":"commercial use of your voices","models":"latest AI models","speed":"priority generation"},"name":"Premium"},"quota_left":"Quota Left","subtitle":"Unlock advanced features and unlimited generations","title":"Choose Your Perfect Plan","title_zero_balance":"Your monthly free quota has been exhausted","title_zero_balance_premium":"Your daily quota has been exhausted"},"usage":{"credits_remaining":"{remaining} credits remaining","credits_used":"Credits used","current_package":"Current Package","cycle_end":"End","cycle_period":"Billing Cycle","cycle_start":"Start","description":"Monitor your credit usage and generation history","free_plan":"Free","generation_history":"Credit Usage","package_history_tab":"Package History","legacy_premium_plan":"Legacy Premium Plan","model":"Model","model_version":"Model","next_credit_refresh":"Next Credit Refresh","premium_plan":"Premium","renews_on":"Renews on {date}","source":"Source","time":"Time","title":"Usage & Credits","type":"Type","verbatim_credits_remaining":"Credits Remaining","consumed_by":"User","voice":"Voice"},"voice-library":{"features":{"feature1":{"description":"Access the largest library of AI voices on the internet. From professional narrators to unique character voices, find the perfect match for any project.","title":"2,000,000+ Voices"},"feature2":{"description":"Voices available in 8 languages including English, Spanish, Japanese, Chinese, French, German, and more. Native-quality pronunciation in every language.","title":"Multi-Language Support"},"feature3":{"description":"Filter by emotions, speaking styles, ages, and use cases. Find voices that match your exact requirements with powerful search and filtering tools.","title":"Advanced Filtering"},"feature4":{"description":"Listen to voice samples before you use them. Preview how each voice sounds to ensure it's the perfect fit for your content.","title":"Instant Preview"},"feature5":{"description":"Browse by categories like character voices, professional narrators, audiobook voices, gaming voices, and more. Find what you need faster.","title":"Organized Categories"},"feature6":{"description":"Many voices are created and shared by our global community of creators. Discover unique voices you won't find anywhere else.","title":"Community Created"},"subtitle":"The world's most comprehensive collection of {tags} AI voices","subtitleDefault":"The world's most comprehensive collection of AI voices","title":"{tags} AI Voice Features","titleDefault":"Voice Library Features"},"introduction":{"card1":{"tag1":"Educational","tag2":"Informative"},"card2":{"tag1":"Documentary","tag2":"Curious"},"card3":{"tag1":"Calm","tag2":"Peaceful"},"card4":{"tag1":"Narration","tag2":"Reflective"},"card5":{"tag1":"Sexy","tag2":"Smooth"},"description":"Browse through our vast collection of AI voices spanning multiple languages, styles, and emotions. From character voices for gaming to professional narrators for audiobooks, discover the voice that brings your project to life.","title":"Find Your Perfect Voice","tryFree":"Start Creating","viewVoices":"Explore Library"},"library":{"categories":{"age":"Find by Age","archetype":"Find by Archetype","delivery_style":"Find by Delivery Style","emotion":"Find by Emotion","energy":"Find by Energy","gender":"Find by Gender","genre":"Find by Genre","pitch":"Find by Pitch","usecase":"Find by Use Case"},"subtitle":"Discover thousands of AI voices for every project and style by category","title":"Explore More Voices"},"showcase":{"browse_all":"Browse All","popular_voices":"Popular {tags} Voices","title":"Explore {tags} voices"},"subTopBar":{"subtitle":"Choose from thousands of {tags} AI voices in our voice library for your next project.","title":"Discover {tags} AI Voices"},"tags":{"advertisement":"Advertisement","angry":"Angry","animated":"Animated","anime":"Anime","announcer":"Announcer","authoritative":"Authoritative","breathy":"Breathy","bright":"Bright","calm":"Calm","character":"Character","character-voice":"Character Voice","cheerful":"Cheerful","cinematic":"Cinematic","clear":"Clear","coach":"Coach","confident":"Confident","conversational":"Conversational","crisp":"Crisp","dark":"Dark","deep":"Deep","documentary":"Documentary","dramatic":"Dramatic","dynamic":"Dynamic","educational":"Educational","empathetic":"Empathetic","energetic":"Energetic","entertainment":"Entertainment","enthusiastic":"Enthusiastic","expressive":"Expressive","fast":"Fast","female":"Female","friendly":"Friendly","gaming":"Gaming","gentle":"Gentle","high":"High","host":"Host","husky":"Husky","intimate":"Intimate","low":"Low","male":"Male","measured":"Measured","medium":"Medium","middle-aged":"Middle Aged","monotone":"Monotone","mysterious":"Mysterious","narration":"Narration","narrative":"Narrative","neutral":"Neutral","neutral-tone":"Neutral Tone","old":"Old","playful":"Playful","podcast":"Podcast","professional":"Professional","radio":"Radio","raspy":"Raspy","relaxed":"Relaxed","sad":"Sad","serious":"Serious","sexy":"Sexy","slow":"Slow","smooth":"Smooth","social-media":"Social Media","soft":"Soft","storytelling":"Storytelling","teacher":"Teacher","warm":"Warm","young":"Young"},"topBar":{"browseButton":"Browse Voices","cta":"Get Started Free","stat1":"Voices","stat2":"Languages","stat3":"Categories","subtitle":"Discover the perfect voice from our extensive library. Character voices, professional narrators, and everything in between.","title":"Explore <highlight>2,000,000+ AI Voices</highlight> for Every Project"},"usecases":{"content":{"button":"Browse Voices","description":"Find the perfect narrator or host voice for your YouTube videos, podcasts, and social media content. Browse thousands of professional-quality voices with different tones, styles, and emotions to match your brand.","title":"Video & Podcast Production"},"gaming":{"button":"Explore Character Voices","description":"Populate your game worlds with diverse character voices. From heroic protagonists to menacing villains, discover expressive voices that bring your characters to life across every genre.","title":"Gaming & Interactive Media"},"localization":{"button":"Find Multilingual Voices","description":"Reach audiences worldwide with voices in 8+ languages. Find native-quality voices for dubbing, translation, and localized content creation without the overhead of traditional voice casting.","title":"Global Localization"},"subtitle":"Discover how creators use our {tags} AI voices to power their projects","subtitleDefault":"Discover how creators use our AI voice library to power their projects","title":"{tags} AI Voice Use Cases","titleDefault":"Voice Library Use Cases"}},"voice-slots":{"benefit_more_credits":"More generation credits and priority support","benefit_private_voices":"Up to 10 private voices (Plus) or unlimited (Pro)","benefit_unlimited_public":"Unlimited public voice slots","cancel":"Cancel","current_usage":"Your Current Voice Slots","private_label":"Private voices","private_voices":"Private / Unlisted Voices","public_label":"Public voices","public_voices":"Public Voices","slots_used":"slots used","tooltip_free":"Free user can create up to 3 public voices. Upgrade for more voice slots.","tooltip_plus":"You have unlimited public voices and up to 10 private/unlisted voices.","tooltip_plus_used":"Private/unlisted slots used. You have unlimited public voices and up to 10 private/unlisted voices.","tooltip_pro":"You have unlimited public/private/unlisted voices.","unlimited":"Unlimited","upgrade_audio_duration_desc":"Free users can upload up to 90 seconds of audio. Upgrade your plan to upload up to 210 seconds for better voice cloning quality.","upgrade_audio_duration_title":"Audio Duration Limit Reached","upgrade_benefits_title":"What you get with an upgrade:","upgrade_desc":"Upgrade your plan to unlock more voice slots and additional features.","upgrade_private_limit_desc":"You've used all 10 of your private voice slots. Upgrade to Pro for unlimited private voices.","upgrade_private_limit_title":"Private Voice Limit Reached","upgrade_private_locked_desc":"Private and unlisted voices are only available on Plus and Pro plans. Upgrade to create voices that only you can access.","upgrade_private_locked_title":"Private Voices Locked","upgrade_public_limit_desc":"You've used all 3 of your free voice slots. Upgrade for more voice slots.","upgrade_public_limit_title":"Voice Slot Limit Reached","upgrade_title":"Unlock More Voice Slots","view_plans":"View Plans"},"voiceChanger":{"topBar":{"title":"AI Voice Changer — Swap Any Voice in Seconds","subtitle":"Upload a clip, pick a target voice, get a new file in seconds. Your timing, emotion and pacing stay intact."},"features":{"title":"AI Voice Changer Features","subtitle":"Neural voice conversion for creators, gamers, and studios","realtime":{"title":"Fast Conversion","description":"Upload a clip and get the converted file in seconds"},"quality":{"title":"Studio-Quality Output","description":"Preserve emotion, timing, and expression in the transformed audio"},"fast":{"title":"Lightning Fast","description":"Most clips process in under 30 seconds end-to-end"},"multilingual":{"title":"Language Flexible","description":"Works across 13 languages"},"secure":{"title":"Secure by Default","description":"Your audio stays private and is never shared"},"library":{"title":"Rich Voice Library","description":"Pick from curated characters or bring your own reference"}},"useCases":{"title":"Voice Changer Applications","subtitle":"See how creators turn voice changing into production-ready audio","gaming":{"title":"Gaming & Streaming","description":"Give recorded gameplay and stream VODs any character voice, no voice actors needed.","button":"Try Voice Changer"},"content":{"title":"Content Creation","description":"Narrate shorts, podcasts, and tutorials in a custom voice without recording in a studio. Scale your output without changing your workflow.","button":"Start Creating"},"dubbing":{"title":"Dubbing & Localization","description":"Re-voice existing audio into a different character or language-friendly delivery. Keep the original performance, swap the voice.","button":"Try Dubbing"},"privacy":{"title":"Privacy & Anonymization","description":"Share your story without exposing your identity. Perfect for interviews, whistleblower reporting, and anonymous podcasts.","button":"Protect My Voice"},"podcast":{"title":"Podcast Post-Production","description":"Fix takes, replace a co-host, or add character voices in post without scheduling another session.","button":"Polish My Podcast"},"character":{"title":"Character Performance","description":"Give every character in your story a unique voice. Ideal for audio drama, tabletop campaigns, and animation.","button":"Voice My Characters"}},"panel":{"upload_source":"Upload source audio","select_voice":"Target voice","submit":"Transform Voice","submitting":"Transforming...","upload_custom_cta":"Upload your own reference","result_title":"Your transformed audio","pause":"Pause","resume":"Play","try_again":"Try with your own voice","login_required":"Log in to continue","duration_exceeded":"Source audio must be 30 seconds or shorter","generic_error":"Something went wrong. Please try again.","recaptcha_failed":"Verification failed. Please refresh and try again.","more_languages_note":"Log in to access more voices in Chinese, Japanese and other languages."}},"voiceClone":{"demo":{"title":"Try 10-Second Voice Cloning"},"topBar":{"eyebrow":"Voice Cloning · Fish Audio S2","title":"Clone any voice in 15 seconds.","subtitle":"Drop a 10-second clip in, get a voice ready in seconds. Have a sitting president narrate your dating app, run a tech-billionaire launch for your worst idea, or build a fake-panel podcast — no booth, no impressionist on retainer.","trust1":"10s sample is enough","trust2":"Sub-300ms streaming","trust3":"Open-source S2 model","trust4":"Free tier, no card"},"features":{"title":"Built for speed, shipped without the wait","subtitle":"Ten seconds of audio. A usable voice in seconds. No long studio sessions, no training queues, no premium tier gate.","instant":{"title":"10-second clone","description":"One short clip is enough. No 30-minute studio session, no premium tier required."},"quality":{"title":"Studio-grade fidelity","description":"Captures timbre, cadence, and micro-prosody on the first pass — even from noisy field recordings."},"fast":{"title":"Ready in seconds","description":"Instant turnaround. No multi-hour training queue between you and a usable voice."},"crosslingual":{"title":"Zero-shot in 13 languages","description":"Clone once, speak everywhere. No separate multilingual model, no extra training, no re-recording."},"emotion":{"title":"Emotion that survives the clone","description":"Anger, irony, hesitation — the small things that make a voice recognisable carry through every sentence."},"apiReady":{"title":"Open-source S2, API-ready","description":"Self-host the model, hit our sub-300ms streaming endpoint, or ship voices into your agents and apps."}},"usecases":{"title":"What creators actually use it for","subtitle":"Sketches, takes, and crossovers built for feeds — not boardrooms.","sketches":{"title":"Sketch & impression reels","description":"Drop a populist rant onto your dating-app meltdown, voice-act a tech-billionaire product launch for your worst startup idea, or run a weekly impression bit. No booth, no impressionist on retainer — record the joke, ship the clip.","button":"Make a comedy clip"},"commentary":{"title":"24/7 takes channels","description":"Spin up a hot-take channel that reacts to today's news before bedtime, stack a fake-panel podcast where every cohost is someone you'd never get on Zoom, or feed a daily news bit into an AI host that never burns out.","button":"Spin up a channel"},"crossover":{"title":"Memes that travel","description":"Take an English impression and ship the same delivery in Spanish, Japanese, or Arabic the same afternoon. One joke, every region — your algorithm doesn't care which timezone you're farming.","button":"Try multilingual cloning"}},"highlights":{"title":"Why Fish Audio S2","subtitle":"Fast cloning, open deployment, global voices, and streaming built for production.","items":{"reference":{"label":"Reference audio","value":"10 seconds is enough"},"speed":{"label":"Time to clone-ready","value":"Seconds, not hours"},"crosslingual":{"label":"Cross-lingual","value":"Zero-shot in 13 languages"},"latency":{"label":"Streaming latency","value":"Sub-300ms end-to-end"},"openSource":{"label":"Model openness","value":"S2 open-source, self-hostable"},"freeTier":{"label":"Free tier","value":"Start free, no card required"}}}},"waitlist":{"join_waitlist":"Join the waitlist","promotion_bar":{"title":"Join the waitlist for this feature immediately"},"related_keywords":{"title":"Know more about other features"},"submit_error":"Submit failed","submit_loading":"Submitting...","submit_success":"Thank you for your subscription!","tools_header":{"title":"200,000+ users have already joined us"}},"with-draw":{"amount":"Withdrawal amount","amount_placeholder":"Please enter the withdrawal amount","balance":"Balance","balance_title":"balance","completed":"Complete","created_at":"Application Date and Time","failed":"The withdrawal request failed","handle_withdrawal":"extract","history":"Withdrawal history","insufficient_balance":"Insufficient balance","max_amount":"The maximum withdrawal amount is {amount}","min_amount":"The minimum withdrawal amount is {amount}","pending":"In progress","placeholder_amount_history_description":"Recent withdrawal amount history","placeholder_amount_history_title":"Extract records","placeholder_amounts":"Withdraw amount","rejected":"Rejected","status":"Processing status","submit":"Request a withdrawal","success":"Withdrawal request received","title":"Withdrawal request","total_amount_history_description":"Recent earnings amount history details","total_amount_history_title":"Earnings record","total_amount_title":"Total amount obtained","view_all":"View All"},"speech-to-text-page":{"title":"Speech to Text","hero_description":"Upload long-form audio, preview the credit cost before transfer, and review speaker-attributed transcripts after the background task completes.","limit_file_size":"Max 1GB","limit_duration":"Max 10 hours","pricing_label":"3,000 credits / minute, billed per second","create_title":"Create transcription task","create_description":"Choose a file, review the estimate, then upload it directly to cloud storage for asynchronous processing.","upload":"Choose audio or video file","upload_hint":"Supports audio and video files. Upload starts only after you create the task.","num_speakers":"Number of speakers","num_speakers_placeholder":"Auto","num_speakers_invalid":"Number of speakers must be between 1 and 16.","tag_audio_events":"Tag audio events","tag_audio_events_description":"Keep bracketed tags like [music] and [applause] in the saved transcript.","estimated_duration":"Estimated duration","estimated_minutes":"Billable minutes","estimated_credits":"Estimated credits","estimating":"Estimating...","duration_unavailable":"Unavailable","duration_parse_failed":"Couldn't read duration from this file.","file_too_large":"File must be 1GB or smaller.","duration_too_long":"Audio must be 10 hours or shorter.","create_task":"Create task","creating_task":"Creating task...","signing_upload":"Preparing upload...","uploading":"Uploading...","tasks_title":"Recent tasks","tasks_description":"Track STT jobs across pending, processing, completed, and failed states.","tasks_updated":"Tasks updated","no_history":"No STT tasks yet.","open_viewer":"Open viewer","untitled_audio":"Untitled audio","credits_short":"{count} credits","speakers_count":"{count} speakers","auto_speakers":"Auto speakers","status_pending":"Pending","status_processing":"Processing","status_finished":"Completed","status_failed":"Failed","loginRequired":"Login Required","loginToTranscribe":"Please log in to create an STT task.","viewer_not_found":"STT task not found.","back_to_list":"Back to list","viewer_updated":"Updated just now","audio_pending":"Audio file is still being prepared.","viewer_failed":"This transcription task failed.","viewer_processing":"Transcription is still running. The viewer will refresh automatically.","viewer_waiting":"Waiting for the worker to start.","controller_title":"Controller","updated_label":"Updated","duration_label":"Duration","speakers_label":"Speakers","segments_label":"Segments","voice_separation_label":"Voice separation","tag_audio_events_label":"Tag audio events","credits_label":"Credits","on":"On","off":"Off","auto":"Auto","transcript_title":"Speaker-attributed transcript","transcript_empty":"No transcript yet.","overlap_label":"Overlap","export_button":"Export","export_modal_title":"Export transcript","export_modal_description":"Choose a format and adjust subtitle export settings before downloading.","export_format_title":"Format","export_format_description":"Pick the output format for this export.","export_format_json":"JSON (raw)","export_format_json_description":"Download the canonical STT manifest without subtitle transformations.","export_format_srt":"SRT","export_format_srt_description":"Classic subtitle cues for most editors and players.","export_format_vtt":"VTT","export_format_vtt_description":"WebVTT subtitles with optional inline word timing.","export_general_options_title":"General options","export_general_options_description":"These settings apply to SRT and VTT subtitle exports.","export_include_tags":"Include tags","export_include_tags_description":"Keep bracketed audio events like [music] and [applause].","export_include_speaker":"Include speaker","export_include_speaker_description":"Prefix each cue with the detected speaker label when available.","export_punctuation":"Punctuation","export_punctuation_description":"Keep punctuation in exported subtitle text. Turn this off for a cleaner token stream.","export_split_mode_title":"Split mode","export_split_mode_description":"Choose whether to keep the current segments or regroup cues from word timings.","export_split_mode_segment":"Segment","export_split_mode_segment_description":"Keep the existing STT segment boundaries as subtitle cues.","export_split_mode_max_words":"Max words","export_split_mode_max_words_description":"Regroup cues from word timings using punctuation, speaker changes, and a word cap.","export_max_words_label":"Max words per cue","export_max_words_hint":"Current cap: {count} words per cue.","export_json_raw_hint":"Raw JSON export ignores subtitle-only options and downloads the saved manifest directly.","export_vtt_options_title":"VTT options","export_vtt_options_description":"These settings only apply to WebVTT exports.","export_word_level_timestamps":"Word-level timestamps","export_word_level_timestamps_description":"Emit inline WebVTT timestamps for each word when timings are available.","cancel":"Cancel","export_action":"Export","import_to_studio_button":"Import to Studio","import_modal_title":"Import to Studio","import_modal_description":"Turn the transcribed content into an editable Studio script.","import_mode_new":"Create new project","import_mode_new_description":"Create a brand-new Studio project from this transcript.","import_mode_existing":"Add to existing project","import_mode_existing_description":"Append the transcript to a project you already have.","import_project_name_label":"Project name","import_project_name_placeholder":"Enter a project name","import_select_project_label":"Select a project","import_no_projects":"No projects yet","import_loading_projects":"Loading projects…","import_empty_segments":"There is no content to import.","import_action":"Import","import_success":"Imported to Studio successfully.","import_failed":"Import failed. Please try again."},"voice-changer":{"title":"Voice Changer","hero_description":"Transform your voice into any character with AI voice conversion","tab_convert":"Convert","tab_history":"History","upload_title":"Upload Source Audio","upload_description":"Upload the audio you want to convert","upload_constraints":"WAV, MP3, FLAC, OGG, M4A, OPUS · MAX 100MB","upload":"Choose File","uploaded":"Uploaded","record_audio":"Record","stop_recording":"Stop Recording","record_connecting":"Connecting...","record_not_supported":"Recording is not supported in this browser. Please upload an audio file.","record_permission_error":"Unable to access the microphone. Check your browser permissions.","ref_voice_title":"Reference Voice","ref_mode_model":"Select Model","ref_mode_model_recommended":"Select Model (Recommended)","ref_mode_upload":"Upload Reference","search_model":"Search models...","search_no_results":"No models found","searching":"Searching...","selected_model":"Selected: {name}","clear_selection":"Clear","ref_upload_title":"Upload Reference Audio","ref_upload_description":"Upload a reference audio for the target voice","advanced_settings":"Advanced Settings","noise_scale_label":"Noise Scale","convert":"Start Conversion","converting":"Converting...","processing_notice":"Your audio is being converted. This may take a moment...","conversion_complete":"Conversion complete","conversion_complete_description":"Your converted audio is ready to play or download.","state_pending":"Queued","state_processing":"Processing","state_finished":"Completed","state_failed":"Failed","state_legacy_unavailable":"Result no longer available","no_history":"No voice changer tasks yet.","history_results":"History","open_history_item":"Open","ref_model_label":"Model: {name}","delete":"Delete","delete_success":"Task deleted","delete_error":"Failed to delete task","delete_confirm_title":"Delete Task","delete_confirm_description":"Are you sure you want to delete this task? This action cannot be undone.","cancel":"Cancel","loginRequired":"Login Required","loginToConvert":"Please log in to use voice conversion","loginToViewHistory":"Please log in to view history","pricing_label":"3,000 credits / minute, billed per second","estimated_duration":"Estimated duration","estimated_credits":"Estimated credits","estimating":"Estimating...","duration_unavailable":"Unavailable","duration_parse_failed":"Couldn't read duration from this file.","form-error":{"audio_required":"Please upload an audio file","file_type":"Source audio must be a WAV, MP3, FLAC, OGG, M4A, or OPUS file","audio_size":"Source audio must be 100MB or smaller","ref_file_type":"Reference audio must be a WAV, MP3, FLAC, OGG, M4A, or OPUS file","ref_audio_size":"Reference audio must be 100MB or smaller","ref_model_required":"Please select a reference voice model","ref_audio_required":"Please upload a reference audio file","ref_required":"Please select a reference voice or upload reference audio"}},"pvc":{"title":"Professional Voice Clone","upload-title":"Upload your audio files","upload-formats":"Supported format: MP3, WAV, FLAC","upload-hint-1":"Each audio clip should be less than 1 minute.","upload-hint-2":"We recommend uploading 12-15 clips, each between 45-60 seconds, with a consistent tone.","upload-btn":"Upload","uploaded":"Uploaded","re-analyze":"Re-analyze Audio","reopen-confirm-title":"Re-edit audio files?","reopen-confirm-desc":"Editing your audio will clear the current analysis results. All clips will be reset and need to be analyzed again before you can continue.","reopen-confirm-cancel":"Cancel","reopen-confirm-ok":"Confirm","good":"good","merging":"Merging","failed":"Failed","rejected":"Rejected","rejected-default-reason":"No usable speech detected. Please go back and re-record a clearer audio with minimal background noise.","warning":"Warning","warning-default-reason":"Multiple speakers detected. Try to use segments with only one speaker, as this will result in a more stable cloned voice.","continue":"Continue","analyzing":"Analyzing","back":"Back","start-analyze":"Start analyze","verify-title":"Verify Voice Ownership","verify-desc":"Read the text below to prove you own this voice. The system will automatically compare the voiceprint with the training material.","verify-content":"\"Forest fires, although destructive, can clear old vegetation and provide growing space for new plants, a natural renewal process in forest ecosystems.\"","verify-record":"Record","verify-stop":"Stop","verify-verifying":"Verifying","verify-error":"We couldn't verify your identity.","verify-tab-myself":"Myself","verify-tab-proxy":"Proxy","verify-proxy-desc":"If the voice owner cannot complete verification, please provide legal proof to request a human review.","verify-proxy-upload-title":"Upload Authorization / Heir Proof","verify-proxy-upload-hint":"Supported: PDF, JPG, PNG (Max 10MB per file)","verify-proxy-declaration":"I declare under penalty of perjury that the information provided in this form is accurate, and that I am the rightful owner or authorized representative of the voice identity in question. I understand that submitting false claims may lead to legal consequences.","verify-proxy-submit":"Submit","verify-proxy-unsupported":"Unsupported file type. Please upload a PDF, JPG, or PNG.","verify-proxy-rejected":"Your document didn't pass review. Please upload a different file or verify by voice.","verify-proxy-processing-error":"We couldn't process your document. Please try again later.","upload-file-too-large":"File is too large. Please upload a smaller file.","file-deleted":"Audio file deleted.","verify-failed-title":"Verification Failed","verify-failed-desc":"We were unable to verify your identity at this time. The model is locked and cannot be deleted. Please contact customer service for assistance.","verify-failed-ok":"Okay","training-title":"Model","training-banner-title":"Preparing training materials...","training-banner-desc":"Training typically takes 10 to 30 minutes. We'll notify you via email as soon as your training is complete.","training-model-id":"Model ID","training-language":"Language","training-time":"Training time","training-state":"State","training-state-value":"training","trained-banner-title":"Training complete","trained-banner-desc":"Your Professional Voice model is trained and ready for sample review.","trained-state-value":"trained","preview-title":"Preview","preview-sample-1-text":"\"Welcome to today's broadcast - I'm your host.\"","preview-sample-1-label":"welcoming","preview-sample-2-text":"\"This is incredible - I can't wait to share it with everyone!\"","preview-sample-2-label":"excited","preview-sample-3-text":"\"In the quiet golden hour, the city lit one window at a time.\"","preview-sample-3-label":"narrative","preview-custom":"Custom preview text","preview-text-label":"Preview text","preview-text-hint":"Leave this blank to let the system write a short in-context sample.","generate-preview":"Generate Preview","release-voice-details":"Voice Details","release-voice-name":"Voice Name","release-voice-name-placeholder":"Name your voice here","release-cover":"Cover","release-description":"Description","release-gender":"Gender","release-age":"Age","release-use-cases":"Use cases","release-voice-style":"Voice Style","release-show-more":"Show More","release-show-less":"Show Less","release-type":"Type","release-public":"Public","release-public-desc":"This voice will be visible in the discovery page and can be seen and used by everyone.","release-unlisted":"Unlisted","release-unlisted-desc":"This voice model will not appear in the discover page, but can be shared with specific users via a link.","release-private":"Private","release-private-desc":"This voice model is only visible to the creator and cannot be shared and will not appear in the discover section","release-compliance":"I confirm I have permission to create and share this voice model.","release-compliance-required":"(Required)","release-compliance-detail":"Only create voices you own, have consent from the speaker to use, or are otherwise legally allowed to share. By creating this model, you agree to our <termsLink>Terms of Service</termsLink> and <privacyLink>Privacy Policy</privacyLink>. We may remove voice models that violate these rules.","release-compliance-public-notice":"Public voice models may be visible to and usable by others.","release-back":"Back","create-voice":"Create Voice","continue-to-release":"Continue to Release","resume-error-title":"Couldn't open this draft","resume-error-description":"We couldn't load this Professional Voice Clone draft. It may have been deleted or is temporarily unavailable.","resume-error-forbidden-description":"You don't have access to this draft. It may belong to another account or team.","resume-retry":"Retry","resume-cancelled-title":"This draft was cancelled","resume-cancelled-description":"This Professional Voice Clone draft has been cancelled and can no longer be resumed. You can create a new voice instead.","resume-failed-title":"This voice failed to build","back-to-my-voices":"Back to My Voices","create-new-voice":"Create New Voice","verification-failed-banner-title":"Verification attempts exhausted","verification-failed-banner-description":"This draft has used all of its verification attempts and cannot continue. Contact support to free up this voice slot.","resumed-existing-draft":"Resumed your existing draft"},"ttsApi":{"hero":{"headline1":"Text to Speech API","headline2":"Build Voice Into Any App","subhead":"Expressive, directable speech at ~100ms latency, the same S2.1 Pro model behind HeyGen, Retell, and Plaud.","getApiKey":"Get API key","readDocs":"Read the docs"},"demo":{"seedText":"[chuckle] When you are building something new, there is this [audience laughing] mix of wonder and fear. [whisper] But that's what makes it worth building.","languageLabel":"English","voiceLabel":"S2.1 Pro · recommended"},"stats":{"item1":{"number":"<100","unit":"ms","caption":"TIME TO FIRST AUDIO"},"item2":{"number":"Unlimited","caption":"direction tags"},"item3":{"number":"80","unit":"+","caption":"LANGUAGES"},"item4":{"number":"$15","unit":"/1M UTF-8 bytes","caption":"PAY AS YOU GO"}},"logoWall":{"heading":"Running in production at"},"modelCards":{"title":"Models built for different production needs","subtitle":"One API. Switch models with a single header. Both API models bill at the same flat rate.","cards":{"s2":{"tag":"THE ORIGINAL","title":"S2 Pro","description":"Accurate on even the shortest utterances","bullet1":"Instant voice cloning","bullet2":"Full multilingual support","bullet3":"Reliable on very short prompts","bullet4":"Same flat rate as S2.1 Pro","button":"View Docs"},"s21Pro":{"tag":"RECOMMENDED","title":"S2.1 Pro","description":"The most expressive model Fish ships.","bullet1":"Time-to-first-audio ~100ms (no single H200)","bullet2":"Real-time factor 0.195","bullet3":"80+ languages, instant code-switching","bullet4":"Open-domain Emotion Tags","bullet5":"Native multi-speaker in one generation","button":"View Docs"},"onPremise":{"tag":"ENTERPRISE DEPLOYMENT","title":"On-premise","description":"Deploy in your own infrastructure.","bullet1":"VPC, on-prem, sovereign cloud, air-gapped","bullet2":"Zero data egress","bullet3":"Full model control","bullet4":"Commercial license available","button":"Contact Sales"}}},"quickstart":{"headline1":"From signup to first audio in","headline2":"minutes.","subcopy":"No sales call required. Get an API key, install the SDK, and ship.","curlCardTitle":"cURL · REST API","pythonCardTitle":"Python · Fish Audio SDK","chips":{"python":"Python SDK","typescript":"TypeScript SDK","rest":"REST","websocket":"WebSocket streaming"}},"features":{"heading1":"Everything you need","heading2":"to ship production speech","subhead":"One API for voice creation, expressive generation, and real-time delivery.","getApiKey":"Get API key","readDocs":"Read the docs","card1Title":"Inline emotion and delivery","card1Desc":"Direction written as [tag] syntax, anywhere in the text. Unlimited free-form tags, no separate emotion parameter.","card2Title":"Millions of community voices","card2Desc":"Browse and ship from the largest open voice library, or clone your own and build on top of it.","card3Title":"Multi-speaker dialogue","card3Desc":"Generate a full conversation in one pass. Available on S2.1 Pro.","card4Title":"Instant voice cloning","card4Desc":"Capture timbre and speaking style from a short reference clip. Works across all 80+ languages with no extra training.","card5Title":"Read complex text naturally","card5Desc":"Numbers, currency, dates, and units spoken correctly","card6Title":"Streaming and timestamps","card6Desc":"Stream audio with word-level timestamps."},"productTabs":{"title":"Build the Voice Experience Your Product Needs","subtitle":"Create a reusable voice, direct how it performs, and stream it into real-time products.","tabs":{"instantCloning":"Instant cloning","neuralTts":"Neural TTS","restApi":"REST API and SDKs"},"instantCloning":{"title":"Clone Any Voice Instantly<br></br>with Fish Audio","body":"The Fish Audio AI voice cloning API turns a short reference clip into a reusable voice. The clone captures timbre and speaking style and carries across all 80+ languages with no extra training."},"codeLabel":"PYTHON SDK","neuralTts":{"title":"Neural Voice Models and Inline Emotion Control","body":"The Fish Audio AI voice cloning API turns a short reference clip into a reusable voice. The clone captures timbre and speaking style and carries across all 80+ languages with no extra training.","codeLabel":"JSON"},"restApi":{"title":"Authentication, endpoints, and response formats","body":"Official SDKs cover Python and TypeScript, both typed, with streaming support and examples. REST and WebSocket endpoints handle everything else. The API shares the same shape as the major TTS providers, so most production migrations finish in under a week."}},"benchmarks":{"headingLine1":"Fish Audio TTS API","headingLine2":"Benchmarks and Specs","subtitle":"One API. Switch models with a single header. Both API models bill at the same flat rate.","benchmarksLabel":"Benchmarks","metrics":{"rtf":{"value":"0.195","caption":"REAL-TIME FACTOR"},"voiceCloning":{"value":"Short clip","caption":"VOICE CLONING"},"multiSpeaker":{"value":"Native","caption":"MULTI-SPEAKER"},"streaming":{"value":"REST + WebSocket","caption":"STREAMING"},"timestamps":{"value":"Word-level","caption":"TIMESTAMPS"},"sampleRate":{"value":"48","suffix":"kHz","caption":"SAMPLE RATE"},"concurrency":{"value":"5","suffix":"starting","caption":"CONCURRENT REQUESTS"},"audioFormats":{"value":"MP3 · WAV · Opus","caption":"AUDIO FORMATS"}}},"pricing":{"title":"Flexible pricing for your needs","segments":{"individual":"Individual","team":"Team & Enterprise","api":"API"},"caption":"Pay-as-you-go with any subscription","learnMore":"Learn More","button":"Get Started","cards":{"s21pro":{"subtitle":"Text to Speech","price":"0.015","suffix":"/ K UTF-8 bytes","feature1":"70ms ultra-low latency","feature2":"80+ languages supported","feature3":"Word-level timestamps"},"s1":{"subtitle":"Text to Speech","price":"0.015","suffix":"/ K UTF-8 bytes","feature1":"Realtime latency","feature2":"Full multilingual support","feature3":"Instant voice cloning"},"transcribe1":{"subtitle":"Automatic Speech Recognition","price":"0.006","suffix":"/ audio minute","feature1":"Industry-leading ASR accuracy","feature2":"Multilingual with optional language hints","feature3":"Long input transcription"}},"tableTitle":"Concurrent Request Limits","table":{"spendingThreshold":"Spending Threshold","concurrency":"Concurrency","starter":"Starter","elevated":"Elevated","highVolume":"High Volume","enterprise":"Enterprise","starterThreshold":"< $100 paid","starterConcurrency":"5 requests","elevatedThreshold":"≥ $100 paid","elevatedConcurrency":"15 requests","highVolumeThreshold":"≥ $1,000 paid","highVolumeConcurrency":"50 requests","enterpriseThreshold":"Custom","enterpriseConcurrency":"Custom limits"},"billedAnnually":"Billed Annually","threeMonthsOff":"3 months off","holidayOff":"anniversary 50% off","switchToAnnual":"Switch to annual billing for 3 months off!","monthSuffix":"/ month","creditsMonthly":"credits monthly","mostPopular":"Most Popular","recommended":"Recommended","startTrial":"Start 5 day free trial","upgrade":"Upgrade","contactSales":"Contact Sales","individual":{"free":{"subtitle":"For everyone","price":"0","priceNote":"No credit card needed","credits":"8,000","minutes":"Up to 7 minutes generation","feature1":"Up to 500 characters per generation","feature2":"3 public voice slots","feature3":"Standard generation speed","feature4":"Enhanced voice cloning","feature5":"Commercial use"},"plus":{"subtitle":"For creators and professionals","save":"Save ${amount}","price":"0","strike":"15","priceNote":"for 5 days, then ${amount} billed annually","priceNoteMonthly":"for 5 days, then $15 billed monthly","credits":"250,000","minutes":"Up to 200 minutes generation","feature1":"Up to 15,000 characters per generation","feature2":"Unlimited public + 10 private voice slots","feature3":"Priority generation","feature4":"Enhanced voice cloning","feature5":"Commercial use","feature6":"Try Plus plan for free for 5 days"},"pro":{"subtitle":"For power users and teams","save":"Save ${amount}","strike":"100","priceNote":"${amount} billed annually","credits":"2,000,000","minutes":"Up to 1,620 minutes generation","feature1":"8x more usage than Plus","feature2":"Up to 30,000 characters per generation","feature3":"Unlimited voice slots","feature4":"7 day money back guarantee","feature5":"And everything in Plus"}},"team":{"pro":{"subtitle":"For power users and teams","save":"Save ${amount}","strike":"100","priceNote":"${amount} billed annually","credits":"2,000,000","minutes":"Up to 1,620 minutes generation","feature1":"3 team seats","feature2":"Up to 30,000 characters per generation","feature3":"Unlimited voice slots","feature4":"7 day money back guarantee","feature5":"And everything in Plus"},"max":{"subtitle":"Higher limits for production needs.","save":"Save $3000","price":"749","strike":"999","priceNote":"$8988 billed annually","credits":"25,000,000","minutes":"Up to 6,250 minutes generation","feature1":"10 team seats","feature2":"And everything in Pro"},"enterprise":{"subtitle":"For organizations with compliance needs","price":"Custom","priceNote":"volume pricing billed annually","bandTitle":"Pay as you go","bandSubtitle":"with organization-level controls","feature1":"Zero Data Retention","feature2":"On-Premise Deployment","feature3":"SOC2 Compliance","feature4":"More Discount","feature5":"Custom SSO (Coming soon)"}}},"faq":{"heading":"Frequently asked questions","q1":"How do I use the Fish Audio TTS API in Python?","a1":"Install the SDK with pip install fish-audio-sdk, create a FishAudio client with your API key, then call client.tts.convert() and save the audio with save(). The snippet in the quickstart above writes an MP3 in a few lines.","q2":"Is there a free TTS API available?","a2":"Yes. You can use the S2.1-Pro-Free model for unlimited free access to the S2.1 Pro model. It is available for developers through August 27, 2026. For additional concurrency and stability, use the S2.1-Pro model.","q3":"What is voice cloning via API?","a3":"Voice cloning via API turns a short reference recording into a reusable voice. With Fish Audio, you upload a short clip, receive a voice ID, and call the TTS endpoint with that ID. The clone carries across all 80+ supported languages.","q4":"What is a speech synthesis API?","a4":"A speech synthesis API generates spoken audio from text using a neural model rather than stitching together pre-recorded clips. Fish Audio S2.1 Pro is a neural model that produces emotionally rich speech with inline direction control, leading both open-source and closed-source systems in blind evaluation.","q5":"Which model should I use?","a5":"Start with S2.1 Pro. It's the most expressive model, covers 80+ languages, and supports inline direction and multi-speaker dialogue. S1, the original model, stays available and works well as a fallback for very short prompts. Both bill at $15 per million UTF-8 bytes.","q6":"What latency can I expect?","a6":"S2.1 Pro reaches time-to-first-audio of around 100ms on an H200, at a real-time factor of 0.195. The latency parameter trades quality for speed, and streaming is on by default so playback can begin before the full clip finishes.","q7":"How many languages are supported?","a7":"80+ from a single model, with instant code-switching across English, Japanese, Chinese, Spanish, Arabic, and more inside one generation. Coverage is deepest across CJK and East Asian languages.","q8":"Can I control emotion and delivery?","a8":"Yes. S2.1 Pro reads free-form direction written inline as [tag] syntax, at any point in the text. You (or your LLM) can use these tags to control emotion and delivery of the audio.","q9":"Does the API support streaming?","a9":"Yes, streaming is the default. Connect over WebSocket or REST, get word-level timestamps, and cancel an in-progress generation to start a new one for real-time agents.","q10":"What audio formats are supported?","a10":"MP3, WAV, and Opus, with configurable sample rate and bitrate. Default sample rate is 44100 Hz for most formats and 48000 Hz for Opus.","q11":"How is pricing calculated?","a11":"Pay-as-you-go at $15 per million UTF-8 bytes for both S2.1 Pro and S1, billed from your first call, with no subscription and no monthly minimum. One million bytes is roughly 180,000 English words. Non-Latin scripts use more bytes per character, so the same word count costs more in those languages than in English.","q12":"What are the rate limits?","a12":"Concurrency scales with usage: 5 concurrent requests to start, 15 once you have prepaid $100, 50 at $1,000, and custom limits at the Enterprise tier.","q13":"Can I self-host?","a13":"Yes. The open-weights models, S2.1 Pro and fish-speech, deploy in your VPC, data center, sovereign cloud, or air-gapped environment under a commercial license. Self-host is an Enterprise engagement for high-volume teams that need data residency, fine-tuning, or regulated deployment.","q14":"Is the model open source?","a14":"The models ship as open weights with a paid commercial license. Weights, fine-tuning code, inference infrastructure, and the technical report are all public. Research and non-commercial use is free. Open weights is distinct from open source under the OSI definition, and Fish Audio is precise about that.","q15":"Is my data used for training?","a15":"Enterprise API data is not used to train Fish Audio models. Creator-platform content is handled separately. For voices you can't risk leaking, use a private uploaded model."},"cta":{"headline":"Get to production this weekend","subhead":"Get an API key, install the SDK, and ship. No card required.","getApiKey":"Get API key","readDocs":"Read the docs"}},"admin":{"action":"Action","action_at":"Actioned At","active":"Active","active_users":"Active Users","add":"Add","add_success":"Add Success","add_user_credit":"Edit API credit","add_user_premium":"Edit Subscription Plan","admin":"Admin","admin_user_management":"Admin User Management","all":"All","amount":"Amount","amount_credit":"Amount","api_credit_balance":"API Credit Balance","api_usage_ranking":"API Usage Ranking","apply":"Apply","approve":"Approve","approve_withdraw_description":"Are you sure you want to approve this withdraw?","approve_withdraw_title":"Approve Withdraw","approve_withdraw_success":"Withdraw approved","avatar":"Avatar","ban_reason":"Ban Reason","ban_success":"Ban Success","ban_user":"Ban User","banned":"Banned","api_pricing":"API Pricing","billing_period":"Billing Period","concurrency":"Concurrency","bio":"Bio","cancel":"Cancel","confirm_approve":"Confirm Approve","confirm_ban":"Confirm Ban","confirm_delete":"Confirm Delete","confirm_reject":"Confirm Reject","created_at":"Created At","credit_history":"API Credit History","day":"Day","delete_success":"Delete Success","delete_user":"Delete User","edit_permissions":"Edit Permissions","show_admin_permissions":"Show Admin Permissions","view_admin_permissions":"View Admin Permissions","view_admin_permissions_description":"Review the assigned admin permissions for this user.","admin_permissions_hint":"Comma-separated. Leave empty for full admin access.","permission_presets":"Quick presets","email":"Email","email_not_match":"Email Not Match","email_verified":"Email Verified","email_verified_placeholder":"Please enter user email verified","enter_reject_reason":"Enter reject reason","enter_user_id_or_email":"Enter user ID or email to search","error":"Error","id":"ID","joined_at":"Joined At","last_30_days":"Last 30 Days","last_7_days":"Last 7 Days","million_bytes":"million UTF-8 bytes","model_management":{"cancel":"Cancel","delete_model":"Delete Model","dmca_cancelled":"DMCA takedown cancelled","dmca_confirm":"Are you sure you want to DMCA take down this model? It will be hidden from public web surfaces, disabled for web usage, and the owner will be notified by email.","dmca_model":"DMCA Take Down","dmca_success":"Model has been taken down for DMCA and the owner has been notified","download_data":"Download Data","edit_model":"Edit Model","hide_cancelled":"Operation cancelled","hide_confirm":"Are you sure you want to hide this model?","hide_model":"Hide This Model","hide_success":"Model has been marked as private","manage":"Manage","regenerate_samples":"Regenerate Samples","sample_regenerator":{"title":"Regenerate Audio Samples","empty":"This model has no samples to regenerate","empty_text":"Sample text is empty","generate":"Generate","generate_missing_task":"Generation failed: missing task ID","generate_success":"Audio generated","generating":"Please wait for audio generation to finish","candidate":"Candidate","current":"Current","default":"Default","selected":"Selected","save":"Save Changes","save_success":"Samples updated successfully","untitled":"Untitled Sample"}},"money":"Money","month":"Month","new_users":"New Users","new_users_premium":"New Member Payment","nickname":"Nickname","no_user_found":"No user found","old_users":"Old Users","old_users_premium":"Paid Member Renewal","open_menu":"Open menu","package_credit_amount":"Package Credit Amount","package_finished_at":"Package Finish At","phone":"Phone","please_enter_search_query":"Please enter a search query","premium_history":"Premium History","price":"Price","reject":"Reject","reject_withdraw_description":"Are you sure you want to reject this withdraw?","reject_withdraw_title":"Reject Withdraw","reject_withdraw_success":"Withdraw rejected","remove_premium":"Remove Premium","remove_premium_consequence":"This action cannot be undone.","remove_premium_failed":"Failed to remove premium","remove_premium_success":"Premium removed successfully","remove_premium_title":"Remove Premium Status","remove_premium_warning":"Are you sure you want to remove premium status from this user?","remove_user_premium":"Remove Subscription","removing":"Removing...","reports":{"description":"Description","filter_all":"All Types","filter_low_quality":"Low Quality","filter_other":"Other","filter_piracy":"Piracy / Copyright","filter_resolved":"Resolved","filter_unresolved":"Unresolved","hide_and_lock":"Hide & Lock Model","hide_and_lock_confirm":"This will set the model to private and lock its visibility. The owner will not be able to make it public again. Continue?","hide_and_lock_success":"Model hidden and visibility locked","next":"Next","no_reports":"No reports found","no_reports_description":"There are no reports matching your filters.","page_info":"Page {page} of {total}","previous":"Previous","reported_at":"Reported At","reporter":"Reporter","resolve":"Resolve","resolve_confirm":"Mark this report as resolved?","resolve_success":"Report resolved","resolved_at":"Resolved At","status_resolved":"Resolved","status_unresolved":"Unresolved","title":"Model Reports","type":"Type","view_model":"View Model"},"retained_users":"Retained Users","risk_control":{"actions":{"close":"Close","contact_support":"Contact support"},"helpLabel":{"description":"The common reasons for an account being blocked are as follows","reason1":"Detection of account sharing","reason2":"Abnormal account usage","reason3":"Suspicious network environment","title":"Are you in trouble?"},"status":{"description":"Your account has been temporarily restricted due to suspicious activity detected by the security system. This precautionary measure is essential to protect the integrity of your account and the platform.","title":"Account status","unlock_time":"The account will automatically be unlocked and restored in a few hours."},"subtitle":"Security Notification","title":"The account has been temporarily blocked"},"search":"Search","search_by_user_id_or_email":"Search by user ID or email","search_for_user":"Search for a user","search_placeholder":"Please enter email","searching":"Searching...","select_ban_reason":"Select Ban Reason","select_status":"Select status","select_time_range":"Select Time Range","status":"Status","top_up_package_credit":"Set Subscription Credit","top_up_success":"Top up successful","package_credit_adjustment_hint":"Use a positive number to add credits and a negative number to deduct credits.","package_credit_adjustment_non_zero":"Amount cannot be zero.","package_credit_permanent":"Permanent credits","package_credit_permanent_hint":"Survives plan changes and downgrades, like purchased credit packs.","total_users":"Total Users","try_different_search":"Try searching with different criteria","unit":"Unit","update":"Update","refresh":"Refresh","update_price":"Update Price","update_success":"Update Success","update_user_price":"Update User Price","usage":"Usage","user":"User","user_banned":"User Banned","user_detail":"User Detail","user_details":"User Details","user_id":"User ID","user_list":"User List","user_not_found":"User not found","user_role":"Role","user_type":"User Type","user_view":"User View","view_in_stripe":"View in Stripe","admin_permissions":"Admin Permissions","no_permission_to_view_info":"You do not have permission to view this information.","contact_admin_for_access":"Contact an administrator if you need access.","current_period_end":"Current Period End","cancel_at":"Cancel At","cancel_at_period_end":"Cancel At Period End","last_synced_at":"Last Synced At","extra_balance":"Extra Balance","yes":"Yes","no":"No","identity":"Identity","subscription":"Subscription","credits_and_balance":"Credits & Balance","billing_details":"Billing Details","email_change_history":"Email Change History","email_change_status_ok":"Success","email_change_status_invalid_otp":"Invalid OTP","email_change_status_duplicate_email":"Duplicate email","email_change_status_same_email":"Same email","waitlist":{"cancel":"Cancel","commitment_count":"Commitment Count","confirm":"Confirm","create":"Create","create_success":"Create Success","create_title":"Create Waitlist","delete":"Delete","delete_confirmation":"Are you sure you want to delete this waitlist?","delete_success":"Delete Success","delete_title":"Delete Waitlist","description":"Description","description_placeholder":"Enter description","display_name":"Display Name","display_name_placeholder":"Enter display name","edit":"Edit","edit_success":"Edit Success","edit_title":"Edit Waitlist","keyword":"Keyword","keyword_placeholder":"Enter keyword","save":"Save","title":"Waitlist"},"week":"Week","withdraw_history":"Withdraw History","withdraw_record_status":{"approved":"Approved","pending":"Pending","rejected":"Rejected","processing":"Processing"},"withdraw_record_title":"Withdraw Records","yesterday":"Yesterday","beta":{"title":"Beta Management","total_beta_users":"Total Beta Users","total_s2_pro_generations":"Total S2 Pro Generations","invite_to_beta":"Invite to Beta","invite_emails_placeholder":"Enter emails separated by commas or newlines","invite":"Invite","inviting":"Inviting...","invite_success":"Beta invite complete","added":"Added","already_beta":"Already beta","not_found":"Not found","skipped_root_admin":"Skipped (root admin)","generation_history":"Generation History","filter_by_email":"Filter by email"},"feedback":{"filter_all":"All","filter_resolved":"Resolved","filter_starred":"Starred","filter_unresolved":"Unresolved","filter_unstarred":"Unstarred","next":"Next","no_feedback":"No feedback found","no_feedback_description":"There is no feedback matching your filters.","page_info":"Page {page} of {total}","page_url":"Page","previous":"Previous","resolve":"Resolve","resolve_success":"Feedback resolved","star":"Star","star_success":"Feedback starred","starred":"Starred","status_resolved":"Resolved","status_unresolved":"Unresolved","title":"User Feedback","unresolve":"Unresolve","unresolve_success":"Feedback unresolved","unstar":"Unstar","unstar_success":"Feedback unstarred","user_agent":"Browser"},"feature_flags_description":"Manage team-level access to frontend features. Select a feature to review enabled teams and update a team's assignments.","feature_flag_summary":"Feature Flag Summary","feature_flag_teams":"Enabled Teams","feature_flag_editor":"Feature Flag Editor","feature_flags_load_failed":"Failed to load feature flags.","feature_flags_save_failed":"Failed to save feature flags.","feature_flags_saved":"Feature flags saved.","loading_feature_flags":"Loading feature flags...","load_more":"Load more","teams_enabled":"teams enabled","feature_flag_teams_empty":"No teams currently have this feature enabled.","select_team_for_feature_flags":"Select a team to edit its feature flags.","save":"Save","unmanaged_feature_flags":"Unmanaged Feature Flags","saving_feature_flags":"Saving feature flags...","select_team_for_self_host":"Select a team to edit its artifact grants.","self_host_description":"Manage which registry artifacts each self-host team can pull, and whether it can publish. Teams without an explicit grant cannot pull anything.","self_host_explicit_grant":"Explicit grant","self_host_grant_editor":"Artifact Grants","self_host_grant_revoke_failed":"Failed to revoke grant.","self_host_grant_revoked":"Grant revoked.","self_host_grant_save_failed":"Failed to save grant.","self_host_grant_saved":"Grant saved.","self_host_load_failed":"Failed to load self-host data.","self_host_loading":"Loading...","self_host_no_grant":"No grant","self_host_form_all_in_one":"Offline All-in-One","self_host_form_all_in_one_online":"Online All-in-One","self_host_form_all_in_one_online_description":"One container, weights included. No Kubernetes; requests are authorised and billed against Fish Audio.","self_host_form_all_in_one_description":"One container, weights included. No Kubernetes, runs air-gapped.","self_host_form_helm_offline":"Offline Helm","self_host_form_helm_offline_description":"Kubernetes, air-gapped. Models are served from inside the cluster and usage is recorded to a local signed ledger.","self_host_form_helm_online":"Online Helm","self_host_form_helm_online_description":"Kubernetes. Models are served from the in-cluster warehouse by default, or pulled from S3-compatible storage — Fish Audio's hosted bucket or the customer's own — and requests are authorised against Fish Audio billing.","self_host_releases_recorded":"Recorded {date}","self_host_push_description":"Allow this team to push to its granted repositories.","self_host_push_label":"Publisher (push)","self_host_repos_count":"{count} repositories","self_host_revoke":"Revoke Access","self_host_revoke_confirm_body":"This deletes the grant for \"{teamName}\". The team will no longer be able to pull any artifacts.","self_host_revoke_confirm_title":"Revoke self-host access","self_host_saving":"Saving...","self_host_teams":"Self-Host Teams","self_host_teams_empty":"No teams have the self-host feature enabled.","self_host_license":"License","self_host_license_product":"Product","self_host_license_binding":"GPU binding","self_host_license_binding_uuid":"Bound to GPU UUIDs","self_host_license_binding_none":"Not bound","self_host_license_starts":"Starts","self_host_license_gpu_uuids":"GPU UUIDs","self_host_license_save_before_issue":"Save the contract before issuing.","self_host_license_save_failed":"Could not reach the server. Check your connection and try again.","self_host_license_ends":"Ends","self_host_license_max_gpus":"GPUs allowed","self_host_license_save":"Save contract","self_host_license_saved":"Contract saved.","self_host_license_save_confirm":"Save the contract term {start} → {end}? This records the contract; it does not issue a license.","self_host_license_save_go":"Confirm & save","self_host_license_issued":"Issued licenses","self_host_license_issued_empty":"No licenses issued for this team yet.","grant_team_plan":"Grant Team Plan","adjust_team_plan":"Adjust Team Plan","revoke_team_plan":"Revoke Team Plan","team_plan_scope_description":"Manage the manual Pro team plan for {teamName}.","team_plan_scope_description_fallback":"Manage the manual Pro team plan for the selected team.","team_plan_current_status":"Current Team Plan Status","team_plan_expires_at":"Plan Expires At","team_plan_status_active":"Active","team_plan_status_inactive":"Inactive","team_plan_fixed_plan":"Plan","team_plan_adjust_hint":"This extends the current gifted plan from its existing expiration time.","team_plan_grant_hint":"This grants Pro to the selected shared team and starts the term now.","apply_team_plan_adjustment":"Apply Adjustment","team_plan_grant_success":"Team plan granted successfully","team_plan_adjust_success":"Team plan adjusted successfully","team_plan_revoke_success":"Team plan revoked successfully","team_plan_revoke_description":"Are you sure you want to revoke the gifted team plan for {teamName}?","team_plan_revoke_description_fallback":"Are you sure you want to revoke the gifted team plan for this team?","team_plan_revoke_warning":"The team will return to the Free plan immediately if no Stripe subscription is active.","team_plan_status_label":"Manual Team Plan","team_plan_until":"Active until {date}","customize_seat_limit":"Customize seat limit","custom_seats_title":"Customize seat limit","custom_seats_description":"Override the included seat count for {teamName}. Clear it to revert to the plan default.","custom_seats_description_fallback":"Override the included seat count for the selected team. Clear it to revert to the plan default.","custom_seats_current_override":"Current override","custom_seats_effective":"Effective seats","custom_seats_active":"Active seats","custom_seats_none":"None (plan default)","custom_seats_input_label":"Custom seat limit","custom_seats_input_hint":"Leave empty and Save to clear the override (revert to the plan default).","custom_seats_below_active_warning":"This limit is below the team's active seat count ({active}).","custom_seats_clear":"Clear override","custom_seats_save":"Save seat limit","custom_seats_save_success":"Seat limit updated","team_id":"Team ID","team_withdraws":"Team Withdrawals","user_withdraws":"User Withdrawals","self_host_releases":"Versions","self_host_releases_create":"Record version","self_host_releases_created":"Version recorded","self_host_releases_delete":"Remove","self_host_releases_delete_confirm_body":"Customers will stop being offered {tag}. Nothing is deleted from the registry, and anyone already running it keeps running it.","self_host_releases_delete_confirm_title":"Remove version","self_host_releases_dismiss":"Dismiss","self_host_releases_dismiss_confirm_title":"Dismiss version","self_host_releases_dismiss_confirm_body":"{tag} was reported by a publish pipeline but never offered to customers. Dismissing only clears it from this page; the next publish reports again.","self_host_releases_deleted":"Version removed","self_host_releases_dismissed":"Version dismissed","self_host_releases_empty":"No version recorded yet. Customers see a placeholder until one is.","self_host_releases_form_helm":"Helm chart","self_host_releases_load_failed":"Couldn't load versions.","self_host_releases_load_more":"Load older versions","self_host_releases_stale":"This list may be out of date — the last refresh failed.","self_host_releases_changed":"This version changed while the dialog was open. Nothing was removed — check the list again.","self_host_releases_mirror_first":"Run the Mirror images workflow first — this records a recommendation, it does not publish anything.","self_host_releases_preview":"Customers will be told to run:","self_host_releases_published":"Published {date}","self_host_releases_record_confirm_title":"Record {tag}?","self_host_releases_scope":"Applies to every self-host team, not the team selected above.","self_host_license_contract_term":"Contract term","self_host_license_validity":"License validity","self_host_license_next_period":"Next period","self_host_license_window_invalid":"License end must be after its start.","self_host_license_window_outside":"License validity must sit inside the contract term.","self_host_license_issue":"Issue license","self_host_license_reissue":"Reissue / renew","self_host_license_new_key_pair":"Mint a new key pair (only if the customer lost their license.key)","self_host_license_issue_confirm":"Issue a license valid until {date}? The customer downloads it from their dashboard.","self_host_license_renew_confirm":"Renew: re-sign this team's certificate through {date}? The customer must download it again.","self_host_license_issue_go":"Confirm & sign","self_host_license_cancel":"Cancel","self_host_license_issued_ok":"License issued.","self_host_license_issue_failed":"Could not reach the server. Check your connection and try again.","self_host_releases_latest":"Latest","publication_editor":{"title":"Publication","preview":"Video preview","cover":"Cover frame","hint":"Drag to choose a frame.","save":"Set cover","saving":"Saving cover…","saved":"Cover saved at {seconds}s","failed":"Could not save the cover. Please try again.","prompt":"Prompt"},"self_host_license_admin_label":"Enterprise label (internal, admin-only)","self_host_license_admin_label_hint":"e.g. Sierra, SLNG — which customer this team is","self_host_releases_aio_section":"All-in-One images","self_host_releases_helm_section":"Helm chart versions"},"affiliate":{"actions":{"api_credit_redeemed":"API credits redeemed successfully","copy-affiliate-code-success":"copied affiliate link to clipboard","error":"fail to redeem","membership_redeemed":"Plus Plan redeemed successfully","package_credits_redeemed":"250,000 credits redeemed successfully","redeem-api-credit":"Redeem 10 USD API credit","redeem-api-credit-cancel-button-text":"Cancel","redeem-api-credit-confirm-button-text":"Redeem","redeem-api-credit-confirm-description":"Are you sure you want to redeem 10 USD API credit?","redeem-api-credit-confirm-title":"Redeem 10 USD API credit","redeem-package-credits":"Redeem 250,000 Credits","redeem-package-credits-cancel-button-text":"Cancel","redeem-package-credits-confirm-button-text":"Redeem","redeem-package-credits-confirm-description":"Are you sure you want to redeem 250,000 credits using $15 affilaite reward?","redeem-package-credits-confirm-title":"Redeem 250,000 Credits","redeem-premium":"Redeem 1 month Plus Plan","redeem-premium-cancel-button-text":"Cancel","redeem-premium-confirm-button-text":"Redeem","redeem-premium-confirm-description":"Are you sure you want to redeem 1 Month Plus Plan using $15 affiliate reward?","redeem-premium-confirm-title":"Redeem 1 month Plus Plan"},"affiliate":"Affiliate","affiliate-code-description":"Share your affiliate code with your friends and earn rewards.","affiliate-credit-changed":"Credit Changed","affiliate-type":"Credit Type","cash_card":{"apply_button":"Learn More and Apply","dashboard_link":"Already registered? View your dashboard","description":"Earn 20–30% cash commission on every referral","title":"Share your link and get cash commissions","tooltip":"Only one link can be active at a time. If you upgrade to cash commissions, the product credit link stops tracking new referrals (existing credits stay redeemable)."},"copy-affiliate":"Copy to clipboard","created_at":"Created At","creators":{"creator1":{"description":"Fish voice cloning caught me off guard... I couldn't even tell if it was me or AI talking.","followers":"150K+ subscribers"},"creator2":{"description":"The speech generated by {brand} is so realistic, unlike anything I've seen.","followers":"500K+ followers"},"creator3":{"description":"S1's Advanced Emotional Control is a game-changer! Perfect for creators!","followers":"2.5M+ followers"},"subtitle":"See how our affiliates are sharing {brand} with their communities","title":"How Creators are promoting {brand}"},"credit_card":{"available_credit":"Available to Redeem","back":"Back","copied_button":"Copied!","copy_button":"Copy","insufficient_credits":"You don't have enough credits. Start referring to earn more!","no_history":"No reward history yet. Start sharing your referral link to earn credits!","redeem_api_credit":"$10 API Credits","redeem_package_credits":"250,000 Credits","redeem_premium":"1 Month Plus Plan","redeem_title":"Redeem","title":"Share your link and get product credits","tooltip":"Earn product credits equal to 20% of every purchase made through your link","total_earned":"Total Earned Credits","unique_link_label":"Your unique link:","view_history":"View reward history"},"cta":{"button":"Apply","subtitle":"Start earning while you help others unleash their creativity with AI voice technology","title":"Join our affiliate program now"},"hero":{"cta":"Join Now","subtitle":"Turn your love for {brand} into extra cash by sharing it with your audience. By submitting your application, you acknowledge and accept the","terms":"{brand} Affiliate Terms","title":"Earn money as a {brand} Affiliate Partner"},"introduction":{"benefits":{"benefit1":"Competitive commission rates","benefit2":"Monthly payouts via PayPal or Wise","benefit3":"Early access to new features","benefit4":"Exclusive creator perks","benefit5":"Dedicated affiliate support","benefit6":"Real-time tracking dashboard","title":"Why join our affiliate program?"},"cta":"Start Earning","step1":{"description":"Submit your application and wait for approval","title":"Apply to join"},"step2":{"description":"Receive your personalized affiliate link to share with your audience","title":"Get your unique link"},"step3":{"description":"Get paid for every purchase made by your referred users","title":"Earn cash"},"subtitle":"Start earning in three simple steps","title":"How it works"},"my-affiliate-code":"My affiliate code","page_title":"Earn rewards in one of two ways","redeem-awarded-credit":"Redeem the granted credit","redeem-awarded-credit-description":"Redeem your rewarded credit to get a premium subscription or API credit.","remainingCredit":"Remaining credit","title":"Affiliate Reward History","totalAffiliateNumber":"Total invited users","totalCredit":"Total credits granted","types":{"api_credit_redeemed":"API Credit Redeemed","invitee_subscription_awarded":"Invitee Subscription Awarded","package_credits_redeemed":"Package Credits Redeemed","premium_redeemed":"Premium Redeemed"}},"agents":{"active":"Active","add_document":"Add Document","add_document_description":"Add a text document to your agent's knowledge base. The text will be processed and indexed for retrieval.","add_turn":"Add Turn","agent_description":"Description","agent_description_placeholder":"Describe what this agent does (optional)","agent_name":"Agent Name","agent_name_placeholder":"Enter agent name","agent_voice":"Voice","agent_count":"{count, plural, one {# agent} other {# agents}}","agent_not_found_title":"Agent not found","agent_not_found_description":"This agent does not exist, has been deleted, or you do not have access.","all_tests_passed":"All {count} tests passed","archived":"Archived","arguments":"Arguments","back_to_list":"Back to agents","back_to_tests":"Back to Tests","beta":"Beta","beta_warning":"Voice agents are in beta and not recommended for production workloads. Costs are reduced by 50%. Please contact support for help.","beta_warning_mobile":"Not recommended for production.","beta_warning_short":"Voice agents are in beta. Not for production. Costs are 50% off.","call_ended":"Call ended","cancel":"Cancel","close":"Close","characters":"Characters","chunks":"Chunks","coming_soon":"Coming soon","completed":"Completed","connected":"Connected","copied":"Copied to clipboard","connecting":"Connecting...","connection_failed":"Connection failed","configuration":"Configuration","phone":"Phone","phone_page":{"tab_inbound":"Inbound calls","tab_outbound":"Outbound calls","numbers_title":"Phone numbers","numbers_summary":"{count, plural, =0 {No numbers ring this agent} one {# number rings this agent} other {# numbers ring this agent}}","bind_number":"Bind number","import_number":"Import number","numbers_empty_title":"No numbers ring this agent","numbers_empty_hint":"Bind a workspace number or buy a new one to put this agent on the phone.","no_transfer_tooltip":"LiveKit numbers can't transfer calls. Use a managed Twilio number for transfers.","rate_note":"Phone calls add {surcharge}/min on top of the {base}/min agent rate. Transfers are billed per leg after handoff.","unbind":"Unbind from this agent","bind_dialog_title":"Bind a number","bind_dialog_description":"Choose a workspace number that should ring this agent.","bind_dialog_empty":"Every workspace number is already bound to an agent.","transfer_title":"Call transfer","transfer_description":"Allow the agent to transfer calls to another number.","destination_name_label":"Destination name","destination_name_placeholder":"Support desk","destination_number_label":"Phone number","mode_label":"Transfer mode","mode_cold":"Cold","mode_warm":"Warm","mode_cold_description":"The call is handed off to the carrier and the agent drops out. Recording stops at handoff — nothing after it appears in analysis.","mode_warm_description":"The agent stays on the line and bridges the call. Recording continues after the human joins, so the full conversation shows up in analysis.","warm_connect_label":"Warm handoff","warm_confirm_title":"Ask the human to accept before connecting","warm_confirm_description":"The agent summarizes the call and waits for confirmation.","warm_direct_title":"Connect immediately","warm_direct_description":"Feels like a cold transfer to the caller — but the call stays recorded and shows up in analysis.","transfer_footnote":"Destinations are limited to allowed regions (US, CA, UK, DE, FR, ES, IT, MX, AU, JP, IN, ID, PH, MY, and TH).","shared_settings_hint":"Recording, max duration and timezone are shared across channels — manage them in <link>Configuration</link>.","no_outbound_badge":"No outbound","no_outbound_tooltip":"LiveKit numbers can't place outbound calls. Use a managed Twilio number.","outbound_call_title":"Place a test call","outbound_call_description":"Call a real number with this agent's published configuration. Billed like any call.","outbound_api_hint":"For production outbound, place calls from your backend with the <link>outbound calls API</link>.","outbound_from_label":"From number","outbound_from_placeholder":"Select a number","outbound_from_empty":"No workspace numbers yet. Buy one on the Inbound calls tab first.","outbound_to_label":"To number","outbound_number_error":"Enter a number with country code like +14155550123.","outbound_variables_title":"Variables for this call","outbound_variables_hint":"Used for this call only, and remembered in this browser for your next test. Unfilled variables are spoken as written.","outbound_call_button":"Call","outbound_call_success":"Call queued — it will appear in recent calls below.","outbound_rate_note":"Ringing is free. Once answered, calls bill at {base}/min plus a phone surcharge — {surcharge}/min for US/Canada, {jpMobile}/min for Japan mobile and {jpFixed}/min for Japan fixed-line/050.","outbound_error_insufficient_credit":"Not enough credits to place this call. Top up and try again.","outbound_error_agent_not_published":"Publish this agent before placing calls.","outbound_error_destination_invalid":"That isn't a valid phone number. Use the international format like +14155550123.","outbound_error_destination_not_allowed":"Outbound calls can only reach US, Canada and Japan numbers for now.","outbound_error_premium_destination_blocked":"Premium-rate numbers can't be called.","outbound_error_self_call_blocked":"That's one of your own workspace numbers — calls to it are blocked.","outbound_error_number_provider_unsupported":"This number can't place outbound calls. Use a managed Twilio number.","outbound_error_number_inactive":"This number isn't active yet. Wait for provisioning to finish.","outbound_error_daily_limit_exceeded":"Daily outbound call limit reached. Try again tomorrow.","outbound_error_concurrency_limit_exceeded":"Too many calls in progress. Wait for one to finish.","outbound_error_outbound_disabled":"Outbound calling is disabled for this workspace. Contact support.","recent_calls_title":"Recent outbound calls","recent_calls_empty":"Calls you place will show up here.","recent_calls_error":"Couldn't load recent calls.","recent_calls_col_number":"Number","recent_calls_col_status":"Status","recent_calls_col_dial":"Dial result","recent_calls_col_answered_by":"Answered by","recent_calls_col_duration":"Duration","recent_calls_col_time":"Placed","outbound_dial_answered":"Answered","outbound_dial_busy":"Busy","outbound_dial_no_answer":"No answer","outbound_dial_failed":"Failed","outbound_dial_pending":"Dialing","outbound_answered_by_human":"Human","outbound_answered_by_voicemail":"Voicemail","outbound_answered_by_unknown":"Unknown","inbound_only_tooltip":"No SIP termination configured. This number takes inbound calls and cold transfers, but can't place outbound calls or warm transfers.","no_outbound_tooltip_sip":"This number was imported without SIP termination, so it can't place outbound calls.","col_transfer":"Transfer","transfer_on":"ON","transfer_off":"OFF","transfer_cold_only":"Cold only"},"system_prompt":"System prompt","system_prompt_description":"Personality, goals and guardrails that steer every reply.","system_prompt_placeholder":"Describe the agent's personality, goals and guardrails…","system_prompt_variables_hint":"Supports variables like customer_name and company","system_prompt_token_hint":"Up to 4,000 tokens — staying under 2,000 is recommended.","first_message":"First message","first_message_off":"Off","first_message_fixed":"Fixed message","first_message_prompt":"Prompt","first_message_off_description":"Start the conversation without a preset opening line.","first_message_fixed_description":"Speak the same opening line every time.","first_message_prompt_description":"Let the agent generate the opening line from a prompt.","first_message_fixed_placeholder":"Hi! Thanks for calling Fish Audio — how can I help you today?","first_message_prompt_placeholder":"Greet the caller and ask what you can help with.","first_message_required":"This field is required.","voice_description":"Choose the agent's voice profile and speaking language.","language_and_voice":"Language & Voice","voice_profile":"Voice profile","voice_profile_default_description":"English · Warm support","change_voice":"Change","choose_a_voice":"Choose a voice","more_voices":"More voices","use_this_voice":"Use this voice","no_voice_selected":"No voice selected","voice_unavailable":"Voice unavailable","speaking_language":"Speaking language","expressive_mode":"Expressive mode","expressive_mode_hint":"The agent adds emotion, pauses, and natural speech patterns on its own.","voice_speed":"Speaking speed","voice_speed_hint":"How fast the agent speaks. 1.0x is normal speed.","keyterms":"Speech recognition keywords","keyterms_hint":"Names, brands, and product terms the agent should recognize accurately. Focused lists work best — only add terms this agent actually needs.","keyterms_count":"{count} / 50 keywords","keyterms_placeholder":"Type a term and press Enter","keyterms_remove":"Remove {term}","test_call":"Test call","publish":"Publish","publish_success":"Published v{version}","publish_success_v2":"Agent published successfully.","publish_failed_v2":"Agent publish Failed","draft_saving":"Draft saving","unpublished_changes":"You have unpublished changes","network_error":"Network Error","toggle_off":"Off","toggle_on":"On","default_voice":"Default Voice","optimize_with_ai":"Optimize with AI","optimize_with_ai_unavailable":"AI optimization is not available yet.","draft_saved":"Draft saved","published_up_to_date":"Published","test_call_draft_hint":"Test calls use your current draft, including unpublished changes.","publish_required_title":"Publish required","copy_url":"Copy URL","create_agent":"Create Agent","create_test":"Create Test","danger_zone":"Danger zone","danger_zone_hint":"Delete this agent while keeping its existing call history. This cannot be undone.","created":"Created","delete":"Delete","delete_agent":"Delete Agent","delete_confirm":"Delete “{name}”? The agent will be removed, but its existing call history will be retained. This action cannot be undone.","delete_document_description":"Are you sure you want to delete \"{name}\"? All associated data will be permanently removed.","delete_document_title":"Delete Document","delete_test_description":"Are you sure you want to delete \"{name}\"? This action cannot be undone.","delete_test_title":"Delete Test","deleting":"Deleting...","deploy":"Deploy","deploy_description":"Configure deployment settings and get integration code for your agent.","deploy_page":{"unpublished_banner":"No published version yet. The API and these snippets always serve the published config — publish to activate them.","unpublished_changes_banner":"You have unpublished changes. The API and these snippets continue to serve your last published configuration — publish to apply them.","first_publish_live_title":"{agentName} is live","first_publish_live_description":"Your agent is now ready to take calls. Next, add it to your product.","first_publish_done":"Done","go_to_deploy":"Go to Deploy","published_description":"Your published configuration is live and ready to use.","not_published_description":"Draft only — nothing is live yet.","published":"Published","not_published":"Not published","public":"Public","authenticated":"Authenticated","copy_code":"Copy code","public_quick_start_hint":"No backend needed — requires Public access below to be on. Best for demos, docs and landing pages.","manage_api_keys":"Manage API keys","full_sdk_reference":"Full SDK reference","api_sdk_docs":"API & SDK docs","public_access":"Public access","add_origin":"Add origin","origin_invalid":"Enter a valid http(s) origin without a path, query, fragment, or credentials.","origin_duplicate":"This origin has already been added.","public_rate_limit":"Public sessions are rate-limited per IP and per agent. Usage is billed to your workspace.","public_access_off_description":"Off — only server-created session tokens can start calls. Turn on to allow the widget and browser-only agentId sessions (requires an origin allowlist).","go_deeper":"Go deeper","go_deeper_description":"Everything the snippets don’t show — full parameters, events and tooling.","public_access_off_warning":"Public access is off for this agent, so this snippet will be rejected. Turn it on below:","quick_start":"Quick start","server_step_title":"On your server","server_step_description":"create a session token","app_step_title":"In your app","app_step_description":"start the conversation","soon":"Soon","allowed_origins":"Allowed origins","allowed_origins_description":"Only these origins can create public sessions — requests from anywhere else are rejected.","session_api_card":"Session API reference","session_api_card_description":"Every parameter of POST /v1/agent/sessions — overrides, dynamic variables, end-user IDs and metadata.","events_card":"Events & state","events_card_description":"Live transcripts, agent mode, interruption, reconnection and error events on AgentSession.","client_tools_card":"Client tools","client_tools_card_description":"Let the agent call functions in your page and speak with the results, mid-conversation.","widget_card":"Widget customization","widget_card_description":"Colors, copy and placement of the drop-in '<fish-agent>' element. Ships with the widget."},"deployment_status":"Deployment Status","deployment_url":"Call URL","deployment_url_description":"Use this URL to connect to your agent via WebRTC or WebSocket.","document_created":"Document created and processing started","document_deleted":"Document deleted successfully","document_name":"Document Name","document_name_placeholder":"Enter a name for this document","draft":"Draft","edit":"Edit","edit_test":"Edit Test","agent_name_label":"Agent name","agent_name_example":"Customer support agent","create_agent_action":"Create agent","new_agent_modal_description":"Give this agent a name. You can configure details next.","empty_state":"No agents yet","empty_state_description":"Create an AI voice agent that answers customers, handles common requests, and routes conversations to the right next step.","end_call":"End call","error_creating":"Failed to create agent","error_creating_document":"Failed to create document","error_deleting":"Failed to delete agent","error_deleting_document":"Failed to delete document","error_deleting_test":"Failed to delete test","error_loading":"Failed to load agent","error_loading_test":"Failed to load test","error_running_test":"Failed to run test","error_saving":"Failed to save agent","error_saving_test":"Failed to save test","execution_trace":"Execution Trace","expected_arguments":"Expected Arguments","expected_function":"Expected Function","failed":"Failed","features":{"interactionFlow":{"description":"Map out how your agent handles conversations — greetings, intent routing, escalation, and handoffs. Define branching logic visually so the agent always knows what to do next.","title":"Interaction Flow Designer"},"knowledgeAccess":{"description":"Connect documents, FAQs, and product catalogs. Your agent pulls relevant answers in real time so it responds accurately instead of hallucinating.","title":"Knowledge Base Access"},"multilingual":{"description":"Agents that speak 8+ languages natively. Serve global customers in their preferred language without building separate agents for each region.","title":"Multilingual Support"},"personas":{"description":"Give each agent a distinct personality and voice from 2M+ options. Match your brand tone — professional, friendly, multilingual — and keep it consistent across every call.","title":"Agent Personas & Voices"},"subtitle":"Everything you need to build, deploy, and scale LLM-powered voice agents","telephony":{"description":"Connect to phone systems via SIP or deploy on the web via WebRTC. Replace IVR phone trees with natural conversations your customers actually want to have.","title":"Telephony & Web Integration"},"title":"Voice-First AI Agent Platform","toolIntegration":{"description":"Let your agent take action mid-conversation — look up orders, book appointments, update CRMs, trigger webhooks. Connect any API and the LLM decides when to call it.","title":"Tool & API Integration"}},"final_node":"Final Node","final_state":"Final State","flow_editor":"Flow Editor","filter_all":"All","filter_live":"Live","function_name":"Function","function_name_required":"Function name is required","history":"History","history_description":"View conversation history and analytics for this agent.","initial_state":"Initial State","introduction":{"description":"Define an interaction flow, connect your knowledge base, pick a persona from 2M+ voices, and deploy to web or phone. Your agent handles real conversations — answering questions, routing calls, and speaking your customers' language — so your team can focus on what matters.","title":"Your AI, On the Phone","tryFree":"Create an Agent"},"invalid_initial_state":"Invalid JSON for initial state","knowledge":"Knowledge","knowledge_base":"Knowledge base","knowledge_description":"Add documents, FAQs, and other knowledge sources for your agent to reference.","knowledge_library_hint":"Upload text and Markdown files your agents can search during conversations.","all_sources":"All sources","support":"Support","folder":"Folder","folders_count":"{count, plural, one {# folder} other {# folders}}","knowledge_sources_count":"{count, plural, one {# file} other {# files}}","knowledge_sources_summary":"{count, plural, one {# file} other {# files}} · Updated {time}","knowledge_no_files_yet":"No files yet","search_knowledge_sources":"Search files, folders, chunks","new_folder":"New folder","new_folder_description":"Create a folder to organize knowledge sources.","rename_folder":"Rename folder","rename_folder_description":"Update this folder name.","folder_name":"Folder name","folder_name_placeholder":"Support docs","knowledge_folder_name_required":"Enter a folder name.","knowledge_name_too_long":"Name must be 120 characters or fewer.","add_source":"Add source","add_source_description":"Upload a text or Markdown file.","add_file":"Add file","new_private_file":"New private file","import_from_library":"Import from library","import_from_global_knowledge_base":"Import from global KB","knowledge_scope_private":"Private","knowledge_scope_global":"Global","edit_in_global_knowledge_base":"Edit in global knowledge base","import_knowledge_sources":"Import files from library","import_knowledge_sources_description":"Select a workspace library file for this agent to use.","import":"Import","no_library_files_to_import":"No library files available to import.","knowledge_source_imported":"File imported","knowledge_source_removed":"File removed from this agent","remove_from_agent":"Remove from agent","remove_source_confirm":"Remove “{name}” from this agent? It will remain available in the global knowledge base.","agent_knowledge_files":"Agent files","knowledge_drop_file":"Drop a text or Markdown file to upload","edit_knowledge_source":"Edit file","edit_source_description":"Rename, move, or replace this source with a new text or Markdown file.","global_source_edit_hint":"This is a global file. Edit it from the global knowledge base.","knowledge_source_file":"File","replace_source_file":"Replace file","knowledge_file_hint":"Supported: .txt, .md, .markdown, .text · Max 1 MB","choose_file":"Choose a text or Markdown file","knowledge_file_required":"Choose a file to upload.","knowledge_file_pdf_error":"PDF files are not supported yet. Upload a text or Markdown file.","knowledge_file_type_error":"Unsupported file type. Upload .txt, .md, .markdown, or .text.","knowledge_file_empty_error":"The selected file is empty.","knowledge_file_size_error":"Files must be 1 MB or smaller.","knowledge_file_utf8_error":"The selected file must be UTF-8 text.","source_name":"File name","source_name_hint":"Pre-filled from the uploaded file. You can change it.","source_name_placeholder":"support-faq.md","description":"Description","source_description_hint":"Optional. Helps teammates understand when to use this source.","source_description_placeholder":"What does this source cover?","knowledge_description_too_long":"Description must be 2,000 characters or fewer.","root_folder":"Root","size":"Size","rename":"Rename","rename_source":"Rename source","source_access_title":"Source access","content":"Content","uploaded":"Uploaded","delete_source_title":"Delete source","delete_source_confirm":"Delete “{name}”? It will be archived and detached from every active agent draft. This action cannot be undone.","delete_folder_title":"Delete folder","delete_folder_confirm":"Delete “{name}”? Active sources in this folder will move back to All sources.","knowledge_empty_title":"No documents yet","knowledge_empty_hint":"Upload text or Markdown files to build a knowledge base your agents can search during conversations.","knowledge_folder_empty_title":"No files in this folder","knowledge_folder_empty_hint":"Upload text or Markdown files to this folder so your agents can search them during conversations.","knowledge_library_search_empty_title":"No knowledge base items match your search","knowledge_sources_empty_title":"No sources found","knowledge_sources_empty_hint":"Check the spelling or try a different search.","knowledge_folder_created":"Folder created","knowledge_folder_updated":"Folder updated","knowledge_folder_deleted":"Folder deleted","knowledge_source_created":"Source uploaded","knowledge_source_updated":"Source updated","knowledge_source_deleted":"Source deleted","knowledge_source_not_found":"File not found, deleted, or you do not have access.","folder_access_hint":"Access applies to every document in this folder. New uploads inherit it; a document can still be managed individually.","untitled_folder":"Untitled folder","today":"Today","home_welcome_back":"Welcome back","home_date_past_7_days":"Past 7 days","home_date_past_30_days":"Past 30 days","home_date_past_90_days":"Past 90 days","home_date_custom_range":"Custom range…","home_date_apply":"Apply","home_date_picker_label":"Select date range","home_date_previous_month":"Previous month","home_date_next_month":"Next month","home_conversations":"Conversations","home_average_duration":"Avg duration","home_minutes_used":"Minutes used","home_average_cost":"Avg cost","home_metric_daily":"{metric} · daily","home_view_conversations":"View conversations","home_your_agents":"Your agents","home_view_all_agents":"View all agents","home_view_all":"View all","home_no_activity_data":"No conversation data for this period","home_no_metric_data":"No data for this period","home_recent_conversations":"Recent conversations","home_no_recent_conversations":"No conversations in this period","home_free_minutes":"Free minutes","home_free_minutes_hint":"One-time trial pool · covers all agent charges except premium model surcharges","home_usage_minutes":"{used} / {total} mins","home_balance":"Balance","home_add_credit":"Add credit","home_agent_spend":"Agent spend in {month} (this workspace)","home_pricing":"Pricing","home_pricing_conversation":"Conversation","home_pricing_phone":"Phone calls","home_pricing_number":"Phone number","home_pricing_cold":"Cold transfer","home_pricing_warm":"Warm transfer","home_pricing_per_minute":"{price}/min","home_pricing_per_month":"{price}/mo","home_pricing_note":"All-inclusive — ASR, TTS & LLM included. Billed per second.","home_resources":"Resources","home_quickstart_guide":"Quickstart guide","home_api_reference":"API reference","home_whats_new":"What’s new","home_error_description":"We couldn’t load your agents. Try again.","home_overview_error_description":"We couldn’t load your dashboard data. Try again.","home_live_status_stale":"Live status may be delayed · Updated {time}","home_status_pending":"Pending","home_status_active":"Active","home_status_completed":"Completed","home_status_failed":"Failed","home_status_unknown":"Unknown","home_retry":"Retry","syncing_now":"Syncing now","current_agent":"Current agent","last_test":"Last Test","last_updated":"Last Updated","list_description":"Design, test and deploy voice agents that talk to your customers in real time.","list_search_placeholder":"Search agent","list_empty_state":"No Agent yet","list_empty_state_description":"Test your agent or share its number — calls will show up here.","listening":"Listening...","live_url":"Live URL","live_url_description":"Works only when agent is active. Share this URL for production use.","loading":"Loading...","new_test":"New Test","new_agent":"New agent","nav_group_build":"Build","nav_group_monitor":"Monitor","nav_group_publish":"Publish","no_knowledge_documents":"No knowledge documents yet","no_test_runs":"This test has not been run yet.","no_tests":"No tests yet. Create your first test to validate your workflow.","no_results":"No agents match your search.","no_results_hint":"Check the spelling or try a different name.","access_no_agents_title":"No agents yet","access_no_agents_hint":"Create an agent first, then choose which ones can use this source.","clear_search":"Clear search","no_turns":"No turns yet. Add a turn to define the test sequence.","no_usage_data":"No usage data available","offline":"Offline","optional":"optional","overview":"Overview","passed":"Passed","private":"Private","processing":"Processing","public":"Public","result":"Result","run_all_tests":"Run All","run_history":"Run History","run_test":"Run","running":"Running...","running_all_tests":"Running...","save":"Save","save_and_run":"Save & Run","save_changes":"Save Changes","save_test":"Save","saved":"Saved","saving":"Saving...","select_function":"Select function...","select_voice":"Select a voice","search_agents":"Search agents","conversations_search_placeholder":"Search by phone number or ID","conversations_page_description":"All agent conversations, transcripts, and analytics within the workspace.","conversations_all_title":"All conversations","conversations_empty_title":"No Conversations yet","conversations_empty_description":"All conversations will show up here.","back_to_conversations":"Back to conversations","conversations_calls_in_progress":"{count} calls in progress","conversations_no_results_title":"No results found","conversations_live_running_for":"(Running for {duration})","conversations_live_web_call":"Web call","conversations_no_results":"No conversations match your filters.","conversations_load_error_title":"Unable to load conversations","conversations_load_error_description":"Conversation data could not be loaded. Please try again.","conversation_detail_load_error_title":"Unable to load conversation details","conversation_detail_load_error_description":"Conversation details could not be loaded. Please try again.","conversations_pagination":"Conversation pagination","conversations_previous_page":"Previous page","conversations_next_page":"Next page","conversations_duration":"Duration","conversation_copy_text":"Copy text","conversation_copy_markdown":"Copy markdown","conversation_copied_to_clipboard":"copied to clipboard","conversation_copy":"Copy","conversation_share":"Share","conversation_share_link":"Copy share link","conversation_share_link_copied":"share link copied to clipboard","conversation_status_active":"Active","conversation_status_escalated":"Escalated","conversation_status_missed":"Missed","conversation_status_resolved":"Resolved","settings_agent_id":"Agent ID","settings_copy_agent_id":"Copy agent ID","settings_agent_id_hint":"Use this in the API and webhooks.","settings_description_hint":"Internal note about what this agent does.","settings_name_hint":"Shown in dashboards and call logs.","some_tests_failed":"{passed} passed, {failed} failed","speaking":"Speaking...","state":"State","stats_coming_soon":"Agent usage and stats coming soon","status":"Status","success_created":"Agent created successfully","success_deleted":"Agent deleted successfully","success_saved":"Agent saved successfully","tap_to_start":"Tap to start voice chat","template_food_description":"Order food and log item names and quantities.","template_food_title":"Food Ordering","template_qa_description":"Answer domain specific knowledge from a knowledge base.","template_qa_title":"Question Answering","template_survey_description":"Survey users for answers and record them.","template_survey_title":"Survey Sending","test_created":"Test created successfully","test_deleted":"Test deleted successfully","test_description":"Description","test_description_placeholder":"Describe what this test validates (optional)","test_editor_description":"Define a sequence of function calls to simulate user interactions.","test_failed":"Failed","test_name":"Test Name","test_name_placeholder":"e.g., Happy path checkout","test_name_required":"Test name is required","test_passed":"Passed","test_results":"Test Results","test_turns_required":"At least one turn is required","test_user_turn_required":"At least one user message is required","test_updated":"Test updated successfully","test_url":"Test URL","test_url_description":"Works anytime with valid token. Valid for 24 hours.","test_url_expires_in":"Expires in {time}","test_url_refreshing":"Refreshing...","test_voice_call":"Test Voice Call","test_voice_call_description":"Test your agent with a live voice call","tests":"Tests","tests_description":"Create and run test scenarios to validate your agent's behavior.","text_content":"Text Content","text_content_hint":"Paste your document text here. It will be automatically chunked and indexed for retrieval.","text_content_placeholder":"Paste or type your text content here...","thinking":"Thinking...","title":"Voice Agents","tools":"Tools","tools_description":"Configure external tools and APIs your agent can use during conversations.","topBar":{"cta":"Build Your First Agent","pricingButton":"View Pricing","stat1":"AI Voices","stat2":"Languages","stat3":"Availability","subtitle":"Design conversational AI agents that listen, understand, and respond with natural human voices. Connect knowledge bases, custom tools, and 2 million+ voices to build voice-powered experiences your users will love.","title":"Build Voice Agents That <highlight>Talk Like Humans</highlight>"},"total_credits":"Total Credits","total_duration":"Total Duration","total_sessions":"Total Sessions","turns":"Turns","unknown_error":"An unknown error occurred","unlist":"Unlisted","updated":"Updated","updated_relative":"Updated {time} ago","url_copied":"URL copied to clipboard","usage_stats":"Usage Stats","usage_stats_tooltip":"20 credits per second","usecases":{"callCenter":{"button":"Build Call Agent","description":"Replace rigid IVR menus with voice agents that understand natural language. Route calls intelligently, handle common requests end-to-end, and cut average handle time without sacrificing quality.","title":"Call Centers & Telephony"},"customerSupport":{"button":"Build Support Agent","description":"Deploy agents that answer product questions, troubleshoot issues, and escalate to humans when needed. Handle thousands of calls simultaneously with zero wait times, 24/7.","title":"Customer Support"},"multilingualSupport":{"button":"Build Multilingual Agent","description":"Serve global customers in their native language with a single agent. No need to hire multilingual staff or build separate support lines — one agent, every language, every time zone.","title":"Multilingual Customer Service"},"sales":{"button":"Build Sales Agent","description":"Qualify inbound leads over the phone with natural conversation. Your agent asks the right questions, captures details, and books meetings — so your sales team only talks to hot prospects.","title":"Sales & Lead Qualification"},"subtitle":"Replace hold music and phone trees with AI that actually solves problems","title":"Voice Agents for Every Team"},"user_text":"User Text","visibility":"Visibility","access":"Access","action":"Action","add_argument":"Add argument","add_auth_header_basic":"Add Authorization header (Basic)","add_auth_header_bearer":"Add Authorization header (Bearer)","add_header":"Add header","add_response":"Add response","add_tool":"Add tool","add_webhook_tool":"Add Webhook tool","agents_have_access":"{enabled} of {total} agents have access.","argument_not_used_warning":"Not used in the URL, request body, or headers.","body":"Body","clone":"Clone","clone_success":"Agent cloned successfully","content_type":"Content type","create_tool":"Create tool","custom_headers":"Custom headers","custom_headers_hint":"Sent with every webhook request.","custom_tools":"Custom tools","custom_tools_hint":"Workspace Webhook tools attached to this agent.","detach":"Detach","detach_tool_confirm":"Detach \"{name}\" from this agent? The tool stays available in your workspace.","detach_tool_title":"Detach tool","edit_webhook_tool":"Edit Webhook tool","endpoint":"Endpoint","endpoint_url":"Endpoint URL","endpoint_url_invalid":"Enter a valid http(s) URL without credentials or private hosts.","endpoint_url_not_allowed":"For security, URLs with credentials, localhost, private network, or metadata hosts aren't allowed.","endpoint_url_required":"Enter an endpoint URL.","error_handling":"Error handling","error_hide":"Hide","error_passthrough":"Passthrough","execution":"Execution","execution_background":"Background","execution_background_description":"The agent continues talking while the tool runs, then announces the result when it arrives. Best for slow operations.","execution_blocking":"Wait for result","execution_blocking_description":"The agent waits for the response before replying. Best for lookups the answer depends on.","execution_fire_and_forget":"Fire and forget","execution_fire_and_forget_description":"The agent continues immediately and never receives the result. Best for notifications and logging.","execution_fire_and_forget_error_note":"Failures are only recorded in logs — the agent is not notified.","header_name":"Header name","header_value":"Header value","invalid_json_arguments":"Enter valid JSON arguments","method":"Method","mock_responses":"Mock responses","mock_responses_hint":"Return canned responses instead of calling the endpoint.","no_response_body":"No response body","request":"Request","request_body":"Request body","response":"Response","response_headers":"Response headers","response_handling":"Response handling","response_truncated":"truncated","seconds_value":"{seconds} sec","send_test_request":"Send test request","status_code":"Status code","system_tools":"System tools","system_tools_hint":"Built-in tools controlled per agent.","test":"Test","test_tab_hint":"Send a test call with sample arguments to verify your endpoint responds correctly.","timeout":"Timeout","tool":"Tool","tool_arguments":"Tool arguments","tool_arguments_hint":"Exposed to the agent as tool parameters.","tool_created":"Tool created","tool_name":"Tool name","tool_name_required":"Enter a tool name.","tools_empty_hint":"Add a webhook tool so this agent can call your HTTP endpoint.","tools_empty_title":"No custom tools attached","type":"Type","client":"Client","client_sheet_hint":"Client tools are executed by your app through the SDK.","client_tool_sdk_notice":"Client tools require an SDK integration — your app code provides the implementation. On phone calls the tool is hidden from the agent automatically.","edit_client_tool":"Edit client tool","expects_response":"Wait for result","expects_response_hint":"When off, the call is fire-and-forget: the agent continues without waiting for your app's result.","webhook":"Webhook","webhook_test_error_connection":"Connection failed. Check that the endpoint is reachable and accepting connections.","webhook_test_error_dns":"DNS lookup failed. Check the endpoint hostname.","webhook_test_error_network":"Network request failed. Check the endpoint connection and try again.","webhook_test_error_timeout":"Request timed out. Check the endpoint and increase the timeout if needed.","webhook_test_status_connection":"Connection failed","webhook_test_status_dns":"DNS lookup failed","webhook_test_status_network":"Network error","webhook_test_status_timeout":"Timed out","webhook_menu_hint":"Call an HTTP endpoint","webhook_sheet_hint":"Create a reusable custom tool that calls your HTTP endpoint.","webhook_import_title":"Import endpoint","webhook_import_hint":"Paste cURL, request docs, or JSON. Review the generated config before saving.","webhook_import_placeholder":"Paste a cURL command, raw HTTP request, or endpoint notes...","webhook_import_from_clipboard":"Parse clipboard","webhook_import_parse_text":"Parse text","webhook_import_empty":"Paste endpoint details first.","webhook_import_failed":"Could not find an HTTP endpoint to import.","webhook_import_clipboard_failed":"Clipboard access failed. Paste the text manually.","webhook_import_success":"Webhook config filled in","webhook_import_summary":"{method} parsed · {args} args · {headers} headers","conversation_flow":"Conversation flow","open_editor":"Open editor","flow_call_connected":"Call connected","flow_call_connected_hint":"Inbound call is answered","flow_greeting":"Greeting","flow_greeting_hint":"“Hi! Thanks for calling Fish Audio…”","flow_understand":"Understand","flow_understand_hint":"Transcribe speech & detect intent","flow_respond":"Respond","flow_respond_hint":"Answer from the knowledge base or call a tool","flow_wrap_up":"Wrap up","flow_wrap_up_hint":"Confirm, summarize, and end the call","previewing":"Previewing","preview_title":"Preview","preview_status_ready":"Ready","preview_status_connecting":"Connecting…","preview_status_live":"Live · {time}","preview_status_ended":"Ended","preview_status_error":"Error","preview_ready_title":"Ready to preview","preview_start_call":"Start call","preview_call_again":"Call again","preview_end_call":"End call","preview_mute":"Mute","preview_unmute":"Unmute","preview_type_message":"Type a message or just talk…","preview_send":"Send","preview_voice_muted":"Muted","preview_voice_listening":"Listening…","preview_voice_speaking":"Speaking…","preview_voice_interrupt":"Speak or tap to interrupt…","preview_tool_running":"Running","preview_tool_completed":"Done","preview_tool_failed":"Failed","preview_tool_input":"Input","preview_tool_output":"Output","preview_tool_error":"Error","preview_tool_truncated":"truncated","preview_service_unavailable":"Couldn't connect to the voice service. Please try again later.","preview_agent_join_timeout":"The agent didn't join the call. Please try again.","preview_mic_denied":"Microphone access was denied. Allow it in your browser settings and try again.","preview_variables_title":"Test variables","preview_variables_hint":"Values for the variables in your prompt.","preview_variables_restored":"Restored from your last test","preview_variables_clear":"Clear","preview_variable_value_placeholder":"Value","preview_variables_mode_form":"Form","preview_variables_mode_raw":"Raw","preview_analysis_title":"Analysis","preview_analysis_running":"Analyzing conversation…","preview_analysis_still_running":"Still analyzing — this is taking longer than usual.","preview_analysis_refresh":"Refresh","preview_analysis_skipped":"No analysis for this call — the conversation was empty or analysis isn't configured.","preview_analysis_error":"Analysis failed for this call.","preview_analysis_summary_label":"Summary","preview_analysis_data_label":"Data","preview_analysis_criteria_label":"Criteria","preview_analysis_result_success":"Success","preview_analysis_result_failure":"Failure","preview_analysis_result_unknown":"Unknown","preview_analysis_value_yes":"Yes","preview_analysis_value_no":"No","analysis":"Analysis","guardrails":"Guardrails","guardrails_focus_title":"Focus","guardrails_focus_hint":"Keeps the agent on the task your instructions define.","guardrails_manipulation_title":"Manipulation","guardrails_manipulation_hint":"Keeps the agent in its role and declines attempts to override or extract its instructions.","analysis_summary_title":"Summary","analysis_summary_hint":"Generate a short summary of every conversation after it ends.","analysis_summary_language_label":"Summary language","analysis_summary_language_hint":"Summaries are always written in this language, regardless of the conversation language.","analysis_summary_prompt_label":"Custom instructions","analysis_summary_prompt_placeholder":"Leave empty to use the platform's default summary instructions.","analysis_fields_title":"Data fields","analysis_fields_hint":"Structured values extracted from each conversation, delivered via webhook and API.","analysis_fields_empty_title":"No data fields yet.","analysis_fields_empty_hint":"Add one to extract structured values from every call.","analysis_add_field":"Add field","analysis_field_name_label":"Name","analysis_field_name_placeholder":"order_number","analysis_field_type_label":"Type","analysis_field_description_label":"Description","analysis_field_description_placeholder":"What should be extracted from the conversation?","analysis_type_boolean":"Boolean","analysis_type_text":"Text","analysis_type_number":"Number","analysis_type_enum":"Choice","analysis_enum_options_label":"Options","analysis_enum_options_hint":"Between 2 and 20 non-empty options.","analysis_enum_option_placeholder":"Option value","analysis_add_option":"Add option","analysis_remove_option":"Remove option","analysis_remove_field":"Remove field","analysis_criteria_title":"Criteria","analysis_criteria_hint":"After each call, the model judges every criterion as success, failure, or unknown, with a short rationale. Vague or incomplete conversations are marked unknown rather than guessed.","analysis_criteria_empty_title":"No criteria yet.","analysis_criteria_empty_hint":"Add one to score every call against your definition of success.","analysis_add_criterion":"Add criterion","analysis_criterion_name_placeholder":"issue_resolved","analysis_criterion_description_placeholder":"When should this call count as a success?","analysis_remove_criterion":"Remove criterion","analysis_name_required":"Enter a name.","analysis_name_invalid":"Use lowercase letters, digits, and underscores, starting with a letter.","analysis_name_duplicate":"This name is already used.","webhooks":"Webhooks","post_call_webhook_hint":"Fish Audio can be configured to notify your server when call events take place. This can be helpful for your backend to know when a call has finished, or when its analysis has completed. Preview calls are not delivered. For information about how to set up webhooks, check out our <link>documentation</link>.","post_call_webhook_secret_label":"Signing secret","post_call_webhook_secret_placeholder":"Optional","post_call_webhook_secret_hint":"Used to sign each payload so you can verify it came from Fish Audio.","post_call_webhook_clear":"Remove webhook","post_call_webhook_add":"Add webhook","inbound_webhook_title":"Inbound call webhook","inbound_webhook_hint":"When someone calls your agent's phone number, Fish Audio sends the caller's number to this endpoint before connecting the call. The dynamic_variables returned in the response fill the placeholders in your prompt and first message. If the endpoint fails or times out, the call still connects without variables. Publish to apply changes to phone calls.","global_tools_hint":"Custom tools your agents call to interact with external systems.","workspace_tools_empty_title":"No custom tools yet","workspace_tools_empty_hint":"Add a webhook tool to make it available to your agents.","library_no_results_title":"No results found","library_no_results_hint":"Try a different search term.","search_custom_tools":"Search custom tools","tools_count":"{count, plural, one {# tool} other {# tools}}","updated_ago":"Updated {time}","used_by_agents":"{count, plural, =0 {No agents} one {# agent} other {# agents}}","name":"Name","manage_access":"Manage access","delete_tool_title":"Delete tool","delete_tool_confirm":"Delete “{name}”? It will be removed from every agent that uses it. This action cannot be undone.","global_tests_hint":"Tests that verify how your agents behave in real conversations.","global_analysis_hint":"Configure post-call summaries, data extraction, and evaluation criteria for each agent.","analysis_no_agents_title":"No agents yet","analysis_no_agents_hint":"Create an agent to configure conversation analysis.","all_tests":"All tests","search_tests":"Search tests","tests_count":"{count, plural, one {# test} other {# tests}}","tests_empty_title":"No tests yet","tests_empty_hint":"Create your first test to check how your agents reply in key moments.","delete_test_confirm":"Delete “{name}”? It will be removed from every agent it is assigned to. This action cannot be undone.","test_type_next_reply":"Single Turn","test_type_simulation":"Multi Turn","test_type_hint":"Single Turn checks the next reply with an LLM judge. Tool checks whether a tool was called. Multi Turn is coming soon.","conversation":"Conversation","conversations_phone_number":"Phone number","conversation_hint":"The scripted history the agent sees. On run, the agent generates the next reply after the last message.","add_message":"Add message","message_placeholder":"What was said…","role_agent":"Agent","role_user":"User","judging":"Judging","judging_hint":"An LLM judge scores the generated reply against the expectation. Examples are optional and help calibrate the judge.","expectation":"Expectation","expectation_placeholder":"What must the reply do to pass?","success_examples":"Success examples","failure_examples":"Failure examples","add_example":"Add example","remove":"Remove","run":"Run","run_tab_hint":"Run the test against an agent — it generates the next reply and the LLM judge scores it.","run_current_agent_hint":"Run this test against the current agent. It generates the next reply and the LLM judge scores it.","select_agent":"Select an agent","run_no_agents":"Grant an agent access on the Access tab first.","judge_note":"LLM judge · expectation + {count, plural, =0 {no examples} one {# example} other {# examples}}","verdict":"Verdict","pass":"Pass","fail":"Fail","run_error":"Error","agent_reply":"Agent reply","judge_reasoning":"Judge reasoning","run_failed":"Test run failed.","test_saved":"Changes saved","add_tests":"Add tests","create_agent_test":"Create new test","choose_from_global_tests":"Choose from shared library","run_all":"Run all","last_result":"Last result","agent_tests_summary":"{count, plural, one {# test} other {# tests}} · {passed} passed, {failed} failed on last run","agent_tests_summary_with_errors":"{count, plural, one {# test} other {# tests}} · {passed} passed, {failed} failed, {errors} errors on last run","agent_tests_summary_never":"{count, plural, =0 {No tests} one {# test} other {# tests}}","no_tests_assigned":"No tests yet","no_tests_assigned_hint":"Create your first test to check how your agents reply in key moments.","remove_test_confirm":"Remove “{name}” from this agent? The test stays in the shared library.","used_by":"Used by","agent":"Agent","last_run":"Last run","run_running_status":"Running — generating the reply, then judging…","unsaved_changes":"You have unsaved changes","discard_changes_title":"Discard changes?","discard_changes_desc":"Your unsaved changes will be lost.","keep_editing":"Keep editing","discard":"Discard","conversation_settings":"Conversation","conversation_settings_hint":"How long calls can run and how quickly the agent takes its turn.","max_call_duration":"Max call duration","max_call_duration_hint":"Calls end automatically once they reach this limit.","duration_minutes":"{minutes} min","response_eagerness":"Response eagerness","eagerness_relaxed":"Relaxed","eagerness_balanced":"Balanced","eagerness_eager":"Eager","eagerness_relaxed_hint":"Relaxed waits longer and never talks over the caller.","eagerness_balanced_hint":"Balanced waits for a natural pause before replying.","eagerness_eager_hint":"Eager jumps in quickly for fast-paced calls.","allow_interruptions":"Allow interruptions","interruption_sensitivity":"Interruption sensitivity","reengage_after_silence":"Re-engage after silence","hangup_after_silence":"Hang up after silence","hangup_after_silence_hint":"Seconds of silence before the call ends automatically (10–3600).","hangup_farewell":"Say goodbye before hanging up","hangup_farewell_hint":"Speak a short goodbye before the idle hangup instead of ending silently.","sensitivity_low":"Low","sensitivity_balanced":"Balanced","sensitivity_high":"High","sensitivity_low_hint":"Ignores brief noises; takes a firm voice to stop the agent.","sensitivity_balanced_hint":"Stops for real speech, filters short backchannels.","sensitivity_high_hint":"Stops as soon as the caller starts speaking.","record_audio":"Record calls","record_audio_hint":"Save call audio for replay in Conversations.","timezone_label":"Time zone","timezone_hint":"Local time the agent uses for dates and times in conversation. Automatic follows each caller's device, falling back to UTC.","timezone_automatic":"Automatic","timezone_search":"Search timezones...","timezone_no_match":"No timezone found","conversation_recording":"Recording","conversation_play_recording":"Play recording","conversation_pause_recording":"Pause recording","conversation_recording_unavailable":"Recording unavailable","conversation_metadata":"Metadata","conversation_cost":"Cost","conversation_cost_free":"Free","test_type_tool":"Tool","test_tools":"Test tools","add_test_tool":"Add tool","change_test_tool":"Change tool","search_tools":"Search tools…","test_tools_empty_hint":"If left blank, the test will check that no tools were called.","test_tools_empty_library":"No tools in the shared library yet.","test_tools_group_webhook":"Webhook tools","test_tools_group_client":"Client tools","tool_should_be_called":"Should have been called","tool_should_not_be_called":"Should not be called","tool_parameters":"Tool parameters","tool_parameters_hint":"Optionally match the values passed to this tool.","add_parameter":"Add parameter","parameter_name":"Parameter name","parameter_value":"Value","parameter_type_string":"String","parameter_type_number":"Number","parameter_type_boolean":"Boolean","run_tab_tool_hint":"Run the test against an agent — it generates the next reply and checks the tool call.","run_current_agent_tool_hint":"Run this test against the current agent. It generates the next reply and checks the tool call.","tool_judge_note_none":"Tool check · no tools should be called","tool_judge_note_presence":"Tool check · expect {name}","tool_judge_note_absence":"Tool check · {name} should not be called","tool_match_details":"Match details","test_subtitle_tool_none":"Expect no tools","test_subtitle_tool_presence":"Expect {name}","test_subtitle_tool_absence":"Do not expect {name}","transfer_number_error":"Enter a number with country code like +14155550123, or leave empty.","beta_apply_title":"Voice Agents is in private beta","beta_apply_description":"Access is rolling out gradually. Tell us what you'd like to build and we'll use it to prioritize access and shape the product.","beta_apply_use_case_label":"What do you want to build with Voice Agents?","beta_apply_use_case_placeholder":"e.g. An agent that answers calls and books appointments for my restaurant","beta_apply_interview_label":"Fish Audio may contact me for a short follow-up chat about my use case","beta_apply_submit":"Submit application","beta_apply_submitted_title":"Application received","beta_apply_submitted_description":"Thanks! We review applications regularly and will enable access for your account as the beta expands.","llm_section":"Model","llm_section_hint":"The agent's reasoning power and response speed.","llm_model_request":"Request a model","llm_model_request_error":"Failed to submit. Please try again.","llm_model_request_hint":"Tell us which model you need.","llm_model_request_reason_label":"Reason or use case (optional)","llm_model_request_submit":"Submit request","llm_model_request_success":"Request submitted","llm_model_recommended":"Recommended","llm_model_surcharge":"+{price}/min","llm_tier_instant":"Instant","llm_tier_medium":"Medium","llm_tier_high":"High","llm_tier_max":"Max","conversation_model":"Model"},"api-keys":{"actions":"Actions","api_keys":"API Keys","api_keys_list":"API Keys List","api_list":"API List","api_total_cost":"API total cost","cancel":"Cancel","change":"Change","clear_filter":"Clear filter","concurrency_tier_base":"All keys share a concurrency limit of {limit}. Top up $100+ to unlock 15 concurrent requests, or top up $1000+ to unlock 50.","concurrency_tier_high":"All keys share a concurrency limit of {limit}. Contact us for custom limits and volume pricing.","concurrency_tier_mid":"All keys share a concurrency limit of {limit}. Top up $1000+ to unlock 50 concurrent requests.","copied_title":"Copied to clipboard","copy_api_key":"Copy API key","create":"Create","create_api_key":"Create API Key","create_new_secret_key":"Create Secret Key","create_token":"Create Token","created":"Created","delete":"Delete","delete-confirm-tips":"This action is irreversible and will disable any services using this token. Confirm to proceed.","delete-confirm":{"cancel":"Cancel","confirm":"Confirm"},"delete-success":"Delete Success","done":"Done","edit":"Edit","edit_token":"Edit Token","expiration":"Expiration","expiration_date":"Expiration Date","expiration_notification":"Expiration Notification","expire_30_days":"30 days","expire_7_days":"7 days","expire_90_days":"90 days","expired":"Expired","filter_all":"All","i_saved_my_key":"I've saved my key","id":"ID","key_name":"Key name","key_name_placeholder":"Name your API Key","key_shown_once_warning":"This key is shown only once. Copy it now and store it somewhere safe — you won't be able to see it again.","log_in_cta":"Log in","login_to_access_api":"Log in to access API","name":"Name","never":"Never","never_expire":"Never Expire","no_token_created_yet":"No token created yet","notification_tooltip_off":"Expiration notification: off","notification_tooltip_on":"Expiration notification: on","off":"Off","on":"On","pagination_range":"{from}-{to} of {total}","rows_per_page":"Rows per page","save_your_key":"Save your API key","search_name":"Search Name","secret_key":"Secret Key","setting":"Setting","status":{"active":"Active","expired":"Expired","title":"Status"},"view_usage":"View usage","warning_tips":"API keys are used for authentication and authorization in API requests. Ensure they are kept secure and not shared with unauthorized individuals."},"auth":{"and":" and ","continue":"Continue","continue-with-google":"Continue with Google","countless-character-sounds":"Countless character sounds","create-account-benefits":"Create a free account to enjoy unlimited generations and access to all models","dont_receive_code":"Didn't receive the code?","email_label":"Email","email-options":"Continue with Email","free-voice-generation":"Free voice generation","go_to_create":"Sign up","go_to_forgot":"Forgot password","go_to_login":"Go to login","has_account":"Has an account?","high-quality-audio-in-seconds":"High-quality audio in seconds","latest-ai-model":"Latest AI model","fine-grained-emotion-control":"Fine-grained emotion control","login_subtitle":"Enter your email and password to login your account","login_failed":"Login failed. Please try again.","login_title":"Login to your account","or":"Or continue with","password_label":"Password","password_mismatch":"Passwords do not match","password2_label":"Confirm Password","privacy_policy":"Privacy Policy","privacy_policy_start":"By clicking continue, you agree to our ","quote":"Accelerate audio generation","redirecting":"Redirecting...","resend_otp":"Resend OTP","send_otp":"Send","sign-in":"Sign in","sign-in-to-enjoy":"Sign in to enjoy unlimited voice","sign-up-to-enjoy":"Sign up to enjoy unlimited voice","submit_login":"Login","submit_register":"Register with Email","subtitle_email":"Enter your email below to create your account","subtitle_otp":"Check your email, we will send you a code to complete the verification","subtitle_password":"Please enter a password to secure your account","terms_of_service":"Terms of Service","terms_of_use":"Terms of Use","title_email":"Create an account","title_otp":"Verification Code","title_password":"Create Password","unlock-full-potential":"Unlock the Full Potential","oauth":{"title":"{client} wants to access your Fish Audio account","signed-in-as":"Signed in as {email}","permissions-title":"This will allow {client} to:","scope-mcp":"Use AI audio tools (speech generation, transcription, voice search) with your account credits","redirect-notice":"After approving, you will be redirected to {host}.","approve":"Approve","deny":"Deny","invalid-title":"Invalid authorization request","invalid-default":"This authorization request is invalid or the application is not registered."}},"collections":{"all_collections":"All Collections","bookmarks_title":"My Bookmarks","cancel":"Cancel","copy_link":"Copy Link","create":"Create","create_collection":"Create Collection","create_title":"Create Voice Collection","create-action":"Create","created_by_me":"Created by Me","creating":"Creating","delete":"Delete","delete_confirm":"Once the voice collection is deleted, it cannot be restored. Are you sure you want to delete it?","delete_title":"Delete Voice Collection","deleting":"Deleting","description":"Description","description_placeholder":"Voice Collection Description","edit":"Edit","edit_title":"Edit Voice Collection","follow":"Follow","followed":"Followed","followers":"Followers","header_title":"My Voice Collections","loading":"Loading...","models":"Models","collection_window_limited":"Showing the newest {count} voices. Older voices are outside this view's browsing window.","no_created_collection_tips":"No created voice collections found","no_created_collections":"No created collections yet","no_followed_collection_tips":"No followed voice collections found","no_followed_collections":"No followed collections yet","notification":{"create_success":"Successfully created voice collection","delete_success":"Successfully deleted voice collection","followed":"Followed Collection","link_copied":"Successfully copied collection link","unfollowed":"Unfollowed Collection","update_success":"Successfully updated voice collection"},"save":"Save","saving":"Saving","title":"Title","title_placeholder":"Voice Collection Title","title-created":"Created","title-followed":"Followed","unfollow":"Unfollow","voice_collections":"Voice Collections","remove_voice":"Remove","remove_voice_confirm_title":"Remove Voice","remove_voice_confirm_description":"Are you sure you want to remove this voice from the collection?","remove_voice_success":"Voice removed from collection","remove_voice_failed":"Failed to remove voice from collection","removing":"Removing..."},"contact-sales":{"metadata":{"title":"Contact Sales - Fish Audio","description":"Talk to Fish Audio about enterprise pricing, security review, and production-scale voice deployments.","subtitle":"Enterprise Voice"},"title":"Contact our sales team","description":"Tell us about your needs and we'll connect you with the right person or plan.","form":{"submit":"Submit","submitting":"Sending...","submitError":"Something went wrong saving your request, but we can still help you.","footnote":"By submitting, you agree that Fish Audio may contact you about your request using the email you provide.","fields":{"firstName":{"label":"First name","placeholder":"Ada"},"lastName":{"label":"Last name","placeholder":"Lovelace"},"workEmail":{"label":"Work email","placeholder":"name@company.com"},"jobTitle":{"label":"Job title","placeholder":"CTO"},"companyName":{"label":"Company name","placeholder":"Acme Inc."},"companyWebsite":{"label":"Company website","placeholder":"acme.com"},"interest":{"label":"What are you interested in?","placeholder":"Select an option","options":{"enterprise":"Enterprise plan","partnership":"Partnership inquiry","support":"Customer support / Other"}},"expectedVolume":{"label":"Expected monthly voice generation","placeholder":"Select a range","options":{"under_10m":"Under 10M characters (~10k minutes)","10m_66m":"10M – 65M characters (~10k–65k minutes)","66m_250m":"66M – 250M characters (~66k–250k minutes)","250m_1b":"250M – 1B characters (~250k–1M minutes)","over_1b":"Over 1B characters (~1M+ minutes)"}},"useCase":{"label":"Tell us about your use case","placeholder":"Describe your product, expected traffic, and what you'd like to achieve with Fish Audio."}},"validation":{"firstNameRequired":"Enter your first name.","lastNameRequired":"Enter your last name.","workEmailInvalid":"Enter a valid work email.","jobTitleRequired":"Enter your job title.","companyNameRequired":"Enter your company name.","companyWebsiteRequired":"Enter your company website.","companyWebsiteInvalid":"Enter a valid URL.","interestRequired":"Select what you are interested in.","expectedVolumeRequired":"Select your expected monthly volume.","useCaseTooShort":"Please provide more detail about your use case.","useCaseTooLong":"Use case is too long.","fieldTooLong":"This field is too long."}},"postSubmit":{"selfServe":{"title":"Thanks for your interest!","description":"Based on your expected usage, our self-serve plans are a great fit. Get started in minutes — no sales call needed.","cta":"View plans & get started","fallback":"Need custom terms? <link>Contact us directly</link>"},"support":{"title":"We're here to help","description":"For support inquiries, our dedicated team can assist you faster through our support portal.","cta":"Go to support"},"booking":{"title":"Book a call with our team","description":"Pick a time that works for you. We'll discuss your requirements and tailor a plan for your needs.","cta":"Schedule a Call","fallback_prefix":"Can't find a suitable time? Email us at","unavailable_description":"Our booking calendar is temporarily unavailable. Email us and we'll find a time together.","email_cta":"Email Us to Schedule"},"booked":{"title":"You're all set!","description":"We've sent a calendar invite to your email. Looking forward to speaking with you.","cta":"Back to home"}}},"enterprise-portal":{"page":{"title":"Enterprise","description":"Invoices, usage and credits under your enterprise agreement","intro":"Your team is billed under an enterprise agreement. Invoices, usage and credit balances for the agreement live on this page.","recharge_note":"Self-serve top-ups and auto-recharge are disabled for invoice-billed teams — usage is invoiced under your contract terms instead."},"redirect":{"title":"Your team is on an enterprise agreement","body":"Invoices, usage and credits now live in the Enterprise section. Self-serve top-ups are disabled for invoice-billed teams; usage is invoiced under your contract terms.","cta":"Open Enterprise"},"assessment":{"title":"Quarterly commitment","description":"Your agreement's quarterly minimums, banked excess and true-up credits","current_quarter":"Current quarter (Q{q})","banked_balance":"Banked excess","banked_hint":"Consumption above a quarter's minimum counts toward later quarters' minimums.","credits_title":"True-up credits","credit_expires":"expires {date}"}},"create-voice":{"title":"Create Voice","pick-a-method":"Pick a method","instant":{"title":"Instant Voice Clone","description":"Upload or record 10s of audio, clone it instantly.","badge-duration":"~1min","badge-tag":"Best for existing recordings"},"voice-design":{"title":"Voice Design","description":"Describe the voice in plain text.","badge-duration":"~15s","badge-tag":"Best for original characters"},"professional":{"title":"Professional Voice Clone","description":"Verified, real-person, studio-quality voice with optional commercial release & revenue share.","badge-duration":"1-2hrs","badge-tag":"Studio quality","slots-used":"{used}/{total} slots used"}},"customers":{"title":"Customer stories","facts":{"industry":"Industry","region":"Region","useCase":"Use case","audience":"Audience","deployment":"Deployment","status":"Status","migratedFrom":"Migrated from","voiceStack":"Voice stack","language":"Languages","readingTime":"Reading time"},"quotes":{"cases":{"dubbing":{"customer":{"speaker":{"name":"Tiange Ling","role":"CEO of Dubbing AI"},"quote":"Fish Audio delivers exceptional voice naturalness, rich emotional expression, and reliable low-latency TTS that perfectly underpin our core Voice Agent product experience."},"fish":{"speaker":{"name":"Rissa Cao","role":"CEO of Fish Audio"},"quote":"Voice agents are the use case where every voice AI tradeoff gets exposed. You can't be fast and flat, or expressive and slow. The agent has to sound real, in real time, in the user's language. Dubbing AI is building the version of this that's hardest: a voice that speaks for the user when they can't or don't want to speak themselves. The bar is identity-level realism, and that's the bar we built S2 Pro to clear."}},"heygen":{"customer":{"speaker":{"name":"John Wu","role":"Audio Engineering Manager for HeyGen"},"quote":"Fish is a fantastic voice model for maximizing voice similarity for very unique voices."},"fish":{"speaker":{"name":"Rissa Cao","role":"CEO of Fish Audio"},"quote":"HeyGen is where voice cloning quality matters most. Knowledge creators don't need a voice that sounds like them: they need a voice that sounds like them, accent and all. That bar, the bar that flattens most TTS models when they leave American English, is exactly what we built S2 Pro to clear. Watching HeyGen's users pick Fish three-to-one in side-by-side tests is the validation we built the model for."}},"pictoria":{"customer":{"speaker":{"name":"Hayato Akedo","role":"CEO of Pictoria"},"quote":"Fish Audio is consistently pushing the frontier of the high-quality voice generation expected in the Japanese market. We believe voices with this level of emotional nuance and character expression can only be created by a team that genuinely loves character-driven content. Thank you for building such an outstanding TTS technology."},"fish":{"speaker":{"name":"Shijia Liao","role":"Chief Scientist of Fish Audio"},"quote":"Japanese AI characters are the use case that demands the most from a voice model. Pronunciation accuracy isn't enough. The voice has to carry character: the specific emotional register, the moment of pause, the warmth that makes someone feel like a person rather than sound like one. Pictoria sets that bar higher than almost any team we work with, and being part of Picto VOICE pushes our model further every release."}}}},"about":{"cases":{"dubbing":{"title":"About Dubbing AI — 10 million users across voice creation, cloning, and changing.","body":{"first":{"before":"Dubbing AI is a local-end AI voice technology product offering one-stop voice creation, voice cloning, and real-time voice changing across desktop and mobile. The platform serves over 10 million users globally across three core audiences: ","emphasis":"content creators and streamers, individual entertainment users, and commercial users including advertising agencies and media companies.","after":""},"second":"Dubbing AI is the voice layer for gamers, streamers, and brand creators who need to shape, change, or clone voice in real time across the platforms they live on."}},"heygen":{"title":"About HeyGen — AI video for knowledge creators.","body":{"first":"HeyGen is the leading AI video platform for knowledge-based creators — the educators, course builders, business communicators, and content creators who turn expertise into video at scale. The platform lets creators produce professional AI-generated video without studio equipment, professional voice talent, or weeks of production time.","second":"Voice sits at the center of every video HeyGen produces. For a knowledge creator whose audience already knows their voice, the AI voice has to be their voice — not a generic narrator, not a close approximation, but the actual voice with the actual accent that audiences recognize. That bar is the bar voice cloning for AI video has to clear."}},"pictoria":{"title":"About Pictoria — AI characters and original IP for the Japanese market.","body":{"first":{"before":"Pictoria is a Japanese AI character company building both AI character projects with voice talent and original AI character IPs developed in-house. At the center of every Pictoria production sits ","emphasis":"Picto VOICE ","after":"— an internal voice system that combines multiple Japanese TTS technologies and selects the right one per character."},"second":"Voice isn't a feature of the AI character experience. For Pictoria, voice is the AI character experience."}}}},"dubbingStory":{"voiceAgent":{"title":"Introducing the Voice Agent — an agent that speaks for you.","body":{"first":"Dubbing AI's newest feature — the Voice Agent — extends the platform's voice toolkit from voice changing to voice speaking. Instead of changing the user's own voice, the Voice Agent speaks for the user.","second":"The use cases are immediate and human. When a gamer is in the middle of an argument and doesn't want to escalate, the Voice Agent can speak for them. When someone is too tired to make a phone call reservation, the Voice Agent makes it. When someone is shy, occupied with work, or temporarily unavailable to communicate, the Voice Agent enables them to interact with others in real time.","third":{"before":"It's an extension of Dubbing AI's product mission across every feature on the platform — voice changing, accent refinement, real-time translation, and now Voice Agent: ","emphasis":"help people communicate more smoothly and express themselves more effectively. ","after":"Voice Agent stretches that mission into the situations where speaking for oneself isn't possible or isn't ideal."},"fourth":"For the Voice Agent to work, the AI's voice has to feel real. The hearing party — the gaming opponent, the restaurant host, the person on the other end of the line — should feel like they're talking to a real person, not an obviously synthesized voice. That's where Fish Audio came in."}},"challenge":{"title":"The challenge of real-time TTS for voice agents: latency vs naturalness.","body":{"first":{"before":"Voice agents make voice AI's hardest tradeoff visible. Real-time TTS for voice agents has to balance latency against naturalness and emotion, and most providers force a choice. ","emphasis":"Low-latency models tend to sound flat and machine-like; expressive models tend to introduce processing delays that break conversational flow.","after":""},"second":"For the Dubbing AI Voice Agent, both factors are equally critical. A Voice Agent that pauses noticeably between user input and spoken response breaks the illusion that the hearing party is talking to a real person. A Voice Agent that responds instantly but sounds robotic breaks the same illusion in a different direction. The deciding factor isn't either alone — it's the combination."}},"evaluation":{"title":"Why Dubbing AI evaluated the TTS market for voice agent  infrastructure.","body":{"first":{"before":"Dubbing AI evaluated multiple TTS audio workflows before settling on Fish Audio. The evaluation criteria mapped directly to the structural demands of TTS for voice agents: ","emphasis":"naturalness, emotional depth, voice cloning quality, low latency, and multilingual support ","after":"— five capabilities most providers deliver on two or three of, but rarely all five."},"second":"For a Voice Agent serving 10 million users across gaming, entertainment, and commercial use cases, a model that nailed naturalness but failed on multilingual was disqualified. A model that nailed latency but flattened emotion was disqualified. The Voice Agent use case forced an all-five-or-nothing evaluation."}},"criteria":{"title":"Why Fish Audio won the Voice Agent evaluation — all five criteria.","intro":"Fish Audio stood out for the combination Dubbing AI couldn't find anywhere else: all five capabilities at the level a real-time voice agent demands. The single-criterion winners every other provider produced disqualified them from the Voice Agent use case. Fish was the only model that earned its place across every evaluation dimension.","items":{"naturalness":{"title":"Naturalness","description":"Voice output that sounds like a real person speaking — not a synthesizer reading."},"emotion":{"title":"Emotional depth","description":"Emotional register that carries across an utterance — the layer most low-latency models flatten."},"cloning":{"title":"Voice cloning quality","description":"Cloned voices that maintain identity across content, important across Dubbing AI's creator and entertainment audiences."},"latency":{"title":"Low latency","description":"Real-time response without noticeable processing delay — the table-stakes constraint for any conversational agent."},"multilingual":{"title":"Multilingual support","description":"80+ languages with native code-switching, required for a Voice Agent serving a global user base."}}},"usage":{"title":"How Dubbing AI uses Fish Audio for real-time voice agent TTS.","body":{"first":"Dubbing AI deploys Fish Audio via the cloud API for real-time text-to-speech generation inside the Voice Agent feature. As users compose the text they want the Voice Agent to speak, Fish converts it to natural, emotionally expressive voice output in real time — across the languages and accents Dubbing AI's global user base requires.","second":{"before":"The Voice Agent runs cross-platform on both desktop and mobile, matching the rest of the Dubbing AI platform's coverage. ","emphasis":"The Voice Agent is preparing for beta release to the platform's gamer audiences first ","after":"— the user segment with the strongest demand for the use cases Voice Agent was built for. Internal testing results have been very positive heading into beta."}}},"outcomes":{"title":"Outcomes from the integration.","products":"Products used: Fish Audio S2 Pro · Text-to-Speech (cloud API)","cards":{"users":"10M+ users on Dubbing AI's broader platform across gaming, streaming, and commercial creators.","criteria":"5 of 5 evaluation criteria met by Fish Audio: naturalness, emotional depth, cloning quality, low latency, multilingual.","beta":"Voice Agent beta launching to gamer audiences first, with positive internal testing results.","deployment":"Cross-platform deployment on desktop and mobile, matching the full Dubbing AI surface."}}},"heygenStory":{"problem":{"title":"The voice cloning problem with ElevenLabs for non-American English accents.","body":{"first":{"before":"Before evaluating Fish Audio, HeyGen was using ElevenLabs for the TTS layer of its AI video generation pipeline. The platform worked. The voices were intelligible. But one structural problem kept surfacing in user feedback: ","emphasis":"voice similarity issues, especially for creators with non-American English accents.","after":""},"second":"Knowledge creators speak with the accents they have. Australian creators sound Australian. Indian creators sound Indian. British, South African, Singaporean, Irish, Scottish, Filipino, Caribbean — the accent landscape of global English isn't an edge case for HeyGen, it's the shape of the international creator base.","third":"A TTS that produces strong American English but flattens every other accent into something closer to neutral American breaks the core promise of voice cloning for AI video: that the AI video sounds like you. HeyGen's users with non-American English accents were complaining about accent maintenance. The voice clones weren't preserving the accent identity creators expected."}},"evaluation":{"title":"Why HeyGen evaluated the entire TTS market for accent preservation.","body":{"first":"HeyGen evaluated the entire TTS market to solve the non-American English accent problem. TTS for non-American English accents wasn't a feature comparison — it was an existential evaluation criterion for the platform's international creator base.","second":{"before":"Across providers tested, the gap between American English voice cloning quality and non-American English voice cloning quality was consistent — and consistent in the wrong direction. Most TTS models were trained American-English-first, then adapted for other accents. The adaptation showed up as ","emphasis":"flattened prosody, neutralized vowels, and a distinct loss of accent identity ","after":"in cloned voices."}}},"selection":{"title":"Why HeyGen chose Fish Audio for voice cloning quality.","body":{"first":{"before":"Fish Audio earned HeyGen's selection on one criterion above all others: ","emphasis":"voice cloning quality for unique voices, particularly voices with non-American English accents.","after":" The Fish S2 Pro model preserves the accent identity of the source voice rather than normalizing toward an American English baseline — the specific failure mode HeyGen's testing had surfaced across other providers."},"second":{"before":"For HeyGen, this isn't a technical detail. It's the difference between a knowledge creator's audience hearing the creator they recognize and hearing a synthesized stranger. ","emphasis":"Voice cloning quality,","after":" not latency or cost, was the deciding factor."}}},"usage":{"title":"How HeyGen uses the Fish Audio cloud API for AI video voice generation.","body":"HeyGen deploys Fish Audio via the cloud API, generating TTS for the videos HeyGen's customers produce on the platform. The integration is production-scale: every video that a knowledge creator publishes through HeyGen using a Fish-powered voice runs through Fish's S2 Pro model."},"feedback":{"title":"What knowledge creators are saying about voice quality.","intro":"The most telling user signal isn't praise — it's silence on what was previously the loudest complaint. Three signals from HeyGen's creator base since the migration:","items":{"selection":{"title":"The 3:1 selection rate","description":"In side-by-side voice tests on HeyGen, creators pick Fish for their own videos three times more often than alternatives."},"accent":{"title":"Emotional depth Accent complaints ceased","description":"Creators with non-American English accents have stopped complaining about accent maintenance — the loudest pre-migration ticket."},"quality":{"title":"Positive voice quality feedback","description":"Voice cloning quality across HeyGen's international knowledge creator base has caught up to what audiences already know."}}},"outcomes":{"title":"Outcomes from the integration.","products":"Products used: Fish Audio S2 Pro · Text-to-Speech (cloud API)","cards":{"selection":"3:1 user selection rate for Fish Audio over alternative TTS providers in side-by-side comparisons on HeyGen.","complaints":"Non-American English accent complaints ceased across HeyGen's international creator base.","evaluation":"Entire TTS market evaluated before selecting Fish Audio — accent preservation was the deciding factor.","migration":"Migrated from ElevenLabs to Fish Audio for voice cloning quality."}}},"pictoriaStory":{"challenge":{"title":"The challenge of Japanese AI character voice: prosody, emotion, and consistency.","body":{"first":"Japanese AI character voice has a bar most TTS models can't cross. Naturalness and pronunciation accuracy are table stakes; the deciding factors are emotional expressiveness across a single utterance, accurate Japanese prosody and pitch-accent, and voice consistency across long-form character content.","second":{"before":"Generic TTS readouts pass benchmark tests but break the suspension of disbelief that AI character experiences depend on. For Pictoria, the two persistent gaps in available Japanese TTS for AI characters were ","emphasis":"emotional expressiveness and natural Japanese prosody at the character level ","after":"— both essential for the company's growing roster of original AI character IPs."}}},"stack":{"title":"Inside Picto VOICE: Pictoria's multi-vendor Japanese TTS stack.","body":{"first":"Rather than commit the entire character voice surface to a single provider, Pictoria built Picto VOICE as an internal orchestration layer that integrates multiple Japanese voice AI technologies. Each character and use case selects the right voice generation component from the stack.","second":"This architecture protects Pictoria against vendor lock-in, lets the team evaluate new Japanese voice AI models continuously, and ensures the best technology — for that character, for that scene, for that emotional register — is always the one in production. Fish Audio earned a place in Picto VOICE alongside the other voice technologies the team integrates."}},"selection":{"title":"Why Fish Audio earned a place in Picto VOICE.","body":{"intro":"Pictoria evaluated Fish Audio as one of several voice generation technologies under consideration for Picto VOICE. Three things drew the team in:","expressiveRange":{"title":"Expressive range of character-style voices ","description":"— particularly the ability to carry emotional nuance across a single utterance. The move that separates a character voice from a narrator."},"japaneseQuality":{"title":"Expressive Japanese TTS quality","description":" at the level of prosody and intonation, not just phoneme accuracy."},"flexibility":{"title":"Flexibility in character voice design ","description":"— the ability to shape voices that fit a specific character brief rather than picking from a fixed library."},"partnership":"What stood out beyond the model itself was the responsiveness of the Fish Audio team to Japanese AI character voice needs — the kind of partnership that turns a vendor relationship into a working collaboration with the research team behind the model."}},"usage":{"title":"How Pictoria uses Fish Audio for Japanese AI character voice production.","body":{"first":"Inside Picto VOICE, Fish Audio is used particularly for AI character use cases where strong character-level expressiveness is the deciding factor. A representative deployment is Pictoria's AI character voice production pipeline for original Pictoria AI character IPs — the in-house IPs the company develops and operates on its own publication channels.","second":"Integrating Fish Audio into Picto VOICE produced strong impact and positive reception across these AI character projects."}},"reception":{"title":"Audience reception of Japanese AI character voices powered by Fish Audio.","intro":"User reception of the Japanese AI character voices produced through Picto VOICE has been positive across three consistent themes:","items":{"selection":{"title":"Naturalness beyond the TTS register","description":"Japanese voices that sound like Japanese voices, not the synthetic flatness audiences have come to expect from generic TTS."},"accent":{"title":"Emotional expressiveness that brings characters to life","description":"Characters with real emotional register, not lines being read aloud. The deciding difference for character-driven content."},"quality":{"title":"Consistency across long-form character content","description":"The same voice, the same character, holding together across hours of content rather than drifting between sessions."}}},"outcomes":{"title":"Outcomes from the integration.","products":"Products used: Fish Audio S2 Pro · Text-to-Speech","cards":{"improvements":"Meaningful improvements in Japanese response speed and emotional expressiveness within Picto VOICE.","reception":"Strong positive reception across original Pictoria AI character IPs.","collaboration":"Active collaboration on the Japanese character voice frontier; quantitative metrics held confidential per IP agreements."}}},"sharedClosing":{"cta":{"primary":"Talk to sales","secondary":"See Fish for Enterprise"},"cases":{"dubbing":{"next":{"title":"What's next for Dubbing AI and Fish Audio.","description":"As the Voice Agent moves from beta to general availability across Dubbing AI's 10 million users, Fish Audio remains the real-time TTS layer powering the experience. Future expansions of the Voice Agent (into more languages, more situations, and more cross-platform contexts) ship alongside Fish's continuing model improvements."},"cta":{"title":{"before":"Building a ","emphasis":"voice agent","after":"？"},"description":"Talk to our team about real-time TTS that balances naturalness, emotional depth, latency, and multilingual support — the five-way combination voice agents demand."}},"heygen":{"next":{"title":"What's next for HeyGen and Fish Audio.","description":"As HeyGen continues to expand its global knowledge creator base, Fish Audio remains the voice quality layer behind the AI video. New accent expansions, new languages, and new voice cloning capabilities ship together as HeyGen scales internationally."},"cta":{"title":{"before":"Building ","emphasis":"voice cloning","after":" products?"},"description":"Talk to our team about voice similarity for unique voices, non-American English accent preservation, and production-scale cloud API integration."}},"pictoria":{"next":{"title":"What's next for Japanese AI character voice with Pictoria and Fish Audio.","description":"As Pictoria continues to expand its in-house AI character IPs and the Picto VOICE stack evolves, Fish Audio remains a partner in the Japanese character voice surface. The Japanese AI character market is growing, expectations are rising release-by-release, and the bar for character voice quality continues to lift with every new title."},"faq":{"title":"Frequently asked questions.","items":{"good":{"question":"What makes a good TTS for Japanese AI characters?","answer":"Three things separate Japanese character TTS from generic Japanese TTS: emotional expressiveness across a single utterance, accurate Japanese prosody and pitch-accent rather than phoneme-only accuracy, and voice consistency across long-form character content. Pictoria's Picto VOICE selects voice technologies on these criteria for each character, with Fish Audio earning a place for character-level expressiveness."},"prosody":{"question":"Can Fish Audio handle Japanese prosody and emotional expressiveness?","answer":"Fish Audio's S2 Pro model is trained with native Japanese prioritization and supports open-domain emotion control: natural-language emotion direction at the per-utterance level, which is the layer Pictoria identified as the deciding factor for character voices."},"stack":{"question":"Does Fish Audio support multi-vendor voice stacks?","answer":"Yes. Fish is designed to integrate into customer-built orchestration layers like Pictoria's Picto VOICE, alongside other voice technologies. API integration is the standard path; on-prem deployment is available for regulated customers."},"languages":{"question":"What other Asian languages does Fish Audio support?","answer":"Beyond Japanese, Fish supports Mandarin, Cantonese, Korean, and code-switching across English, Mandarin, Japanese, Spanish, and Arabic among 80+ languages."},"compare":{"question":"How does Fish Audio compare to ElevenLabs for Japanese character voices?","answer":"Both providers offer Japanese support. Fish Audio prioritizes native Japanese training and offers open-domain natural-language emotion control rather than fixed emotion presets: the difference Pictoria's team called out during evaluation."}}},"cta":{"title":{"before":"Building voice products in ","emphasis":"Japanese?","after":""},"description":"Talk to our team about character voice, prosody control, and integration into multi-vendor stacks like Picto VOICE. We come prepared."}}}},"cases":{"dubbing":{"title":"Real-time Voice Agent TTS for 10 million users.","description":"How Dubbing AI built its Voice Agent on Fish Audio — the only TTS that delivered all five capabilities a real-time agent demands: naturalness, emotional depth, voice cloning quality, low latency, and multilingual support.","facts":{"industry":"Consumer · Gaming · Entertainment","region":"Global","useCase":"Voice Agent (real-time TTS)","audience":"10M+ users","deployment":"Cloud API · desktop & mobile","status":"Voice Agent in beta"},"metric":{"value":"10M","suffix":"+","description":"Across gaming, streaming, and entertainment — the scale at which a voice agent has to feel real in real time, in the user's language."}},"heygen":{"title":"Voice cloning for AI video, 3-to-1 over alternatives.","description":"How HeyGen migrated from ElevenLabs to Fish Audio to solve voice similarity issues with non-American English accents — and watched users pick Fish three-to-one in side-by-side comparisons.","facts":{"industry":"AI Video / Creator Tools","region":"Global","useCase":"Voice cloning for AI video","migratedFrom":"ElevenLabs","deployment":"Cloud API","readingTime":"4 min"},"metric":{"value":"3:1","suffix":"×","description":"Selection rate for Fish Audio over alternative TTS providers in side-by-side user comparisons on HeyGen."}},"pictoria":{"title":"Japanese AI character voice for Picto VOICE.","description":"How Pictoria integrates Fish Audio into Picto VOICE — their internal multi-vendor stack — for character-level expressiveness across Japanese AI character productions.","facts":{"industry":"Media & Entertainment","region":"Japan","useCase":"AI character voice production","voiceStack":"Component in Picto VOICE","language":"Japanese","readingTime":"3 min"},"metric":{"value":"0","suffix":"Drift","description":"Across hours of long-form character content — the zero-drift audio reliability required to maintain the suspension of disbelief for Japanese AI character IPs."}}}},"discovery":{"add_to_collection":"Add to Collection: {title}","add_to_collection_action":"Add to Collection","ai-generated-warning":"AI-generated from user contents.","all_tags":"All tags","anime_collection":"Anime Collection","audio_samples":"Audio Samples","back_to_top":"Back to Top","banner":{"button":{"api-keys":"API Keys","docs":"Documentation"},"subtitle":"Create & Use Voice","title":"Text To Speech APIs"},"browse_banner":"Discover the most realistic and expressive AI voices ready to use in your next project","cinematic_collection":"Cinematic Collection","clear_all":"Clear All","clone_failed":"Clone Failed","clone_model":"Clone Model","clone_success":"Clone Success","collaboration":"Collaboration","conversational_collection":"Conversational Collection","copied_title":"Copied to clipboard","copy_model_id":"Copy Model Id","create_new_collection":"Create New Collection","default_voices_collection":"Default Voices","documentary_collection":"Documentary Collection","edit":"Edit","educational_collection":"Educational Collection","end_list":"You've reached the end of the list,","energetic_collection":"Energetic Collection","filter":{"apply":"Apply","language":{"all":"All Languages","disabled_hint":"Multiple languages selected. Use the filter button to edit.","en":"English","match_all_hint":"Models must match all selected languages","no_results":"No languages found","placeholder":"Select languages","search":"Search languages","selected":"languages","title":"Language","title_plural":"Languages","zh":"Chinese"},"tags":{"placeholder":"Select tags","title":"Tags"},"title":"Select"},"footer_tagline":"Find a voice to be heard...","gaming_collection":"Gaming Collection","header":{"description":"Search 2M+ AI voice models across languages, styles, and use cases.","title":"Explore Our AI Voice Library"},"list":"List of Models","models":"Models","narration_collection":"Narration Collection","no_audio_sample":"No audio sample","no_results":"No models found","notification":{"added_to_collection":"Successfully added to collection"},"official_community":"Join Our Community","our_trusted_partners":"Trusted By Industry Leaders","play":"Play","preview_sample":"Preview the generated voice","quick_search":"Quick Search","dispute":{"title":"Voice Ownership Dispute","model":"Model","step_of":"Step {current} of {total}","claimant_type":"Claimant Type","filing_as":"I am filing as","select_models_subtitle":"select the infringing voice models","select_models_title":"Select Infringing Voice Models","search_models_placeholder":"Search by model name","search_models_empty":"No models found","select_models_limit":"You can select up to 10 models.","remove_model":"Remove model","individual_title":"Individual","individual_desc":"I am the original creator or the sole owner of the copyright identity being infringed.","representative_title":"On Behalf of Someone","representative_desc":"I am filing for the voice owner with their permission (e.g., their agent, manager, or family member).","enterprise_title":"Enterprise / Organization","enterprise_desc":"I am filing on behalf of a company, brand, agency, or organization.","cancel":"Cancel","back":"Back","next":"Next","identity_verification":"Identity Verification","full_legal_name":"Full Legal Name","full_legal_name_placeholder":"John Doe / Acme Corp Ltd.","contact_email":"Contact Email","contact_email_placeholder":"legal@yourdomain.com","contact_email_hint":"This email will be used for official legal correspondence regarding this dispute.","contact_email_invalid":"Please enter a valid email address.","supporting_links":"Supporting Links","supporting_links_placeholder":"https://x.com/your_handle or YouTube channel URL...","add_link":"Add link","remove_link":"Remove link","supporting_links_hint":"Links to your verified social profiles or original audio sources.","supporting_links_invalid":"Please enter valid URLs starting with http:// or https://.","upload_evidence":"Upload Supporting Evidence","upload_title":"Upload Proof","upload_supported":"Supported: PDF, JPG, PNG (Max 10MB per file)","upload_button":"Upload","upload_hint":"Upload proof of the voice owner's ownership (e.g., verified social media backend screenshots or original audio sources), along with their authorization (e.g., a signed letter of authorization).","individual_upload_title":"Upload Proof","individual_upload_hint":"Upload proof of ownership, such as verified social media backend screenshots or original audio sources.","verify_fallback_hint":"Unable to complete voice verification? Upload proof of ownership below, then you can submit directly.","verify_evidence_ready_hint":"Proof uploaded — you can submit without completing voice verification.","remove_file":"Remove file","additional_context":"Description","additional_context_placeholder":"Please provide any additional details, background, or specific context regarding your ownership claim to help our team speed up the review process.","declaration":"I declare under penalty of perjury that the information provided in this form is accurate, and that I am the rightful owner or authorized representative of the voice identity in question. I understand that submitting false claims may lead to legal consequences.","submit":"Submit Takedown Request","submit_short":"Submit","submit_success":"Submission successful. We will review your report shortly.","step_placeholder":"This step is coming soon.","enterprise_company_name":"Company & Representative Name","enterprise_company_name_placeholder":"Acme Corp (Attn: Legal Department)","enterprise_contact_email_hint":"Please provide an official corporate email address for legal correspondence.","enterprise_links":"Official Website & Rightsholder Links","enterprise_links_placeholder":"e.g., https://www.company.com/music-catalog","enterprise_links_hint":"Links to the company's official catalog or copyrighted audio source.","enterprise_upload_title":"Upload Entity Authorization & Proof","enterprise_upload_hint":"Please upload a signed authorization document (e.g., a signed Power of Attorney or letter of authorization) if you are filing on behalf of the rightsholder.","voice_verification":"Voice Verification","verify_prompt_hint":"Please read the sentence below aloud to verify your voice.","verify_record":"Record","verify_upload":"Upload","verify_stop":"Stop","verify_recording":"Recording...","verify_verifying":"Verifying...","verify_success":"Voice verified successfully.","verify_failed":"Verification failed. Please try again.","verify_low_score":"Voice verification did not pass. A new sentence has been generated, please record again.","verify_refresh_prompt":"Try another sentence","verify_mic_error":"Unable to access microphone. Please check permissions.","file_too_large":"File exceeds the 10MB size limit.","file_type_invalid":"Only PDF, JPG, and PNG files are supported.","file_too_many":"You can upload up to 10 files.","submit_failed":"Submission failed. Please try again."},"report":{"action":"Report","copyright_complaint":"Copyright Complaint","other_issues":"Other Issues","cancel":"Cancel","comment":{"min":"20 characters minimum","placeholder":"Type your message...","title":"Comment (20 characters minimum)"},"reason":{"copyright":"Copyright Infringement","not_work":"Not Work","other":"Other","title":"Why are you reporting this model?"},"save":"Save","title":"Report Model"},"reset":"Reset","search_placeholder":"Search Voice","sexy_collection":"Sexy Collection","sort":{"count":"Recommended","new":"Newest","title":"Sort by","trending":"Trending"},"take-down":"Take Down","title":"Discovery","todays_pick":"Today's Pick","top_brands":{"kol_count":"300k+ kol","title":"Top Brands That Collaborate With Us"},"top_recommended":"Top Recommended","top_trending":"Top Trending","top_voices":"Top Voices","trending_ugc":"Trending Voices","try_voice":"Try this voice","use":"Use","use_voice":"Use Voice","view_in_app":"View in App","view_more":"More","pvc_delete_disabled_tooltip":"This voice was created via Professional Voice Clone and cannot be deleted here."},"generation-history":{"title":"Generation History","tabs":{"all":"All","audio":"Audio","image":"Image","video":"Video"},"kinds":{"audio":"Audio","image":"Image","video":"Video"},"types":{"tts":"Text to Speech","image-video":"Image & Video","lip-sync":"Lip sync","sound-effect-generation":"Sound Effects","voice-changer":"Voice Changer","audio-separation":"Audio Separation","studio":"Studio"},"filter":{"generationType":"Generation Type","allTypes":"All types","clearType":"Clear type filter"},"search":{"toggle":"Search","placeholder":"Search generations","clear":"Clear search"},"view":{"grid":"Grid view","list":"List view"},"items":"{count, plural, one {# item} other {# items}}","empty":{"title":"No generations yet","subtitle":"Your generations will appear here.","cta":"Start creating"},"noResults":{"title":"No generations found","subtitle":"Try adjusting your search query","cta":"Clear filters"},"loadError":"Couldn't load History.","tryAgain":"Try again","loading":"Loading History","loadingMore":"Loading more","noMore":"No more generations","play":"Play audio","pause":"Pause audio","close":"Close","download":"Download","actions":{"share":"Share","sharePreparing":"Creating share link…","preparing":"Preparing…","downloadPreparing":"Preparing download…","shareUnsupported":"Share isn't supported for {type} yet","delete":"Delete","deleteUnsupported":"Delete isn't supported for {type} yet","more":"More actions","useAsPrompt":"Use as prompt","recreate":"Recreate"},"deleteConfirm":{"title":"Delete this item?","body":"This action cannot be undone. This item will be permanently deleted.","cancel":"Cancel","confirm":"Delete"},"deleteFailed":"Couldn't delete. Please try again.","downloadFailed":"Couldn't download. Please try again.","selection":{"count":"{count, plural, one {# item selected} other {# items selected}}","clear":"Clear selection","selectAll":"Select all"},"batchDelete":{"title":"Delete {count, plural, one {# selected generation} other {# selected generations}}?","body":"This action cannot be undone. The selected generations will be permanently deleted."},"batchDownloading":"{count, plural, one {Downloading # item…} other {Downloading # items…}}","batchDownloaded":"{count, plural, one {# item downloaded.} other {# items downloaded.}}","batchDownloadFailed":"{count, plural, one {# item couldn't be downloaded.} other {# items couldn't be downloaded.}}","batchToggle":"Batch select","batchExit":"Exit batch selection","authGate":{"title":"Sign in to continue","description":"Sign in to view your generation history.","cta":"Sign in"}},"help":{"account":{"a1":"Credits are a flexible currency that can be spent on any feature across the Fish Audio platform. The exact cost depends on the feature and the voice model selected.\n\nOn monthly or annual plans your credit balance is refilled on the same calendar date each month, based on your tier. Unused credits do not roll over.\n\nIf you downgrade or cancel, your current plan remains active until the end of the billing cycle; any unused credits expire at that point.\n\nAPI credits are sold separately. For purchase instructions see [API documentation](https://docs.fish.audio/developer-platform/getting-started/introduction)","a10":"Yes. You can downgrade at any time on the [Plans page](https://fish.audio/app/team). The downgrade takes effect at the start of your next billing cycle (monthly or annual). Until then, you'll continue to receive the credits and features of your current plan.","a11":"Upgrade: Additional credits from the new plan are applied immediately.\nDowngrade: You keep all remaining credits until the current cycle ends. At the next refill, your quota adjusts to the lower amount of your new plan.","a12":"You can cancel subscription renewal on the Plans page. You'll keep any remaining credits and features until the end of your billing period. After that, your subscription expires automatically and no further charges will be made.","a13":"Your current plan's renewal or expiration date is displayed on the [Plans page](https://fish.audio/app/team).","a14":"Simply visit the [Plans page](https://fish.audio/app/team) and select your preferred plan. Your subscription will be reactivated immediately.","a15":"No. Accounts created with Google Sign-In remain permanently linked to that Google account. Deleting the account will not release the same email for reuse.","a16":"No. Accounts created with GitHub Sign-In remain tied to that GitHub identity. As with Google accounts, deleting the account will not allow reuse of the same email.","a17":"Email and password accounts: Go to Profile → Settings → Change Password.\nGoogle or GitHub accounts: Change your password directly through the security settings of Google or GitHub. Fish Audio does not manage these credentials.","a2":"The exact credit cost is always displayed in the interface before you confirm a generation. Costs may change as models evolve, so please refer to the app for the most accurate, real-time information.\n\n| TTS Model | Cost per Byte |\n| --- | --- |\n| s1 | 1 credit per byte |\n| v1.6 | 0.5 credit per byte |\n| v1.5 | 0.5 credit per byte |\n\nFor text-to-speech (TTS) features, each Fish Audio credit is equivalent to one byte of character. The number of bytes is different depending on which language you're generating. For English, a typical word is 5 characters, which converts to 5 bytes. This word will cost 5 credits on the S1 model, and 2.5 credits on v1.5/1.6.","a3":"Credits reset on the monthly anniversary of your first subscription payment\n\ne.g. March 1 → April 1; Aug 31 → Sep 30; Jan 30 → Feb 28","a4":"A complete, timestamped log is available in Platform → [Usage](https://fish.audio/app/usage/)","a5":"The renewal happens at the exact time-of-day you first subscribed, based on your billing timezone. If the calendar date has passed but the refill is missing, wait a few hours—most issues resolve automatically. Still stuck? [Submit a ticket](support://ticket) or contact us on [Discord](https://discord.com/invite/fish-audio).","a6":"You can either wait for the next refill or upgrade to a higher tier at any time on the [Plans page](https://fish.audio/app/team/) — new credits are granted instantly after upgrade.","a7":"We're constantly developing state-of-the-art models and often release them in small private alpha testing waves. The best way to be among the first to try them is to join the [Fish Audio Discord](https://discord.com/invite/fish-audio). We sometimes give members exclusive early access in exchange for feedback, helping us shape upcoming launches.","a8":"A subscription grants recurring, uninterrupted access to Fish Audio features, credits and model updates. You choose monthly or annual billing; the fee renews automatically until you downgrade or cancel. Plan details are listed on the [Subscription Plans page](https://fish.audio/app/team).","a9":"Yes. You can upgrade at any time on the [Plans page](https://fish.audio/app/team). Once upgraded, your new credit quota and features are available immediately. You'll only be billed the pro-rated difference between your old plan and the new one.","q1":"What are credits?","q10":"Can I downgrade my subscription plan?","q11":"What happens to my credits when I upgrade or downgrade?","q12":"How do I cancel my subscription?","q13":"How do I check my plan expiration date?","q14":"How do I resubscribe after my plan expired?","q15":"Can I change my sign-in method from Google to Email and Password?","q16":"Can I change my sign-in method from Github to Email and Password?","q17":"How do I change my password?","q2":"How many credits do generations cost?","q3":"How does credit renewal work?","q4":"Where can I see my credit history?","q5":"Why haven't my credits refreshed yet?","q6":"What if I run out of credits?","q7":"How do I get access to alpha features?","q8":"What is a subscription?","q9":"Can I upgrade my subscription plan?"},"billing":{"a1":"Most declines are caused by an incorrect ZIP/postal code or CVV. If your details are correct, your bank or our processor may have blocked the transaction. Open a ticket in [Discord](https://discord.com/invite/fish-audio) or [submit a ticket here](support://ticket) and we'll investigate.","a2":"All purchases are non-refundable as stated in our [Terms of Service](https://fish.audio/terms/). If you experience a billing issue or believe you were charged in error, please contact our support team by [submitting a ticket](support://ticket) or through our [Discord server](https://discord.com/invite/fish-audio), and we’ll review your case.","a3":"Our refund policy does not allow refunds for accidental purchases. To review your situation, contact our support team by [submitting a ticket](support://ticket) or through our [Discord server](https://discord.com/invite/fish-audio). Please note that a processing fee of approximately 15% may apply.","q1":"Why is my payment method is getting declined?","q2":"What is your refund policy?","q3":"I made an accidental purchase. Can I get a refund?"},"legal":{"a1":"We may use limited data you provide in order to improve the overall quality and performance of our audio models. Your data is never used to clone your voice without consent, nor to create advertising profiles.\n\nBy default, we do not train on data from our API customers, except where strictly necessary to deliver and maintain the service. For more information, see our [Privacy Policy](https://fish.audio/privacy/)","a2":"The Free plan does not include a commercial license. Any content generated under the free plan—or without signing in—cannot be used commercially. When publishing such content non-commercially, you must credit Fish Audio by including \"Fish Audio\" or \"fish.audio\" in the title or description.\n\nThe Paid plans all Include a commercial license. As long as you hold the required intellectual property rights, and your content complies with applicable laws and our [Terms of Service](https://fish.audio/terms), you may use generated content for commercial purposes without attribution.\n\nIn summary, everything generated during your paid subscription is yours to use commercially forever, whereas anything created before or after the subscription period will never be usable commercially and will always require attribution when posted non-commercially.","a3":"Yes. You retain ownership of all files you upload. Fish Audio claims no rights over your files, except as described in the [Terms of Service](https://fish.audio/terms) and [Privacy Policy](https://fish.audio/privacy)—for example, rights necessary to process your files securely and to comply with applicable law.","a4":"Yes. Privacy and security are our top priorities. All generations you create remain private unless you explicitly choose to make them public. Strong data-handling and security safeguards protect your creations at all times. Learn more in our [Privacy Policy](https://fish.audio/privacy).","a5":"Our billing address is 1111B S Governors Ave STE 48109 Dover, DE 19904, United States.","q1":"Is my data used to improve Fish Audio's AI models?","q2":"Can I publish the content I generate on the platform?","q3":"Do I own the files I upload?","q4":"Are my generations private, even if I'm not a subscriber?","q5":"What is your billing address?"},"searchPlaceholder":"Search","supportEntry":{"action":"Submit a ticket","description":"Open a support case directly from the Help Center when you need a manual follow-up.","title":"Need more help?"},"tabs":{"account":"Account","billing":"Billing & Payment","legal":"Legal & Privacy"},"title":"Help Center"},"home":{"advanced-settings":{"speed":"Speed","volume":"Volume"},"api-integration":"API Integration","audio-file":{"connecting":"Connecting...","current":"Current","duration-limit":"The audio duration must be under 2 minutes. Please try again with a shorter audio.","format-error":"Please upload a valid audio or video file","load-error":"Failed to load the audio file. Please try again with a different file.","microphone-devices":"Microphone Devices","no-devices":"No devices found","record-not-supported":"Your browser does not support recording.","recording":"Recording","rescan-devices":"Rescan Devices","start":"Start Recording","stop":"Stop Recording","submit":"Submit","upload-audio":"Upload Audio","video_has_audio":"Video must contain audio track"},"blog-preview":{"cta":"All Updates","title":"Latest Updates"},"contact-us":"Contact Us","creators":{"affiliate":"Earn as an affiliate","creator1":{"creatorName":"Bob Doyle","feature":"Voice Cloning","title":"Bring characters to life with"},"creator2":{"creatorName":"Daniel | Tech & Data","feature":"Text to Speech","title":"Narrate your videos with"},"creator3":{"creatorName":"Jarods Journey","feature":"Story Studio","title":"Create audiobooks with"},"creator4":{"creatorName":"Kingy AI","feature":"Voice Library","title":"Explore 2M+ voices in the"},"cta":"Join them","title":"Trusted by 8M+ users - free to start"},"cta":{"button":"Start free now","title":"Create with the most expressive AI voices"},"demo":{"poweredBy":"Powered by Fish Audio S1","poweredByS2":"Powered by Fish Audio S2.1 Pro"},"description":{"1":"Enabling natural and expressive speech generation.","2":"Making speech AI accessible to everyone.","3":"Targeting intelligent and empathetic AI companion."},"discover-voices":"Discover Voices","discover-voices-popover-description":"Click to explore our curated collection of voices and find the perfect one for your project.","discover-voices-popover-title":"Discover Amazing Voices","explore-more":"Explore More","faq":{"q1":{"answer":"Fish Audio supports multiple languages including English, Japanese, Korean, Chinese, French, German, Arabic, and Spanish. We're continuously adding more languages to serve our global user base.","question":"What languages does the best AI voice generator support for text to speech?"},"q2":{"answer":"AI voice cloning software analyzes voice recordings to create a digital model that captures tone, pitch, and speaking style. Content creators use it to generate unlimited narration for videos, podcasts, and courses without re-recording. Fish Audio needs as little as 10 seconds of audio to create a natural-sounding voice clone that can speak in multiple languages, streamlining your content production workflow.","question":"How does AI voice cloning software work for content creation?"},"q3":{"answer":"Fish Audio offers the best free AI voice generator for YouTube creators, providing free generations monthly with natural-sounding voices in multiple languages. Our text to speech technology produces broadcast-quality narration perfect for YouTube videos, tutorials, and documentaries. Start creating professional voiceovers instantly without expensive equipment or voice actors – just type your script and generate studio-quality audio for your YouTube content.","question":"What is the best free AI voice generator online for YouTube videos?"},"q4":{"answer":"AI text to speech costs 90-95% less than hiring professional voice actors. While voice actors charge high hourly rates plus studio fees, Fish Audio starts free with monthly generations and affordable paid plans. Compared to other AI services like ElevenLabs, Fish Audio offers more affordable pricing with comparable quality. Create unlimited voiceovers in multiple languages instantly, eliminating scheduling delays and re-recording costs that make traditional voice acting expensive for content creators.","question":"How much does AI text to speech cost compared to hiring voice actors?"},"q5":{"answer":"Fish Audio's free plan is for personal use only. To monetize content or use voices commercially (YouTube, podcasts, business), upgrade to our paid plans for full commercial rights. This lets creators test voices free before monetizing their content.","question":"Can I use free AI voice generator for commercial use and monetization?"},"q6":{"answer":"Fish Audio offers the best AI voice generator API for developers with ultra-low latency, comprehensive SDKs, and simple REST endpoints. Our API supports both <ttsPage>text-to-speech</ttsPage> and voice cloning with pay-as-you-go pricing, making it ideal for apps requiring natural voices. See our <developersPage>developer documentation</developersPage> for integration guides.","question":"What is the best AI voice generator API for developers and apps?"},"q7":{"answer":"Fish Audio has the most realistic human voices online, powered by our advanced AI technology and community of over 2,000,000 natural-sounding voices. Our voice generator creates speech indistinguishable from real humans, perfect for audiobooks, podcasts, games, and any application requiring authentic voice quality.","question":"Which AI voice generator has the most realistic human voices online?"},"title":"Frequently asked questions"},"features":{"audioBooks":{"description":"Publish-ready storytelling with lifelike pacing, emotion, and chapter-level control. Generate hours of audio that meets ACX/Audible specs without a recording booth.","title":"Audiobook Narration"},"characterVoices":{"description":"Clone signature voices or craft brand personas for games, animation, and interactive stories. Fine-tune dynamic emotions online or with easy-to-use API.","title":"Character Voices"},"chatBots":{"description":"Give customer support and virtual agents a natural voice with minimal latency. Inject tone tags for helpful, empathetic, or upbeat responses that feel truly human.","title":"Conversational Chatbots"},"cta":"Get Started Free","dubbedVideos":{"description":"Localize content at scale with synchronized, emotion-aware dubbing. Auto-match lip-sync timing and keep the original energy across 30+ languages.","title":"Multilingual Dubbing"},"title":"Power products, content, and experiences with studio-quality AI voices","videoVoiceovers":{"description":"Turn scripts into rich, scene-matched narration, perfect for YouTube, advertisement, and explainers. Swap tones, add emotion tags, and keep your viewers hooked.","title":"Video Voiceovers"}},"footer-company":{"blog":"Blog","gitHub":"GitHub","research":"Research","support":"Support"},"footer-earn-as":{"affiliate":"Affiliate"},"footer-products":{"ai-voice-generator":"AI Voice Generator","audio-converter":"Audio Converter","audio-separation":"Audio Separation","audio-translation":"Audio Translation","pricing":"Pricing","pricing-tiers":"Pricing Tiers","sound-effects":"Sound Effects","speech-to-text":"Speech-to-Text","story-studio":"Story Studio","text-to-speech":"Text-to-Speech","voice-cloning":"Voice Cloning","voice-changer":"Voice Changer","video-editor":"Video Editor","voice-agent":"Voice Agent"},"footer-research":"","footer-resources":{"character":"Character Collection","compare-us":"Compare Us","competitor-comparisons":"Competitors","discovery":"Discovery","guide":"Guide","reference":"API Reference","startup-program":"Startup Program","support":"Support","voice-library":"Voice Library"},"footer-solutions":{"audiobooks":"Audiobooks","character-voices":"Character Voices","conversational-chatbots":"Conversational Chatbots","for-startups":"For Startups","for-students":"For Students","voiceover":"Voiceover","voiceovers":"Voiceovers"},"footer-term":{"privacy":"Privacy Policy","report":"Report Abuse","terms":"Terms of Service"},"footer":{"company":"Company","earn-as":"Earn as","products":"Products","research":"Research","resources":"Resources","solutions":"Solutions"},"generate":{"play":"Generate & play selection"},"get-started":"Get Started","invite_description":"Invite users to register for the same duration of membership, unlimited!","invite_detail":"Details","invite_title":"Invite and Get Rewards","kol-bottom-center-card":{"description":"As a content creator, I find {brand} to be a game-changer. It consistently produces voices <span1>so realistic that my audience thinks they're hearing actual human narrators.</span1>"},"kol-bottom-left-card":{"description":"The upgrade to {version} has taken {brand} to the next level— <span1>more expressive, stable, and versatile than any</span1> other tool we've tried, including premium options."},"kol-bottom-right-card":{"description":"What amazed me about {brand} is their <span1>commitment to open-source development.</span1> Their community-driven approach means constant innovation and rapid improvements."},"kol-card-bottom":{"description":{"part-1":"At just 31 years of age and already with multiple international","part-2":"bestsellers","part-3":"such as The Mountain Is You — There's no question that the author is on a","part-4":"phenomenal trajectory.","part-5":"Brianna's catalog of deeply emotive, philosophical writing has exploded in popularity and in turn has gathered a passionate worldwide audience."}},"kol-card":{"description":{"part-1":"Use side-by-side comparison sliders showing ","part-2":"Before AI","part-3":"(traditional recording setup) vs.","part-4":"With Our Solution","part-5":"(dashboard interface with time/cost metrics)."}},"kol-center-left-card":{"description":"{brand} is easily one of the best voice-generation platforms I've ever used. The <span1>clarity, expressiveness, and</span1> naturalness of their AI-generated voices surpass all expectations."},"kol-center-right-card":{"description":"After testing numerous platforms, {brand} stands out due to its seamless voice cloning feature. <span1>A mere 15-second clip was enough to create an incredibly accurate voice replica.</span1>"},"kol-counter":{"description":"","title":"Trusted by builders who expect more from voice AI"},"kol-top-center-card":{"description":"We compared {brand} directly with ElevenLabs, and {brand} clearly <span1>outperformed in voice authenticity and emotional nuance.</span1> It's become our go-to choice."},"kol-top-left-card":{"description":"{brand}'s <span1>multilingual support</span1> is truly impressive. We successfully created voiceovers in Japanese, French, and Arabic, all with <span2>native-level quality</span2>."},"kol-top-right-card":{"description":"Our team transitioned from traditional voiceovers to {brand} and immediately saw <span1>drastic improvements</span1> in production efficiency and quality. It's now integral to our workflow."},"live-agent-demo":{"title":"Live Agent"},"live-audio":{"connecting":"Connecting...","start":"Start","stop":"Stop"},"loginSection":{"experience":"UNLOCK THE FULL AUDIO POWER","login":"Sign up","go-to-studio":"Go to app","contactUs":"Contact Sales"},"metadata":{"description":"Powerful, fast, and customizable text-to-speech solution. Ultra-low latency, rapid voice cloning, and flat-rate pricing for AI Voice Over.","keywords":"Fish Audio, Fish Speech, GPT-SoVITS, Bert-VITS2, voice models, text to speech, tts, GPT-4o, Voice Over, AI Voice, AI Speech, Generative AI","seo":{"description":"Studio-grade AI text-to-speech and voice cloning. Start using free industry-leading voice generator today with emotion control and 2m+ voices in 8 languages.","keywords":"Fish Audio, Fish Speech, GPT-SoVITS, Bert-VITS2, voice models, text to speech, tts, GPT-4o, Voice Over, AI Voice, AI Speech, Voice Actor","title":"Best AI Text To Speech & Free Voice Cloning | Fish Audio"},"social":{"description":"TTS and voice cloning with unmatched emotion control.","subtitle":"The Most Expressive AI Speech","title":"Fish Audio"},"title":"Fish Audio: The Best & Free Generative AI Text To Speech & Voice Cloning"},"partners":{"title":"Partnering with Global Innovators","read-stories":"Read their stories"},"solutions":{"title":"Powerful Voice-AI APIs for enterprise users","description":"From real-time streaming to instant voice cloning. {brand} gives you every tool to build production-ready voice agents.","tts":{"title":"Text To Speech","description":"Ultra Low Latency, #1 in control & expressive"},"stt":{"title":"Speech to Text","description":"Include multispeaker, emotion tags & natural language description in your transcription"},"voice-agent":{"title":"Voice Agent","description":"End-to-end voice agent solution"},"clone":{"title":"Clone Any Voice","description":"with perfect fidelity in 15 seconds"},"multilingual":{"title":"Multilingual Support","description":"Speak 30+ languages with any voice"}},"powerful-solutions":{"description":"From real-time streaming to instant voice cloning, {brand} gives you every tool to build production-ready voice agents.","description-1":"Full control over when audio stops","description-2":"Server auto-stops on silence for hands-free trimming","description-3":"One endpoint for all features","description-4":"with perfect fidelity in","description-5":"Speak 30+ languages with any voice","title":"Powerful Voice-AI Solutions","title-1":"Push to Send","title-2":"Voice Activity Detection","title-3":"Unified Streaming API","title-4":"Clone Any Voice","title-5":"Multilingual Support","video-coming-soon":"Video coming soon"},"products":{"card1":{"description":"The most expressive Text to Speech model with emotional depth and rich delivery. Available now.","primaryButton":"Discover TTS","secondaryButton":"Sign up","title":"Fish Speech v1.5"},"card2":{"description":"Create natural, human-sounding AI voices that feel truly personal with just a few seconds of audio.","primaryButton":"Discover Voice Cloning","secondaryButton":"Contact sales","title":"Voice Cloning"}},"showcase":{"card1":{"description":"Patient · Reassuring · Knowledgeable","subtitle":"","title":"Customer support"},"card2":{"description":"Immersive · Nuanced · Warm","subtitle":"","title":"Narrator"},"card3":{"description":"Dramatic · Expressive · Memorable","subtitle":"","title":"Character"},"cta":"Hear it in action","subtitle":"Voice AI that doesn't sound like an AI voice","title":"Meet Fish Audio S2.1 Pro"},"speech-to-text-demo":{"download":"Download","empty-area":"Enable mic access, upload or record any audio sample, and generate the sample in different voices","record-upload-desc":"Record yourself or upload an audio clip. Get a clean transcript in seconds.","restart":"Restart","title":"Speech To Text","transcribing":"Transcribing...","transcription-label":"Transcription"},"team":{"description-1":"We are the pioneers behind the most acclaimed Open Source SVC / TTS projects ","description-2":"commanding over 70,000+ stars on GitHub.","founder":"Founder of {project}","maintainer":"Maintaner of {project}","open-to-hire":"Open to Hire","title":"Meet the Team"},"text-to-speech-demo":{"audio-not-ready":"Audio is not ready yet","cancel":"Cancel","confirm":"Confirm","download":"Download audio","download-failed":"Download failed","empty-model":"Please select a model","empty-text":"Please enter text","no-voices-description":"No curated demo voices are available right now. Please try again later or use the full app.","no-voices-title":"Demo voices are unavailable","enter-text":"Enter your own text","generate-play":"Generate & play","regenerate":"Regenerate","generating":"Generating...","more-voice":"More Voices","no-audio-to-download":"No audio to download","pause":"Pause","placeholder":"The text to be converted to speech","resume":"Resume","tag-emotions":"Emotions","tag-special":"Special","tag-special-desc":"Special markers with corresponding onomatopoeia: Laughing (Ha,ha,ha), Chuckling (Hmm,hmm)","tag-tone":"Tone","tags":"Tags","text_to_long":"Text is too long","title":"Text To Speech","try-full-feature":"Try Full Feature","try-now":"Try Now","voice-popup-title":"Voice"},"title":"The most expressive AI speech","topBar":{"subtitle":"Five seconds is easy. Five minutes is the test.\nFish Audio creates voices that capture the complexity of every conversation, from the first word to the last.","title":"The most expressive, emotionally controllable real-time voice model","s2-badge-prefix":"Try","s2-badge-title":"Fish Audio S2.1 Pro","cta-contact":"Contact Sales","cta-get-started":"Get started","s2-badge-free-prefix":"Try","s2-badge-free-title":"S2.1 Pro for Free"},"usecases":{"accessibility":{"button":"Search Now","description":"Make your content accessible to everyone with AI-powered audio. Convert text to speech for visually impaired users and create inclusive experiences.","title":"Accessibility"},"elearning":{"button":"Search Now","description":"Transform your educational content with engaging AI narration. Create courses, tutorials, and training materials that captivate learners.","title":"E-learning"},"podcasts":{"button":"Search Now","description":"Create high-quality podcast episodes with natural-sounding AI voices. Perfect for narration, interviews, and multi-speaker content.","title":"Podcasts"},"title":{"line1":"Add professional voice AI tools","line2":"to your creative workflow"}},"version-control":{"title":"Voice model","version":"{version} control"},"voice-clone-demo":{"audio-corrupted":"Audio corrupted, please check your recording device","clone":"Clone","loading":{"alignment-generation-finished":"Alignment generation finished","alignment-generation-started":"Alignment generation started","asr-finished":"ASR finished","part-1":"Magic happens in 1 second","part-2":"Please wait","random-text-generation-finished":"Random text generation finished","random-text-generation-started":"Random text generation started","save-to-my-voice-library":"Save to My Voice Library","save-voice":"Save Voice","start":"Start","tts-generation-finished":"TTS generation finished","tts-generation-started":"TTS generation started"},"original":"Original","popup-description":"Sign in now to use the voice model you just created","popup-title":"Love what you're hearing?","record-prompt-desc":"Record yourself reading some prompts and clone your own voice instantly","restart":"Restart","start-over":"Start Over","subtitle":"Please read the paragraph above","title":"Voice Cloning","tooltip":"Just talk like you always do — we'll pick up every nuance"},"voices-feature":{"description":" The {brand} platform hosts over 2,000,000 voices, ideal for diverse scenarios from creative storytelling and dynamic advertisements to immersive audiobooks and beyond.","title":{"part-1":"Infinite Possibilities ","part-2":"with User-Uploaded Voices"},"voices":"Voices","sr-only":"voices, infinite possibilities"}},"image-video":{"title":"Image & Video","tabs":{"explore":"Explore","history":"History"},"authGate":{"title":"Sign in to continue","description":"Sign in or create a free account to generate images and videos."},"introduction":{"title":"Introducing Image & Video","description":"Create images, videos, and lip sync in one place.","featureModes":"Switch seamlessly between Image, Video, and Lip sync","featureModels":"Access popular models in one click","featureFlow":"Image refs, start and end frames, and more in the same flow","cta":"Get started","dismiss":"Dismiss","open":"Open introduction","demo":{"prompt":"Cinematic portrait breaking through water, frozen splash","captionPrompt":"Describe your idea","captionReference":"Add a reference","captionRatio":"Pick a ratio","captionGenerate":"Generate","watermark":"Made with Fish Audio"}},"filters":{"image":"Image","video":"Video","lipsync":"Lip sync"},"explore":{"empty":"Nothing to explore yet","error":"Failed to load"},"modes":{"image":"Image","video":"Video","lipsync":"Lip sync"},"promptBox":{"collapsedPlaceholder":"Describe or upload anything…","collapsePrompt":"Collapse","expandPrompt":"Expand","promptCharacterCount":"{current}/{max}","promptTooLongHint":"Shorten your prompt to {max} characters or fewer. Longer prompts can blur the key details and reduce generation quality.","optionalPlaceholder":"Describe what to generate (optional)…","optionalPlaceholderImage":"Describe your image, or use @ to reference an image (optional)…","optionalPlaceholderVideo":"Describe your video, and use @ to reference image, video, or audio (optional)…","optionalPlaceholderLipsync":"Add a video or image and speech, then describe your scene (optional)…","creatifyAvatarPlaceholder":"Describe framing, background, lighting, style, and body movement (optional)…","placeholderImage":"Describe your image or reference by using @...","placeholderVideo":"Describe your video, and use @ to reference image, video, or audio…","placeholderLipsync":"Add a video or image and speech, then describe your scene…","syntheticMediaDisclaimer":"Only use media you have the right and authorization to use. Generated content is AI-synthesized media.","presetReferenceAdded":"Image added to prompt","presetConfigApplied":"Settings added to prompt","presetModelFallback":"Original model unavailable, using {model}. {message}","presetUnavailable":"This media is temporarily unavailable. Please try again.","dropAs":"Drop as {slot}","dropRequiresImage":"This slot accepts images only","dropRequiresVideo":"This slot accepts videos only"},"refs":{"imageRefs":"Image refs","videoRefs":"Video refs","audioRefs":"Audio refs","ref":"Reference image","videoRef":"Reference video","audioRef":"Reference audio","slotConflict":"{slot} cannot be used with {conflict}","durationMaxBadge":"Max {max}s","durationMinBadge":"Min {min}s","durationTotalBadge":"Total ≤{max}s","startFrame":"Start frame","endFrame":"End frame","sourceVideo":"Video","sourceAudio":"Speech","avatar":"Avatar","selectAvatar":"Select avatar","uploadImage":"Upload image","uploadVideo":"Upload video","uploadAudio":"Upload audio","imageN":"Image {n}","referenceImageN":"Reference image {n}","videoN":"Video {n}","audioN":"Audio {n}","swapFrames":"Swap frames","changeFrame":"Change frame","more":"More options","selectFromHistory":"Select from history","textToSpeech":"Text to Speech","unsupported":"The current model does not support this media","uploadRetryTitle":"Couldn't upload this file","unsupportedBadge":"Not supported","maxFiles":"Max {n} files","optimizingLargeVideo":"Large video detected. Upload may take longer; we’ll optimize it automatically."},"framePicker":{"title":"Select frame","select":"Select frame","cancel":"Cancel","extractFailed":"Couldn't capture this frame","trimTitle":"Trim video","trimDescription":"Server optimization could not prepare this video. Select a shorter segment and upload it again.","trimEditDescription":"Select the segment to keep and upload it again.","trim":"Trim & upload","trimming":"Trimming…","trimFailed":"Couldn’t trim this video. Please choose a shorter or smaller file.","trimLoading":"Reading video…","trimReadFailedTitle":"Can’t read this video","trimReadFailedDescription":"Your browser can’t recognize this video’s format or encoding. Try an MP4 encoded with H.264, or choose another video.","trimTimeoutTitle":"Video took too long to load","trimTimeoutDescription":"Try again, or choose a shorter, smaller video.","close":"Close","audioTrimTitle":"Trim audio and retry","audioTrimDescription":"Select the segment to keep and upload it again.","audioTrimRetryHint":"Retry after audio trimming.","clipAndUpload":"Clip & Upload","audioTrimFailed":"Couldn’t trim this audio. Please choose a shorter or smaller file."},"historyPicker":{"titleImage":"Select image from History","titleVideo":"Select video from History","loadError":"Couldn't load History.","tryAgain":"Try again","emptyImage":"No compatible image generations yet.","emptyVideo":"No compatible video generations yet.","emptyAudio":"No compatible audio generations yet.","allTypes":"All types","generationType":"Generation Type","generationTypeOption":{"image-video":"Image & Video","lip-sync":"Lip sync"},"searchPlaceholder":"Search...","cancel":"Cancel","useImage":"Use Image","useVideo":"Use Video","useAudio":"Use Audio","imageSubtitle":"Image · Ref to image","videoSubtitle":"Video · Ref to video","play":"Play audio","pause":"Pause audio","audioSource":{"tts":"Text to Speech","sound-effect-generation":"Sound Effects","voice-changer":"Voice Changer","audio-separation":"Audio Separation","studio":"Studio"},"loadMore":"Load more"},"historyMention":{"title":"History","back":"Back","referencesGroup":"References","noResults":"No results","sheetTitle":"Insert reference","loading":"Loading History","loadErrorRetry":"Couldn't load History · Try again","empty":"No compatible history yet","useImage":"Use image from History","useVideo":"Use video from History","fallbackImage":"Image from History","fallbackVideo":"Video from History","loadingMore":"Loading more"},"embeddedTts":{"title":"Generate or Select Speech"},"params":{"aspectRatio":"Aspect ratio","aspectRatioAuto":"Auto","aspectRatioAutoHint":"Match the first input image","resolution":"Resolution","quality":"Quality","qualityLow":"Low","qualityMedium":"Medium","qualityHigh":"High","generation":"Generation","promptEnhance":"Prompt enhance","on":"On","off":"Off","negativePrompt":"Negative prompt","neg":"Neg","negativePromptPlaceholder":"Describe what should not appear in the result.","matchVideo":"Match video","matchImage":"Match image","matchVideoDesc":"Better at copying exact motion, max 30s","matchImageDesc":"Better at adding new motion, max 10s","model":"Model","duration":"Duration","settings":"Settings"},"actions":{"generate":"Generate","calculatingPrice":"Calculating price… Almost ready","download":"Download","share":"Share","delete":"Delete","close":"Close","save":"Save","generateDisabledNoPrompt":"Enter a description","generateDisabledNoModel":"Choose a model","generateDisabledUploading":"Reference image uploading...","generateDisabledExtractingFrame":"Extracting video frame...","generateDisabledInvalidAssets":"A reference failed to upload. Remove it and upload again.","generateDisabledMissingAssets":"Still needed: {roles}","generateDisabledMissingAssetsAlternatives":"Still needed: {roles} (or {alternatives})","generateDisabledRefDuration":"{role} must be {min}–{max} seconds each.","generateDisabledRefDurationTotal":"{role} total must be within {max} seconds.","generateDisabledUnsupportedAssets":"The current model does not support some added media","generateDisabledInvalidParams":"The current model does not support the selected settings: {params}","generateDisabledNoSourceAssets":"Add a video and speech audio","generateDisabledNoAvatarAudio":"Add an image and speech audio","generateDisabledAudioTooShort":"Speech audio is too short for this model. Minimum is {min} seconds.","generateDisabledAudioTooLong":"Speech audio is too long for this model. Maximum is {max} seconds.","audioTooLongTitle":"Speech audio is too long","refDurationTitle":"{role} is too long","trimAudioAction":"Trim audio","useModelAction":"Use {model}","report":"Report","generateDisabledMaxFiles":"Max {n} files for this model. Remove the extra references."},"entitlement":{"freeDailyLimitTitle":"Daily image limit reached","freeDailyLimit":"You are on the Free plan. Your daily free generation limit has been reached.","generationFrozen":"Generation is unavailable for this account. Contact support if you believe this is a mistake.","riskDailyLimitTitle":"Limit reached","riskDailyLimit":"You've reached the limit for now. Complete a payment to unlock full access.","freePoolExhaustedTitle":"Generation unavailable right now","freePoolExhausted":"Upgrade your plan to keep creating without interruption.","imageCountLimitTitle":"Generate more images at once","imageCountLimit":"Your current plan generates up to {max} images per generation. Upgrade to generate more at once.","videoCountLimitTitle":"Generate more videos at once","videoCountLimit":"Your current plan generates up to {max} video outputs per generation. Upgrade to generate more at once.","unlockCount":"Upgrade to {plan} to unlock this output count.","autoSwitchTitle":"Your video is one step away","autoSwitchDescription":"Draft saved — make the image now, make it move with Plus","autoSwitchCta":"Finish my video","membershipRequiredTitle":"Upgrade to generate videos","membershipRequired":"You are on the Free plan. Upgrade to a membership to generate videos.","creditsExhaustedTitle":"Not enough credits","creditsExhausted":"Your credits are exhausted. Upgrade your subscription or purchase more credits.","insufficientImageCredits":"Not enough credits to generate {count} images. This generation costs {credits} credits; your balance is {balance}.","insufficientGenerationCredits":"Not enough credits for this generation. It costs {credits} credits; your balance is {balance}.","upgradePlan":"Upgrade Plan","dailyUsage":"{used}/{limit} free generations used today. Resets at {resetAt}.","remainingCapacity":"Your current balance covers about {count} generations with these settings.","remainingImageCapacity":"{batchCount, plural, one {# image will cost {credits} credits.} other {# images will cost {credits} credits.}} Your balance covers {count, plural, one {# image} other {# images}} with the current settings.","remainingVideoCapacity":"{batchCount, plural, one {# video will cost {credits} credits.} other {# videos will cost {credits} credits.}} Your balance covers {count, plural, one {# video} other {# videos}} with the current settings.","remainingCapacityCompact":"{value} left","remainingCapacityCalculating":"Calculating remaining generations…","remainingCapacityUnavailable":"We can't estimate the remaining generations right now.","buyCredits":"Buy Credits","temporarilyUnavailable":"Generation failed due to a temporary issue. Please try again later."},"paywall":{"firstMonthHalfPrice":"First month half price","seeAllPlans":"See all plans","neverWallTitle":"Never hit this wall again","readyToGenerate":"Ready to generate","posterCta":"Unlock and generate","demoLabel":"{model} demo","demoInputTag":"ONE PHOTO","rankMostRemixed":"#1 Most remixed","rankMostViewed":"#1 Most viewed","rankEditorsPick":"Editor's pick","videoAmountSeconds":"{value}s","videoAmountMinutes":"{value} min","videoAmountHours":"{value} hours","gains":{"outputSpec":"≈ {images} images or {video} of video / month","creditsFallbackSpec":"{credits} credits / month","plusTalking":"Your photos start talking","plusTalkingSpec":"video & lipsync unlocked","plusDaily":"Enough to post every day","plusFaster":"Get it right {count}× faster","plusFasterSpec":"up to {count} outputs per generation","plusCommercial":"Sell what you make","plusCommercialSpec":"commercial use included","proCredits":"{multiple}× the credits of Plus","proCreditsSpec":"{credits} credits / month","proScale":"Production-scale output","proPerDollar":"More video per dollar","proPerDollarSpec":"~{percent}% lower cost per generation than Plus","proEverything":"Everything in Plus included","proEverythingSpec":"talking photos, batch outputs, commercial use","latestModels":"Access to all latest models","popularModels":"Access to all popular models","topUp":"Flexible credit top-ups","voiceIncluded":"All voice features included","voiceMaxed":"All voice features, maxed out"},"creationsCount":"{count} creations and counting"},"deleteConfirm":{"title":"Delete this generation?","description":"This generation will be removed from your history. This action cannot be undone.","cancel":"Cancel","confirm":"Delete"},"tags":{"gaming":"Gaming","domestic":"Domestic","human":"Human","nature":"Nature","vlog":"Vlog","anime":"Anime","food":"Food","travel":"Travel","fashion":"Fashion","sports":"Sports","enhance":"Enhance prompt","custom":"Custom","customInputLabel":"Custom enhancement direction","customPlaceholder":"e.g. softer lighting","customSubmit":"Apply custom enhancement","customCancel":"Cancel custom enhancement","categories":{"cinematic":"Cinematic","composition":"Composition","lighting":"Lighting","realism":"Realism","motion":"Motion","camera":"Camera","style":"Style","environment":"Environment","reference":"Use reference"},"undo":"Undo suggestion","shuffle":"Shuffle suggestions","expand":"Expand suggestions","generating":"Generating…","view":"View","generated":"Generated","generateFailed":"Generate failed","collapse":"Collapse suggestions","previousTags":"Previous suggestions","nextTags":"Next suggestions","loadFailed":"Suggestions unavailable","retry":"Retry","applyFailed":"Couldn't enhance the prompt. Try again."},"history":{"searchPlaceholder":"Search generations","type":"Type","model":"Model","modelSelectedCount":"{count} models","clearTypeFilter":"Clear type filter","clearModelFilter":"Clear model filter","selectAll":"Select all","all":"All","noMore":"No more generations","empty":"No generations found","failedPromptPlaceholder":"Edit the prompt, then retry generation","rewritePrompt":"Rewrite prompt to fix","quickStartTitle":"Quick Start","quickStartSubtitle":"Generate or remix one of the examples below to get started"},"detail":{"useAsReference":"Use as Reference","recreate":"Recreate","upscale":"Upscale Image","useInLipsync":"Use in Lip sync","createVideo":"Create video","extend":"Extend video","promptLabel":"Prompt","noPrompt":"This task did not use a prompt.","referenceAssets":"Reference assets","publicShare":"Share publicly","shareCopied":"Public share link copied to clipboard","shareFailed":"Could not create share link","cancelShare":"Cancel share","shareCanceled":"Share canceled","shareCancelFailed":"Could not cancel share","shareUnavailableDescription":"This generation was removed by its owner.","unavailableTitle":"Generation unavailable","unavailableDescription":"This shared generation is unavailable or the link has expired.","play":"Play","pause":"Pause","promptCopied":"Prompt copied to clipboard","expandInfo":"Show details","credits":"{count} credits","openRef":"Open reference","applyParam":"Apply {label}","previousItem":"Previous generation","nextItem":"Next generation","noPreviousItem":"No previous generation","noNextItem":"No next generation","loadingImage":"Loading image"},"card":{"edit":"Edit","videoGen":"Video Gen","upscale":"Upscale","extend":"Extend","lipsync":"Lip sync","reference":"Reference"},"modelModal":{"title":"Select model","searchPlaceholder":"Search models","clearSearch":"Clear search","generate":"Generate","editing":"Editing","lipsyncAvatar":"Avatar Syncing","lipsyncVideo":"Video Syncing","new":"New","startingPriceOutput":"Starting at {credits} credits","startingPriceSecond":"Starting at {credits} credits per second","empty":"No models found"},"modelDescriptions":{"nanoBanana":"Quick idea drafts and reference edits for everyday visuals.","nanoBanana2Lite":"Fast, lightweight Nano Banana for quick drafts and simple edits.","seedream45":"Clean, prompt-faithful images for polished social and product visuals.","seedream50":"Sharper Seedream output for detailed scenes, products, and stylized concepts.","gemini3ProImage":"Best for text-heavy, structured images and precise reference edits.","gptImage2":"High-control image generation with quality, size, and edit options.","grokImagineImage":"Expressive xAI images with strong prompt adherence up to 2K detail.","grokImagineVideo":"Grok Imagine clips with native audio from text or a start frame.","topazHd":"Upscale one image with Topaz High Fidelity detail recovery.","topazVideo":"Upscale one video with Topaz detail recovery.","kling26Pro":"Reliable cinematic clips from text or a start frame.","kling3Pro":"Higher-end motion and camera control for premium short clips.","klingO3Pro":"Up to 7 reference images keep characters and scenes consistent for unlimited creative possibilities.","hailuo23":"Fast short videos when speed matters more than deep controls.","minimaxH3":"Mixed image, video and audio references keep characters and voices consistent.","veo31":"Premium Google video for realistic motion and scene consistency.","seedance25":"Latest Seedance generation with mixed media references, native audio and clips up to 30s.","seedance20":"Flexible ByteDance video with start/end frames and media references.","seedance20Fast":"Faster Seedance 2.0 runs for quick drafts at 480p/720p.","seedance20Mini":"Smallest, most affordable Seedance 2.0 tier at 480p/720p.","seedance15Pro":"Fast, budget-friendly ByteDance video at 480p/720p.","syncLipsyncV3":"Video and audio drive the lip sync; text prompts are not supported.","syncLipsyncV2Pro":"Stable pro lip-sync for existing footage and clean voice tracks.","veedLipsync":"Quick video lip-sync for simple talking updates.","pixverseLipsync":"Stylized lip-sync for short clips with a lighter creative feel.","creatifyAuroraAvatar":"Image and audio create the avatar; an optional prompt controls framing, background, lighting, style, and movement. The output follows the image aspect ratio.","heygenAvatar4":"Image and audio create the avatar, with speech determined by the audio. Choose the output aspect ratio and resolution.","veedFabricAvatar":"Image and audio create the avatar without a text prompt. The output follows the image aspect ratio.","infinitalkAvatar":"Prompt-guided avatar speech with a more expressive generated look."},"status":{"deleteFailed":"Couldn't delete. Please try again.","downloadFailed":"Download failed. Please try again.","failed":"Generation failed","generating":"Generating...","priceChanged":"Price changed to {credits, number} credits. Please review and generate again.","priceFailed":"We couldn't calculate the price.","priceFailedNetwork":"Connection failed — check your network and retry.","priceFailedReason":"We couldn't calculate the price. {reason}"},"menu":{"upscale":"Upscale","extend":"Extend","lipsync":"Lip sync","recreate":"Recreate","useAsReference":"Use As Reference","download":"Download","saveToAssets":"Save to assets","delete":"Delete"},"report":{"title":"Report content","question":"Why are you reporting this?","reasons":{"nsfw":"NSFW or explicit content","copyright":"Copyright infringement","privacy":"Privacy violation","violence":"Violent or graphic content","spam":"Spam or misleading","other":"Other"},"detailPlaceholder":"Add more details (optional)","cancel":"Cancel","submit":"Submit report","success":"Report submitted. Thanks for helping keep Explore safe.","error":"Failed to submit report"},"taskError":{"subtype":{"content":{"title":"Blocked by content moderation","desc":"Your prompt or reference didn't pass moderation. You weren't charged — adjust it and try again."},"inputInvalid":{"title":"Input not supported","desc":"Some settings or reference files aren't supported by this model. Adjust them and try again."},"noOutput":{"title":"No result generated","desc":"The model didn't return a result for this prompt. Try rephrasing it. You weren't charged."},"busy":{"title":"Service is busy","desc":"Too many requests right now. You weren't charged — please try again in a moment."},"timeout":{"title":"Generation timed out","desc":"This took longer than expected. You weren't charged — please try again."},"transient":{"title":"Something went wrong","desc":"A temporary issue interrupted this generation. You weren't charged — please try again."},"canceled":{"title":"Canceled"},"submitFailed":{"title":"Couldn't submit the task","desc":"The task couldn't be submitted. You weren't charged — please try again."},"unknown":{"title":"Generation failed","desc":"You weren't charged for this attempt. Please try again."}},"code":{"image_too_large":"The reference image is too large. Use a smaller image and try again.","image_too_small":"The reference image resolution is too low. Use a larger image and try again.","unsupported_media_format":"This file format isn't supported. Convert it and try again.","media_duration_exceeded":"The media is too long for this model. Trim it and try again.","media_duration_exceeded_max":"The media is too long for this model. Maximum is {max} seconds. Trim it and try again.","media_load_error":"We couldn't load the reference file. Re-upload it and try again.","media_constraint_violation":"A reference file doesn't meet this model's requirements. Adjust it and try again.","reference_aspect_ratio_invalid":"The reference images have mismatched aspect ratios. Use matching images or a matching output ratio.","invalid_parameters":"This parameter combination isn't supported. Adjust the settings and try again.","prompt_too_long":"Your prompt is {received} characters, but this model accepts up to {max}. Shorten it and try again."},"action":{"editPrompt":"Edit prompt","adjustInput":"Adjust and retry","retry":"Try again","retryRecommendedModel":"Retry with recommended model"}}},"mcp-upload":{"title":"Upload for your AI assistant","description":"Your AI assistant can't receive files in this chat, so it sent you here. The file uploads directly to Fish Audio; this link expires after one hour.","expected_file":"Requested file: {name}","drop_hint":"Drag and drop a file here, or","browse":"Choose a file","uploading":"Uploading…","done_title":"Upload complete","done_hint":"Go back to your chat and tell the assistant the file is uploaded.","replace":"Upload a different file","invalid_link":"This upload link is invalid. Ask your assistant for a new one.","error_expired":"This upload link has expired — links last one hour. Ask your assistant for a new one.","error_too_large":"The file exceeds the 100 MB limit.","error_failed":"Upload failed. Check your connection and try again."},"nav":{"about":"About","admin":"Admin","admin_shell_description":"Centralized admin entry and navigation.","admin_workspace":"Admin Workspace","admin_workspace_description":"All current admin features are collected here in one place.","admin-affiliate":"Affiliate","admin-chart":"Stat","admin-project":"Project","admin-user":"User","admin-withdraw":"Withdrawals","administration":"Administration","agent":"Agent","all_agents":"All agents","agents":"Agents","affiliateTooltip":"Earn as an affiliate","api":"API","api_billing":"API Billing","api_keys":"API Keys","api_pricing":"API Pricing","audio-separation":"Audio Separation","auth-card":{"affiliate":"Affiliate","changelog":"What's New","description":"Enjoy all features","guest":"Guest","help":"Help","helpLabel":"Help","login":"Login / Sign up","logout-trigger":"Logout","logout":{"cancel":"Cancel","confirm":"Confirm","title":"Are you sure you want to log out?"},"my-profile":"My Profile","get-free-credits":"Get Free Credits","notifications":"Notification","settings":"Settings","sign-up":"Sign up","title":"Sign up or log in","tutorials":"Tutorials"},"back_to_top":"Back to top","billing":"Billing","team-settings":"Team Settings","character":"Character","cms":"CMS","credit-links":"Credit Links","creative":"Creative","dashboard":"Dashboard","developer":"Developer","developer_docs":"Developer Docs","developer_program":"Developer Program","developers":"Developers","discovery":"Discovery","docs":"Docs","documentation":"Documentation","end_list":"You have reached the bottom of the list,","extraCredits":{"tooltip":"Claim more credits by following our <discordLink>Discord</discordLink>, <xLink>X</xLink>, <youtubeLink>YouTube</youtubeLink>, <instagramLink>Instagram</instagramLink> and <tiktokLink>TikTok</tiktokLink>."},"go-premium":"Go premium","go-to-app":"Log in","helpTooltip":"Help","interface":"Interface","join-at":"Joined","language":"Language","allLanguages":"All Languages","languageTooltip":"Change language","launch":"Launch","link-home":"Home","link-image-video":"Image & Video","link-tts":"Text To Speech","login":"Log in","manage-premium":"Plans","models":"Models","my-collections":"Bookmarks","my-conversions":"Generation History","my-library":"My Voices","my-voice":"My Voices","my-voice-collection":"Collections","team-voices":"Team Voices","not_matching_result":"Not matching result","open-app":"Open App","overview":"Overview","platform":"Platform","playground":{"quota":"Quota","title":"Playground"},"premium_bar":{"free_button_text1":"Free","free_button_text2":"","free_plan_line1":"You are on the free plan.","free_plan_line2":"{balance}/{total} credits left.","paid_plan":"You're on the {planName} plan!","premium_benefits":"Cheers! You're enjoying premium benefits!","premium_button_text":"Premium","unauth_button_text":"Upgrade","upgrade_now":"Upgrade Now"},"pricing":"Pricing","products":"Products","promo_banner":{"claim_offer":"Claim Offer","expires_in":"Offer expires in","off_label":"everything.","off_value":"50% Off","read_story":"Read Our Story","stat_builders_label":"builders.","stat_builders_value":"8M+","stat_one_label":"year.","stat_one_value":"One","stat_seed_label":"seed.","stat_seed_value":"$52M","turning_one":"We're turning one 🎂"},"promo_modal":{"badge":"🎉 Starting July 28","cta":"Claim Your 50% Off","description":"To celebrate our first anniversary, S2.1 Pro is free through the developer API, and popular plans are 50% off until August 31. The best voices we've ever shipped, at half the price.","heading":"Anniversary Special","title":"S2.1 PRO. OUR BEST MODEL. FREE."},"reports":"Reports","search":"Search","search_result":"Search Result","self_host":"Self Host","settings":"Settings","sound-effects":"Sound Effects","speech-to-text":"Speech to Text","story_studio":"Story Studio","story-studio":"Story Studio","suggestions":"Suggestions","support":"Support","careers":"Careers","text-to-speech":"Text to Speech","ai-voice-generator":"AI Voice Generator","theme":{"dark":"Dark","light":"Light","system":"System","title":"Theme","tooltip":"Toggle light/dark mode"},"train":"Voice Cloning","voice-design":"Voice Design","try_a_new_search":"Try a new search","tutorials":"Tutorials","usage":"Usage","voice-cloning":"Voice Cloning","waitlist":"Waitlist","beta":"Beta","new":"New","contact-us":"Contact Sales","get-started":"Get started","sign-up-free":"Sign Up Free","solutions":"Solutions","research":"Research","resources":"Resources","enterprise-nav":"Enterprise","feedback":"Feedback","model-testing":"Model Testing","music-generation":"Music Generation","music-samples":"Music Samples","audio-converter":"Audio Converter","audio-translation":"Audio Translation","voice-agent":"Voice Agent","video-editor":"Video Editor","sound-effect":"Sound Effect","for-startups":"For Startups","audiobooks":"Audiobooks","voiceovers":"Voiceovers","for-students":"For Students","character-voices":"Character Voices","conversational-chatbots":"Conversational Chatbots","fish-audio-s2":"Fish Audio S2","fish-audio-s1":"Fish Audio S1","fish-speech":"Fish Speech","open-audio":"OpenAudio","fish-diffusion":"Fish Diffusion","github":"Github","blog":"Blog","guide":"Guide","api-reference":"API Reference","compare-us":"Compare Us","character-collection":"Character Collection","voice-library":"Voice Library","affiliate":"Affiliate","earn-as-affiliate":"Earn as Affiliate","dropdown-column-apis":"APIs","dropdown-column-company":"Company","dropdown-column-resources":"Resources","dropdown-tts-desc":"Generate clean voice from scripts","dropdown-ai-voice-generator-desc":"Create natural voices instantly","dropdown-tts-api-desc":"Generate speech via API","dropdown-stt-desc":"Transcribe audio to text with exceptional accuracy","dropdown-audio-separation-desc":"Extract vocals from noisy or mixed audio","dropdown-audio-converter-desc":"Convert audio files between 20+ formats","dropdown-voice-changer-desc":"Transform your voice into any character in real time","dropdown-audio-translation-desc":"Convert audio into different languages","dropdown-voice-cloning-desc":"Create a replica of your voice","dropdown-story-studio-desc":"Produce audio and fine-tune every detail","dropdown-video-editor-desc":"Add AI voiceovers to any video","dropdown-voice-agent-desc":"Build voice agents that talk like humans","dropdown-sound-effect-desc":"Generate cinematic sound effects","dropdown-for-startups-desc":"Scale your voice product with flexible APIs","dropdown-audiobooks-desc":"Publish audio content at scale","dropdown-voiceovers-desc":"Professional voices for any media","dropdown-for-students-desc":"Learn and create with AI voice tools","dropdown-character-voices-desc":"Transform any text into authentic character voices","dropdown-chatbots-desc":"Voice-enable your AI assistant","feature-flags":"Feature Flags","ab-tests":"AB Tests","tts-templates":"TTS Templates","voice-changer":"Voice Changer","zero_retention":"Zero Retention","team_wallet":"Team Wallet","mascot_assistant":"Mascot Assistant","create-voice":{"title":"Create Voice","subtitle":"Pick a method to start — you can always come back.","pick-method":"Pick a method","voice-clone":{"title":"Instant Voice Clone","description":"Upload or record 10s of audio, clone it instantly.","tag-time":"~1min","tag-best":"Best for existing recordings"},"voice-design":{"title":"Voice Design","description":"Describe the voice in plain text.","tag-time":"~15s","tag-best":"Best for original characters"},"pvc":{"title":"Professional Voice Clone","description":"Verified, real-person, studio-quality voice with optional commercial release & revenue share.","tag-time":"1-2hrs","tag-best":"Studio quality","quota-exceeded-tooltip":"You've reached the limits of your current plan. Upgrade to continue creating professional voice clones.","confirm-title":"Create Professional Voice Clone?","confirm-description":"Once created, a Professional Voice Clone job cannot be deleted. Are you sure you want to continue?","confirm-cancel":"Cancel","confirm-continue":"Confirm","confirm-draft-hint":"You have an unfinished draft from {date}. Confirming will start a brand-new voice clone.","confirm-continue-draft":"Continue draft"},"upgrade-dialog":{"voice-design-free":"Voice Design is not included in the Free plan. Upgrade your plan to design voices from text.","voice-design-free-title":"Voice Design is not included in the Free plan.","voice-design-free-description":"Upgrade your plan to design voices from text.","pvc-free":"Professional Voice Clone is not included in the Free plan. Upgrade your plan to create studio-quality voice clones.","pvc-slots":"Your {plan} plan includes {limit, plural, one {# Professional Voice Clone slot} other {# Professional Voice Clone slots}}. Upgrade your plan to create more.","pvc-unavailable":"Your current plan cannot create another Professional Voice Clone. Upgrade your plan to continue."},"section-draft":"Professional Clone Draft","continue-draft":"Continue with Professional Voice Draft","section-done":"Professional Clone Trained","section-awaiting-release":"Professional Clone Awaiting Release","section-training":"Professional Clone Training in progress","section-failed":"Professional Clone Failed","action-continue":"Continue","action-release":"Release","action-contact-support":"Contact Support","delete-title":"Delete voice?","delete-description":"Are you sure you want to delete “{name}”? This action cannot be undone.","delete-cancel":"Cancel","delete-confirm":"Delete","action-view":"View","failed-to-clone":"Failed to clone","continue":"Continue","slots-used":"<used></used>/{limit} slots used","draft-voice":"Draft Voice"},"library":"Library","monitor":"Monitor","conversations":"Conversations","analytics":"Analytics","whats_new":"What's New","knowledge_base":"Knowledge Base","phone_numbers":"Phone numbers","studio_beta":"Studio Beta","quality_guard":"Quality Guard","agent_billing":"Billing","enterprise-nav-desc":"Enterprise customers, contracts & invoices — import signed deals here","enterprise_portal":"Enterprise"},"plan":{"all_plans":"All Plans","already_discounted":"You already have a great discount on your subscription!","badge":"3 MONTHS OFF","best_value":"Best Value","better_discount_message":"Your {percent}% discount is better than the 50% offer. Keep your subscription and enjoy your savings!","billed_annually":"{amount} billed annually","billing_period_label":"Billing Period","buy_more_credits":"Buy more credits","campare_plans":"Compare plans for more details","cancel":"Cancel","cancel_anyway":"Cancel Anyway","cancel_current_to_change":"Cancel current plan to change","cancel_on":"Cancel on","cancel_reason_comment_placeholder":"Please tell us more...","cancel_reason_low_quality":"Poor audio quality","cancel_reason_missing_features":"Missing features I need","cancel_reason_other":"Other","cancel_reason_prompt":"Why are you cancelling?","cancel_reason_switched_service":"Switching to another service","cancel_reason_too_expensive":"Too expensive","cancel_reason_unused":"I don't use it enough","cancel_scheduled_change_button":"Cancel scheduled downgrade","cancel_scheduled_downgrade_to_upgrade":"Cancel scheduled downgrade to upgrade plan","cancel_subscription":"Cancel subscription","cancel_subscription_title":"Cancel Subscription?","cancel_subscription_warning":"Cancelling will remove access to cloned voices beyond the free slot at the end of your billing period.","cancel_to_downgrade":"Cancel plan to downgrade","cancelling":"Cancelling","cancels_on":"Cancels on","cannot_downgrade_cross_period":"Downgrade Unavailable","changes_scheduled_for":"Changes will take effect on","changes_take_effect_immediately":"Changes will take effect immediately","changing_on":"Changing on","changing_to":"Changing to","checking_offer":"Checking your offer...","claim_offer":"Claim 50% Off","comming_soon":"Coming Soon","compare_plans":"Compare plans for more details","confirm_and_pay":"Confirm and Pay","confirm_change":"Confirm Change","confirm_downgrade":"Confirm Downgrade","confirm_plan_change":"Confirm Plan Change","confirm_upgrade":"Confirm Upgrade","continue":"Continue","credit_packs_description":"Purchase additional credits to boost your account. Credits never expire and can be used anytime.","credit_packs_note":"Purchased credits will never expire and will be used after package credits have been used up.","credits_remaining_label":"Credits Remaining","legacy_paid_tts_unlimited_notice":"Text To Speech: Unlimited","legacy_paid_other_features_use_credits":"Other features use credits","current_plan":"Current Plan","current_plan_label":"Current Plan","current_plan_subscription":{"expire_date":"Expiry date: {date}","title":"Current Plan"},"current_plan_title":"Current Plan","downgrade":"Downgrade","downgrade_to_plan":"Downgrade to {plan}","downgrade_description":"Your plan will be downgraded at the end of your current billing period","downgrade_notice":"Downgrade Notice","existing_discount_active":"Active discount on your subscription","existing_discount_forever":"Forever discount on your subscription","expire_date":"Expiry date: {date}","faq":{"q1":{"answer":"Each minute of generation costs roughly 600 to 625 credits.","question":"How many credits does each minute of generation cost?"},"q2":{"answer":"Free plan gives you free generations per month while Premium provides credits for up to 200 minutes of highest quality S1 generations.","question":"What's the difference between Free and Premium plans?"},"q3":{"answer":"Yes, you can switch between monthly and yearly billing at any time. When switching to yearly, you'll save 33% compared to monthly billing. Changes take effect at your next billing cycle.","question":"Can I switch between monthly and yearly billing?"},"q4":{"answer":"We accept all major credit cards (Visa, MasterCard, American Express), debit cards, and various regional payment methods through our secure payment processor.","question":"What payment methods do you accept?"},"q5":{"answer":"Credits get replenished and reset each month. See your remaining credits at <textToSpeech>text to speech</textToSpeech> page.","question":"When do my credits reset?"},"q6":{"answer":"Monthly quotas reset at the beginning of each billing cycle. Unused minutes do not roll over to the next month. We recommend using your allocated minutes within your billing period.","question":"What happens to my unused minutes?"},"q7":{"answer":"Yes! Premium subscribers get access to our flexible pay-as-you-go API. You can find detailed documentation and pricing information in our <apiDocs>developer documentation</apiDocs>.","question":"Do you offer API access?"},"q8":{"answer":"Premium subscribers can use verified voices (that you own) for commercial purposes. Free plan users can only use generated content for personal, non-commercial projects. Please review our terms of service for detailed usage rights.","question":"Can I use generated voices for commercial purposes?"},"title":"Frequently Asked Questions"},"free":"Free","free_plan_credits":"8,000","free_plan_credits_text":"credits monthly","free_plan_description":"Experience realistic AI voice technology.","free_plan_title":"Free Tier","free_powers":["Up to 7 minutes of highest quality S1 and S2 generation","Up to 500 characters per generation","Standard generation speed","3 public voice slots"],"great_deal_title":"You Already Have a Great Deal!","has_scheduled_change":"Has scheduled change","highly_recommended_for_who_seek_to_make_premium_content":"Highly recommended for who seek to make premium content.","hold_to_confirm_payment":"Hold to confirm payment","hold_to_pay":"Hold to Pay","keep_my_discount":"Keep My Discount","keep_subscription":"Keep Subscription","lite_plan_description":"Great for hobbyists and light users.","lite_powers":["Up to 60 minutes of S1 generation monthly","Priority generation on our latest models","Up to 5,000 characters per generation","Enhanced voice cloning","Unlimited public + 10 private voice slots"],"login_for_free":"Sign Up for Free","looking_for_api_pricing":"Looking for API pricing?","manage_subscription":"Manage Subscription","start_free_trial":"Start Free Trial","subscription_history":"Subscription History","minimum_charge_notice":"A minimum charge has been applied","month":"month","monthly":"Monthly","new_plan":"New Plan","next_billing_date_label":"Next Billing Date","no_payment_required":"No Additional Payment Required","pack_1m_credits":"1,000,000 credits","pack_1m_description":"Perfect for regular users","pack_1m_audio_usage_estimate":"Up to 800 min audio, 6666 images, or 1459 s video.","pack_1m_creative_usage_estimate":"Up to 800 min audio, 6666 images, or 1459 s video.","pack_5m_credits":"5,000,000 credits","pack_5m_audio_usage_estimate":"Up to 4000 min audio, 33333 images, or 7299 s video.","pack_5m_creative_usage_estimate":"Up to 4000 min audio, 33333 images, or 7299 s video.","pack_5m_description":"Best for heavy users","pack_5m_recommended":"Recommended for heavy users","pick_your_plan":"Choose Your Plan","pick_your_plan_description":"Unleash your creativity with unlimited generations","pick_your_premium":"Pick Your Premium","plan":"Plan","plan_credits_text":"credits monthly","team_plan_free_subtitle":"For everyone","team_plan_offer_banner":"Anniversary Special: 50% off when billed annually","team_plan_generation_summary":"Up to {minutes} minutes generation","team_plan_no_credit_card":"No credit card needed","team_plan_commercial_use_short":"Commercial use","team_plan_plus_trial_feature":"Try Plus plan for free for {days} days","team_plan_voice_design_access":"Access to Voice Design","team_plan_professional_voice_slots_plus":"1 professional voice slot","team_plan_professional_voice_slots_pro":"5 professional voice slots","team_plan_professional_voice_slots_max":"15 professional voice slots","team_plan_everything_in_plus":"And everything in Plus","team_plan_everything_in_pro":"And everything in Pro","team_plan_enterprise_controls":"with organization-level controls","team_plan_custom_sso_coming_soon":"Custom SSO (Coming soon)","plan_price_unit":"mo","plus":"Plus","plus_plan_description":"Access all advanced features.","plus_plan_description_v2":"For creators and professionals.","plus_plan_title":"Pro","plus_powers_v2":["Up to 200 minutes of S1 and S2 generation monthly","Priority generation on our latest models","Up to 15,000 characters per generation","Enhanced voice cloning","Unlimited public + 10 private voice slots","Commercial use allowed","API access (pay-as-you-go)"],"plus_powers":["Everything in premium","Enhanced reference audio","Priority access to the new models"],"plus_upgrade_button":"Coming Soon","popular":"Popular","premium":"Premium","premium_legacy_plan_updates_link":"Learn more about plan updates","premium_plan_credits":"250,000","premium_plan_credits_text":"credits monthly","premium_plan_description":"Perfect for creators who need professional-quality content.","premium_plan_title":"Premium (Legacy)","premium_powers":["Up to 200 minutes of highest quality S1 generations","Priority generation on our latest models","Enhanced voice cloning","Unlimited voice slots","Expressive speech","Lightning-fast generation speed","Advanced model parameters","Flexible pay-as-you-go API","Commercial use of verified voices"],"pricing_breakdown":"Pricing Breakdown","pro_plan_description":"For power users and businesses.","pro_powers":["Up to 1,620 minutes of S1 and S2 generation monthly","Priority generation on our latest models","Up to 30,000 characters per generation","Enhanced voice cloning","Unlimited voice slots","Commercial use allowed","3 team seats included","API access (pay-as-you-go)"],"max_plan_description":"For teams with large-scale production needs.","max_powers":["Up to 6,250 minutes of S1 and S2 generation monthly","Priority generation on our latest models","Up to 30,000 characters per generation","Enhanced voice cloning","Unlimited voice slots","Commercial use allowed","10 team seats included","API access (pay-as-you-go)"],"proceed_to_payment":"Proceed to Payment","processing":"Processing...","promo_badge_1":"3 MONTHS OFF","promo_badge_2":"Anniversary 50% OFF","promo_badge_2_mobile":"Anniversary 50% OFF","promo_badge_monthly":"Anniversary: first month 50% OFF","prorated":"Prorated","purchase_pack":"Purchase","quota":"Quota:","quota_reset":"Quota Reset:","reactivating":"Reactivating...","refresh_tooltip":"Your credits will refresh in {days} days on {date}.","renew_subscription":"Renew subscription","renewal_date":"Renewal date","replacing_discount":"This will replace your current {percent}% {duration} discount","retention_offer_applied":"50% discount applied to your next renewal!","retention_offer_benefit":"Keep your cloned voices and premium features","retention_offer_description":"Get 50% off your next renewal and keep all your premium features.","retention_offer_title":"Wait! Here's a special offer","scheduled":"Scheduled","scheduled_change":"Scheduled change","scheduled_change_cleared":"Your scheduled plan change was cleared","subscription_cancelled":"Your subscription will cancel at the end of the billing period","subscription_cancelling":"Subscription Cancelling","subscription_reactivated":"Your subscription has been reactivated","switch_to_annual":"Switch to annual billing for 3 months off!","switch_to_annual_billing":"Switch to Annual Billing","switch_to_plan":"Switch to {plan}","total_due":"Total Due","try_out_ai_voice":"Try out the ultra-realistic AI voice.","unlimited_generations_ignite_infinite_creativity":"Unlimited generations ignite infinite creativity","unlock_all_features":"Unlock all powerful features.","update_payment":"Update payment","upgrade":"Upgrade","upgrade_to_plan":"Upgrade to {plan}","upgrade_modal_cta":"Upgrade to {plan} {billing}","upgrade_modal_billing_monthly":"Monthly","upgrade_modal_billing_annually":"Annually","upgrade_at_no_cost":"Your upgrade will be processed at no additional cost","upgrade_charged_immediately":"Your upgrade will be charged immediately","upgrade_ends_trial_charged_immediately":"Upgrading ends your free trial now — you'll be charged immediately","pay_now_convert_trial":"Pay now and start your plan","upgrade_no_credits":"Upgrade for more credits","upgrade_no_credits_pro":"Purchase more credits","upgrade_char_limit":"Byte Limit Reached","upgrade_char_limit_desc":"Your current plan's byte limit has been reached. Upgrade to a higher plan for more bytes per generation.","upgrade_plan":"Upgrade Plan","upgrade_to_premium":"Upgrade to Premium","upgrade_to_pro_for_credits":"Upgrade to Pro to purchase additional credits","yearly":"Yearly","yearly_discount":"33% off","yearly_benefit_money_back":"7 days money back guarantee","yearly_trial_banner":"Try Plus annual plan free for 5 days","yearly_trial_billing_note":"{amount} billed annually after {days}-day free trial","trial_feature":"{days}-day free trial","you_save":"You save {amount}","your_current_plan":"Your current plan","your_power":"Your Power","currency_select_label":"Currency","prices_in_usd":"USD","cancel_access_until":"You'll keep access until {date}","cancel_credits_remaining":"Credits remaining: {count}","view_plans":"View plans","buy_credits_hero_subtitle":"Unleash your creativity","buy_credits_close":"Close buy credits dialog","credit_pack_feature_never_expire":"Top-up credits never expire","credit_pack_feature_after_subscription":"Consumed after subscription credits are used up","credit_pack_feature_after_subscription_ends":"Can be used anytime, even after subscription ends","upgrade_modal_monthly_confirm_title":"Pay less with annual billing","upgrade_modal_monthly_confirm_description":"Switch to annual billing and save {amount}.","upgrade_modal_continue_monthly":"Continue monthly","upgrade_modal_switch_annual_with_savings":"Switch to annual (save {amount})","upgrade_modal_audio_description":"Unlock text to speech & more features","upgrade_modal_creative_description":"Unlock video generation & more features","upgrade_modal_first_month_half_price":"First month 50% off","upgrade_modal_and_more":"And more","upgrade_modal_monthly_credits":"{credits} monthly credits","payment_link_modal_title":"Complete your payment","payment_link_modal_description":"Click the button below to open the secure payment page in a new tab. You can also copy the link.","payment_link_modal_copy_link":"Copy link","payment_link_modal_open_new_tab":"Open in new tab","payment_link_modal_close":"Close","payment_link_modal_copied":"Link copied to clipboard","payment_link_modal_copy_failed":"Failed to copy link","payment_link_modal_popup_blocked":"Please allow popups to open the payment page.","audio_upgrade_dialog":{"tts_credits_exhausted_free":{"title":"Continue generating your voice","description":"Your free credits are used up. Upgrade to Plus for up to 200 minutes of high-fidelity voice per month and up to 15,000 characters per generation."},"tts_credits_exhausted_plus":{"title":"Unlock 8x more voice credits","description":"Your monthly voice credits are used up. Upgrade to Pro for up to 27 hours of voice per month."},"tts_character_limit_free":{"title":"Generate longer content at once","description":"Free plans can generate up to 500 characters at a time. Upgrade to Plus for up to 15,000 characters per generation and 200 minutes of voice per month."},"tts_character_limit_plus":{"title":"Generate 30,000 characters at once","description":"Upgrade to Pro to double your per-generation limit to 30,000 characters and get up to 27 hours of voice per month."},"stt_credits_exhausted":{"title":"Transcribe more audio","description":"Your credits are used up. Upgrade to Pro to transcribe up to 11 hours of audio per month."},"voice_private_required":{"title":"Create private voices","description":"Private voices are available on Plus and above. Upgrade to create 10 private voices, with unlimited public voices."},"voice_private_limit":{"title":"Private voice slots are full","description":"Upgrade to Pro to unlock unlimited private voices."},"voice_public_limit":{"title":"Voice slots are full","description":"Free plans include up to 3 voices. Upgrade to Plus to unlock unlimited public voices and 10 private voice slots."},"voice_clone_duration_limit":{"title":"Upload longer reference audio","description":"Free plans can upload up to 90 seconds. Upgrade to Plus to upload 210 seconds for more realistic voice cloning."},"pvc_required":{"title":"Unlock Professional Voice Clone","description":"Upgrade to Plus to get 1 professional clone slot and recreate your voice with studio-grade fidelity."},"pvc_limit":{"title":"Create more professional clones","description":"Your professional clone slot is used up. Upgrade to Pro to get 5 professional clone slots."},"studio_export_required":{"title":"Export your project","description":"Project export is a paid feature. Upgrade to Plus to unlock unlimited exports, 200 minutes of voice per month, and 10-way concurrent synthesis."},"sound_generation_credits_exhausted":{"title":"Continue creating","description":"Your credits are used up. Upgrade to Plus to generate up to 50 sound effects or music tracks per month."},"processing_credits_exhausted":{"title":"Process more audio","description":"Your credits are used up. Upgrade to Pro to process up to 11 hours of audio per month."},"generic_entry_free":{"title":"Choose your plan","description":"Upgrade to unlock longer generations, more voice slots, and up to 200 minutes of voice per month."},"generic_credits_exhausted_paid":{"title":"Upgrade for more credits","description":"Your credits are used up. Upgrade your plan or buy more credits to continue."},"voice_private_required_pro":{"title":"Create private voices","description":"Upgrade to Pro to unlock unlimited private voices."},"voice_public_limit_pro":{"title":"Unlock unlimited voice slots","description":"Upgrade to Pro to unlock unlimited voice slots and get 5 professional voice slots."},"voice_clone_duration_limit_pro":{"title":"Upload longer reference audio","description":"Upgrade to Pro to upload 210 seconds of reference audio and unlock unlimited voice slots."},"pvc_required_pro":{"title":"Create professional voice clones","description":"Upgrade to Pro to get 5 professional clone slots and recreate your voice with studio-grade fidelity."},"studio_export_required_pro":{"title":"Export production projects","description":"Upgrade to Pro to unlock unlimited exports, up to 27 hours of voice per month, and higher production capacity."},"sound_generation_credits_exhausted_pro":{"title":"Scale your audio creation","description":"Upgrade to Pro for a larger monthly credit pool and more room for sound effects, music, and voice work."},"sound_generation_credits_exhausted_max":{"title":"Continue creating","description":"Your credits are used up. Upgrade to Max for the highest monthly credit pool."},"generic_entry_pro":{"title":"Scale your voice production","description":"Upgrade to Pro to unlock 27 hours of voice per month, 30,000 characters per generation, unlimited private voices, and 5 professional clone slots."},"generic_entry_max":{"title":"Upgrade for maximum credits","description":"Upgrade to Max for the highest monthly credit pool."},"tts_credits_exhausted_max":{"title":"Unlock maximum voice capacity","description":"Upgrade to Max for up to 6,250 minutes of voice per month for large-scale content production."},"tts_character_limit_max":{"title":"Generate 30,000 characters at once","description":"Upgrade to Max to double your per-generation limit to 30,000 characters and get up to 6,250 minutes of voice per month."},"stt_credits_exhausted_max":{"title":"Transcribe audio at scale","description":"Upgrade to Max for the highest monthly credit pool and more room for long-form transcription."},"voice_private_limit_max":{"title":"Scale private voice creation","description":"Upgrade to Max to unlock unlimited voice slots and get 15 professional voice slots."},"pvc_limit_max":{"title":"Create professional clones at scale","description":"Upgrade to Max to get 15 professional clone slots."},"processing_credits_exhausted_max":{"title":"Process audio at scale","description":"Upgrade to Max for the highest monthly credit pool and more room for voice conversion, vocal separation, and other audio processing."},"generic_credits_exhausted_max":{"title":"Upgrade for maximum credits","description":"Upgrade to Max or buy a credit pack to continue with the highest monthly credit pool."},"pvc_required_max":{"title":"Unlock Professional Voice Clone","description":"Upgrade to Max to get 15 professional clone slots and recreate your voice with studio-grade fidelity."}}},"playground":{"text_to_speech":"Text to Speech","speech_to_text":"Speech to Text","view_docs":"View Docs","create_key":"Create Key","tab_curl":"cURL","tab_python":"Python","tab_javascript":"JavaScript","copy_code":"Copy code","copied_title":"Copied to clipboard","audio":"Audio","audio_supported":"Supported: {formats} (Max {max} per file)","upload":"Upload","restore_default_audio":"Restore default audio","language":"Language","auto_detect":"Auto-detect","lang_en":"English","lang_zh":"Chinese","lang_de":"German","lang_ja":"Japanese","lang_fr":"French","lang_es":"Spanish","lang_ko":"Korean","lang_ar":"Arabic","ignore_timestamps":"Ignore Timestamps","true":"True","false":"False","run_request":"Run Request","output":"Output","download":"Download","copy":"Copy","invalid_format":"Unsupported file format","file_too_large":"File exceeds 10MB limit","cancel":"Cancel","playground_key_title":"API key required","playground_key_description":"The playground needs an API key to run requests. A key named \"Playground\" will be created for you.","request_failed":"Request failed. Please try again.","error_invalid_key":"This API key was rejected — check it exists in this environment.","error_insufficient_credit":"Insufficient API credit — top up to run requests.","error_env_unavailable":"Running requests isn't available in this environment yet.","error_generic":"Request failed — please try again.","model":"Model","voice":"Voice","text":"Text","select_voice":"Select voice","play":"Play","pause":"Pause"},"premium":{"access_the_api_page":"Access the API Page","access_the_api_page_desc":"Visit the Fish Audio API section where you can find the button to create new token","account_balance":"Account Balance","account_connected":"Account Connected","account_not_connected":"Account Not Connected","action":"Action","action_at":"Action At","activate":"Activate","active_keys":"Active Keys","add_credit_amount_label":"Recharge amount","add_credit_amount_range":"Enter an amount from $1 to $10,000.","add_credit_description":"Choose how much USD credit to add. You will review and pay in Stripe.","add_credit_presets":"Quick amounts","add_credit_title":"Add API credit","amount":"Amount","auto_recharge_caption":"when balance is below ${amount}","auto_recharge_off_value":"Off","automatic_recharge_title":"Automatic Recharge","available_balance":"Available balance","amount_should_be_greater_than_10":"Input should be greater than or equal to 10","api":"API","api_balance":"API Credit","api_balance_tips":"Your balance is separate from playground quota. Purchasing premium doesn't include free API calls.","api_keys":"API Keys","api_playground":"API Playground","api_stats":"API Stats","api-keys":"API Keys","api-manage":"API Management","api_key":"API Key","asr_cost":"ASR Cost","asr_requests":"ASR Requests","asr_usage":"ASR Usage","auto_deduction":"Auto Recharge","auto_deduction_active_status":"Active","auto_deduction_inactive_status":"Inactive","auto_deduction_tooltip":"Click to activate auto recharge.","auto_recharge":"Activate Auto Recharge","auto_recharge_off_description":"Won't refill automatically","auto_recharge_on_description":"Refills ${amount} when below ${min}","balance":"Balance","balance_records":"Balance records","balance_tips":"The balance is independent of the Playground quota. Membership purchase does not include free API calls.","base_concurrent_request":"15 concurrent requests for users who have paid more than $100, 5 concurrent requests for other users.","billing":"Billing","billing_description":"Manage your API credits, set up auto-recharge, and view billing history.","buy_quota":"Add Credit","by_api_key":"By API Key","by_model":"By Model","by_service":"By Service","bytes_unit":"bytes","cancel":"Cancel","change":"Change","charges_disabled":"Charges Disabled (Verification Required)","charges_enabled":"Charges Enabled","comparison_details":"Comparison Details","confirm":"Confirm","connect_account":"Connect Account","connected":"Stripe Account Connected","connection":"Connection","contact_us":"Contact Us","continue":"Continue","continue_to_payment":"Continue to payment","copied":"Copied","copied_title":"Copied to clipboard","copy":"Copy","copy_success":"Developer ID Copied","cost":"Cost","cost_by_api_key":"Cost by API Key","count":"Count","create_api_key":"Create API Key","create_token":"Create Token","create_token_tips":"Store this secret key securely. You won't be able to view it again in your Fish Audio account for security reasons. If you lose it, you will have to create a new one.","create_your_api_token":"Create your API token","create_your_api_token_desc":"Select \"New Token\" to create an API token. Keep your API key confidential! If you suspect your account has been compromised, delete the old key and generate a new one.","created_at":"Created At","current_period":"Current","custom":"Custom","daily_limit":"Daily Limit","daily_reset_desc":"Premium: Your limit refreshes at midnight - doesn't carry over","delete":"Delete","delete-confirm-tips":"This action is irreversible and will disable any services using this token. Confirm to proceed.","delete-confirm":{"cancel":"Cancel","confirm":"Confirm","title":"Are you sure you want to delete this API token?"},"delete-success":"Delete Success","details_missing":"Account Details Incomplete (Personal Info & Bank Account Required)","details_submitted":"Account Details Complete","developer_account":"Developer account","developer_api":"Developer Dashboard","developer-program":"Program for developers","disable":"Close","disconnect":"Disconnect","disconnect_description":"After disconnecting, you will no longer be able to receive payments.","disconnect_success":"Disconnect Success","documentation":"Docs","done":"Done","download_invoice":"Download invoice","each_recharge_amount":"Each recharge amount","edit_token":"Edit Token","efficient_usage_plan":"Charging","enable":"Enable","enter_amount":"Please enter the withdrawal amount","example":"Example","expiration":"Expiration","expiration_date":"Expiration Date","expired_at":"Expire","export":"Export","free_credit":"Get Free Credit","free_input_characters":"free input characters","free_input_size_desc":"Free: 500 bytes per request (~30 seconds of speech)","free_limit_desc":"Free: Credits reset every 30 days","free_plan":"Free","free_reset_30days_desc":"Free users: Quota resets every 30 days at 00:00 (UTC).","generations_unit":"generations","group_by":"Group by","higher_usage":"For higher usage, we're open to discussing custom options.","how_to_use_api":"How To Use API","id":"ID","income":"Income","income_and_withdraw_records":"Income and Withdraw Records","increase_title":"Ready to Scale Up?","increase_title_desc":"Choose Your Plan:","input_size":"Input Size","insufficient_api_credit":{"close":"Close","recharge":"Recharge Now","status":{"description":"Your API account balance is insufficient to pay for the current request. Please check your balance or recharge.","title":"Current Status","unlock_time":"You need to recharge to continue using the paid model"},"subtitle":"The selected model is a paid model, and your API credit is insufficient to use","title":"Insufficient API Credit"},"invite_now":"Invite Now","invite_tips":"Get matching membership duration when your invited users recharge","invite_url_copied":"Invite URL Copied","last_24_hours":"Last 24 hours","last_30_days":"Last 30 days","last_7_days":"Last 7 days","learn_more":"Learn More in Our Docs","left":"left","left_for_today":"Left for Today","log_in_to_view_usage":"Log in to view usage","manage":"Manage","manage_subscription":"Manage Subscription","model":"Model","maximum_duration_tips":"{count} requests per 30 days and {limit} UTF-8 bytes per request.","metric":"Metric","million_bytes":"million UTF-8 bytes","min_unit":"min","minimum_deduction":"Minimum Recharge","money":"Amount","more":"More","never_expire":"Never Expire","new_token":"New Token","next_refresh":"Next Refresh","next_tier":"Next Tier","no_accumulation":"No Accumulation","no_accumulation_desc":"Unused daily quota does not carry over to the next day.","no_comparison_data":"No comparison data available","no_token_created_yet":"No token created Yet","no_usage_data":"No usage data","not_connected":"Stripe Account Not Connected","open_payment_page":"Open Payment Page","otp":"Verification Code","pay_in_stripe":"Pay in Stripe","payouts_disabled":"Payouts Disabled (Identity & Bank Verification Required)","payouts_enabled":"Payouts Enabled","pending_payment_description":"You have an unpaid invoice that may prevent automatic charging.","pending_payment_description_2":"Please settle the payment manually or update your payment method in Stripe. Once you update your payment method, this invoice will be automatically closed.","pending_payment_title":"Pending Payment","payment_method":"Payment method","payment_method_description":"Manage the card or wallet used for Auto Recharge in Stripe.","phone_number":"Phone Number","playground":"Playground","popup_blocked_description":"The browser may be blocking the payment page popup. You can click the button below to try again or copy the link in a new tab.","popup_blocked_title":"Payment Page May Not Be Accessible","premium_duration_tips":"Unlimited* under fair use policy.","premium_input_size_desc":"Premium: 5,000 bytes per request (~5 minutes of speech)","premium_limit_desc":"Premium: Unlimited* under fair use policy.","premium_plan":"Premium","previous_period":"Previous","quota_refresh":"Quota refresh","quota_refresh_desc":"The daily quota refreshes at 00:00 (UTC).","quota_usage":"Quota Usage","rate_limit":"Rate Limit","reason":"Reason","recharge_when_balance_falls_below":"Recharge when balance falls below","redeem":"Redeem Credit","redeem-success":"Redeem Success","refer_to_our_documentation":"Refer to our documentation for further details.","refer_to_our_documentation_and_start_building":"Refer to our documentation and start building","refer_to_our_documentation_and_start_building_desc":"Check out our API documentation to understand how to utilize our Text-to-Speech and Train for your projects!","refresh":"Refresh","remark":"Remark","reset":"Reset","reviewed_at":"Reviewed At","reviewer":"Reviewer","risk_control":{"actions":{"close":"Close","contact_support":"Contact Support"},"helpLabel":{"description":"Here are some common reasons for account blocking:","reason1":"Account sharing detected","reason2":"Abnormal account usage","reason3":"Suspicious network environment","title":"Need Help?"},"status":{"description":"Your account has been temporarily restricted due to suspicious activity detected by our security system. This precautionary measure is essential to safeguard both your account and our platform's integrity.","title":"Account Status","unlock_time":"Your account will be automatically unlocked and restored in a few hours."},"subtitle":"Security Notice","title":"Account Temporarily Blocked"},"rules":"Ready for premium?","save":"Save","select_quota_tips":"Select the amount of quota you want to buy","setting":"Setting","setting_success":"Setting Success","service":"Service","single_deduction_amount":"Single Recharge Amount","source":"Source","speech_to_text":"Speech-to-Text","spent":"Spent","status":"Status","stripe_access_error":"The payment page may not be accessible. Please check your network connection or try again later.","stripe_invoice_id":"Stripe Invoice ID","text_limit":"Text limit","text_limit_desc":"In a single request, up to 500 UTF-8 bytes can be used, and premium users can use up to 30,000 bytes.","text_to_speech":"Text-to-Speech","there_are_token_has_been_created_yet":"There are token has been created yet","token":"Token","top_up":"Top Up","top_up_label":"Top up","total_cost":"Total cost","total_quotas":"Total Quota","total_spending":"Total Spending","tts_cost":"TTS Cost","tts_requests":"TTS Requests","tts_usage":"TTS Usage","unit":"Unit","update_payment_method":"Update payment method","upgrade_monthly":"One-Month Pass","upgrade_subscription":"Monthly Subscription","upgrade_yearly":"One-Year Pass (Save 33%)","usage":"Usage","usage_breakdown":"Usage Breakdown","usage_by_api_key":"Usage by API Key","usage_monitoring":"Usage Monitoring","usage_monitoring_desc":"Quota usage is monitored to prevent misuse or excessive use. Any detected misuse may result in restricted or suspended quotas.","usage_stats":"Usage Stats","user_id":"User ID","validation":{"phone_number_format":"The phone number format is incorrect","phone_number_max":"Phone number cannot exceed 15 digits","phone_number_min":"Phone number must be at least 10 digits"},"view_documentation":"View Documentation","vs_previous_24h":"vs previous 24h","vs_previous_30d":"vs previous 30 days","vs_previous_7d":"vs previous 7 days","vs_previous_period":"vs previous period","withdraw":"Withdraw","withdraw_invalid_amount":"Please enter a valid whole-dollar amount","withdraw_record":"Withdraw Record","withdraw_record_status":{"approved":"Approved","pending":"Pending","rejected":"Rejected"},"withdraw_success":"Withdraw Success","zero_retention_banner_title":"Zero Retention enabled","zero_retention_banner_description":"API text submitted under this team is excluded from text retention and training-data collection.","s21_free_banner_title":"S2.1 Pro is now free for developers","s21_free_banner_description":"Build with S2.1 Pro Free: prototype, test, and ship voice features with our most advanced voice model.","buffer_hint":"Your recent API usage averages ${spend}/day, so this threshold only covers about {hours}h. A declined charge waits several hours before the next attempt — long enough to run out.","buffer_hint_apply":"Use ${min} threshold / ${amount} per recharge","auto_recharge_disabled_notice":"Automatic recharge was turned off after your card was declined ({reason}). Update your payment method, then turn it back on.","auto_recharge_reenable":"Re-enable","auto_recharge_failed_notice":"The last automatic recharge was declined ({reason}). It will retry automatically — you can also top up manually.","auto_recharge_no_pm_notice":"Automatic recharge is off because there is no usable payment method on file. Add a payment method, then turn it back on."},"profile":{"avatar":"Avatar","avatar_description":"This image will appear on various pages as your user avatar on this website","avatar_description_2":"(file must be less than 1MB)","bio":"Bio","bookmarks":"Bookmarks","cancel":"Cancel","change_avatar":"Change Avatar","change_email":"Change Email","change_email_dialog":{"confirm":"Confirm Change","continue":"Continue","new_email_label":"New Email","new_email_placeholder":"name@example.com","send_code":"Send Code","start_over":"Start over","subtitle_confirm":"Enter the verification code we sent to {email} to confirm your new email address.","subtitle_start":"To keep your account secure, we'll first send a verification code to your current email address.","subtitle_verify":"Enter the code we sent to {email}, then enter your new email address.","success":"Your email address has been updated","title":"Change Email"},"change_password":"Change Password","copied_title":"Copied to clipboard","edit_profile":"Edit Profile & Settings","email":"Email","joined_at":"Joined ","likes":"Likes","list":"List of Models","login":"Login","models_created":"Models Created","nickname":"Nickname","no_collection_tips":"There's no collection yet","no_likes_tops":"There's no likes yet","no_socials":"No social links yet","no_trained_voices_yet":"No trained voices yet","password":"Password","personal_website_url":"Personal Website URL","profile_details":"Profile Details","save":"Save Changes","socials":"Socials","sort":{"count":"Recommended","new":"Newest","title":"Sort by"},"total_likes":"Total Likes","total_marked":"Total Marked","total_shared":"Total Shared","username":"Username","voice_conversions":"Voice Conversions"},"self-host":{"all_in_one_handoff":"The deployment guide you just downloaded has the full docker run command (all-in-one.md in the extracted archive). You're done when a test request returns audio. Upgrading an existing deployment? Pick the new version above, then re-run with it.","artifacts_empty":"No deployment has been granted to this team yet. Contact fish.audio to get access.","artifacts_load_failed":"Couldn't load your deployment. Refresh the page to retry.","cancel":"Cancel","copied_title":"Copied to clipboard","copy_command":"Copy command","copy_token":"Copy deploy token","create":"Create","create_token":"Create Deploy Token","created":"Created","delete":"Delete","delete_confirm_body":"Deleting \"{name}\" is irreversible and any deployment using this token will stop pulling images. Confirm to proceed.","delete_confirm_title":"Delete deploy token","delete_success":"Delete Success","deployment_title":"Before you start","docker_login_title":"Sign in to the registry","documentation":"Docs site","form_all_in_one_offline":"Offline All-in-One","form_all_in_one_online":"Online All-in-One","form_helm_offline":"Offline Helm","form_helm_online":"Online Helm","helm_description":"Install the Fish Audio chart on your Kubernetes cluster. Online and Offline are one chart — the mode picked below decides which values file the runbook applies; the pull stays the same.","helm_handoff":"The deployment guide you just downloaded has the full install, including which values file serves each mode and where the online profile can pull models from (deployment-runbook.md in the extracted archive). You're done when every pod is Ready and a test request returns audio. Upgrading? Pick the new version above and follow the runbook's upgrade procedure.","i_saved_my_token":"I've saved my token","last_used":"Last used","license_binding":"GPU binding","license_binding_none":"Not bound to specific GPUs","license_binding_uuid":"Bound to GPU UUIDs","license_bound_gpus":"GPUs","license_download":"Download bundle","license_download_failed":"Could not download the bundle.","license_issued_at":"Issued","license_load_failed":"Could not load the license.","license_not_configured":"No license has been set up for this team yet — contact Fish Audio support to have it issued. The deployment cannot start without one.","license_product":"Product","license_title":"License","license_valid_until":"Valid until","limit_hint":"You've reached the limit of 5 deploy tokens.","load_failed":"Couldn't load deploy tokens. Refresh the page to retry.","login_images":"Every command on this page authenticates with these credentials — your email plus a deploy token (created above) as the password.","login_step":"Step 2 · Sign in","name":"Name","never":"Never","no_tokens_yet":"No deploy token created yet","not_enabled":"Self-host deployment is not enabled for this team. Contact your account manager.","profile_label":"Available modes","publisher_badge":"Publisher","publisher_hint":"This team can also push to its granted repositories.","rotate":"Rotate","rotate_confirm_body":"Rotating \"{name}\" issues a new token and the old one stops working immediately.","rotate_token":"Rotate deploy token","save_your_token":"Save your deploy token","title":"Self Host","token":"Token","token_name":"Token name","token_name_placeholder":"Name your deploy token","token_shown_once_warning":"This token is shown only once. Copy it now and store it somewhere safe — you won't be able to see it again.","tokens_description":"The password your machines use to pull images, charts, and documentation from our registry. Create one here, store it safely, and paste it wherever a command below asks for a deploy token.","tokens_title":"Deploy Tokens","version_label":"Version","version_latest":"Latest","version_recorded":"Recorded {date}","version_release_notes":"What's new","badge_docker":"Docker","badge_kubernetes":"Kubernetes","all_in_one_group_description":"All-in-One: the whole stack in one Docker container on your GPU host. Pick the mode your deployment needs — the pull below is for that mode.","axis_offline":"Offline","axis_offline_ex":"Usage recorded to a local signed ledger; no outbound billing calls.","axis_online":"Online","axis_online_ex":"Each request authorised and billed live against Fish Audio; needs outbound access.","axis_dual_gpu":"Dual-GPU","axis_dual_gpu_ex":"Worker on GPU 0, vocoder on GPU 1.","axis_single_gpu":"Single-GPU","axis_single_gpu_ex":"A special case: one H100-class 80 GB card, shared by worker and vocoder through MPS. Lower throughput than Dual-GPU.","axis_baked":"Baked weights","axis_baked_ex":"Model weights baked into the image; fully self-contained.","axis_external":"External weights","axis_external_ex":"Weights provided at run time (mounted or from S3), not in the image.","license_contract_term":"Contract","license_pending_issue":"Your license is being prepared — it will be available to download here shortly. You can continue with the Install step meanwhile; only starting the deployment needs the bundle.","license_guidance_issue":"Your download includes a new license.key, so the service must (re)start to load it. Follow the license setup steps in the deployment guide you received.","license_guidance_renew":"This is a renewal — only license.crt changes, and it reloads with no restart. Follow the \"License Renewal\" section of the deployment guide you received.","license_renewal_hint":"Your certificate expires {date}. Before then, settle this period's invoice — and, if you're on offline billing, send us the usage ledger. Once we've reconciled it, we renew your license and your validity extends.","axis_helm_models":"Models","axis_helm_models_ex":"In-cluster by default; can also pull from Fish Audio's S3 or your own storage — see the runbook.","license_description":"Required to run the deployment: download the bundle and mount it where the deployment guide's License section shows — the guide itself is downloaded in the Install step. A renewal replaces only license.crt, in place.","step_token":"Step 1 · Deploy token","step_install":"Step 4 · Install","choose_description":"What your team is granted, and what to have ready. Need a different setup, or the full picture? See the Docs site or ask Fish Audio support.","platform_aio_summary":"One container on a single machine. No Kubernetes; the smallest footprint.","platform_helm_summary":"The chart on your Kubernetes cluster: scales out, rolling upgrades.","need_gpus_label":"GPUs:","need_runtime_label":"Host runtime:","need_network_label":"Network:","need_network":"Outbound access to registry.fish.audio from the machine that downloads the image or chart. Online billing also needs outbound access at runtime, to the Fish Audio billing endpoint — api.fish.audio, unless your delivery credentials name another. Offline modes run air-gapped at runtime.","need_license_label":"License:","need_license":"Required on every platform. Missing, the services never come up; expired, they run but refuse every request (403). Get the bundle in the License step below.","platform_all_in_one":"All-in-One","platform_helm":"Helm","external_weights_note":"To pull the weight fileset from Fish Audio's hosted bucket, contact Fish Audio for the read-only access keys — the guide's External weights section has the details.","need_gpus_aio":"2 GPUs — one for the inference worker, one for the vocoder; NVIDIA H100/H200 recommended. The Single-GPU mode is a special case: one H100-class 80 GB card shared by both, with lower throughput.","need_runtime_aio":"Docker with the NVIDIA Container Toolkit, a driver supporting CUDA 13.x, at least 128 GiB RAM and ~100 GB of free disk.","need_runtime_helm":"A Kubernetes cluster with the NVIDIA GPU stack.","releases_load_failed":"Couldn't load the published versions. Refresh the page to retry.","install_nothing_published":"No version has been published for this platform yet — contact Fish Audio.","platform_label":"Platform","need_gpus_helm":"A GPU each for the inference worker and the vocoder (timestamps, if enabled, add a third); add replicas to scale. NVIDIA H100/H200 recommended.","install_description":"Choose your platform and mode, pick and note your version, then run the commands — they fetch your deployment guide and artifact, and the install continues in the guide. Options here are what you can install, not what's currently running.","install_description_one":"Pick your mode, note your version, then run the commands — they fetch your deployment guide and artifact, and the install continues in the guide. Options here are what you can install, not what's currently running.","need_network_online":"Outbound access to registry.fish.audio from the machine that downloads the image or chart, and at runtime to the Fish Audio billing endpoint — api.fish.audio, unless your delivery credentials name another.","need_network_offline":"Outbound access to registry.fish.audio from the machine that downloads the image or chart. At runtime, none — the deployment runs air-gapped.","step_license":"Step 3 · License","bys_footer":"Ready? Steps 1–4 below take you through the setup."},"support":{"common":{"cancel":"Cancel","caseIdCopied":"Case ID copied","copyLink":"Copy link","loadingCase":"Loading case...","openModel":"Open model","optional":"Optional","refresh":"Refresh","translatedFrom":"Translated from {language}"},"categories":{"billing":{"help":"Get help with charges, invoices, subscriptions, or refunds.","label":"Billing / refund"},"bug":{"help":"Report something that is broken or behaving incorrectly.","label":"Bug report"},"copyright":{"help":"Submit a copyright or ownership complaint. At least one evidence file is required.","label":"Copyright claim"},"help":{"help":"Ask a general product, account, or workflow question.","label":"General help"},"image_video":{"help":"Get help with the image and video generation feature — failed generations, unexpected results, or usage questions.","label":"Image & Video"},"model_abuse":{"help":"Report unsafe, misleading, low-quality, or otherwise problematic public models.","label":"Model report"},"sales":{"help":"Talk to us about enterprise needs, partnerships, or larger commercial use cases.","label":"Sales inquiry"}},"statuses":{"closed":"Closed","in_progress":"In progress","new":"New","reopened":"Reopened","resolved":"Resolved","triaged":"Triaged","waiting_user":"Waiting for user"},"urgencies":{"critical":{"badge":"Critical","short":"Critical"},"high":{"badge":"High urgency","short":"High"},"low":{"badge":"Low urgency","short":"Low"},"normal":{"badge":"Normal urgency","short":"Normal"}},"detailFields":{"browser":"Browser","claimant_company":"Claimant company","claimant_name":"Claimant name","contact_email":"Contact email","device":"Device","invoice_reference":"Invoice reference","order_reference":"Order reference","page_url":"Page URL","product_area":"Product area","reference_urls":"Reference URLs","subscription_reference":"Subscription reference","title":"Title","company":"Company","expected_volume":"Expected volume","use_case":"Use case"},"attachmentDropzone":{"chooseFiles":"Choose files","copyrightDescription":"Paste, drag and drop, or choose image / audio / PDF files. At least one file is required for copyright / DMCA-like requests. Up to 5 files, 50 MB total.","copyrightTitle":"Evidence files","defaultDescription":"Paste, drag and drop, or choose image / audio / PDF files. Up to 5 files, 50 MB total.","defaultTitle":"Evidence and attachments","fileCounter":"{count} / {max} files","maxFiles":"You can attach up to {max} files.","maxSize":"Attachments exceed the {size} limit.","removeFile":"Remove file","sizeCounter":"{used} / {max}","unsupportedFiles":"Only image, audio, and PDF files are supported."},"detailView":{"internalNotes":{"title":"Internal notes"},"messageAuthors":{"meBadge":"Me","support":"Support","supportBadge":"Support Team","system":"Fish Audio","systemBadge":"System","you":"You"},"overview":{"caseId":"Case ID","linkedSubject":"Linked subject","subject":"Subject","updatedAt":"Updated {date}"},"reply":{"defaultTitle":"Reply","placeholder":"Write your reply","send":"Send reply"},"timeline":{"title":"Timeline"}},"dialog":{"actions":{"create":"Create case","send":"Send request"},"adminNotice":"Creating a manual case will send an acknowledgement email with a secure portal link.","auth":{"description":"Your draft is saved. Sign in to submit this request.","title":"Sign in to contact support"},"billing":{"invoiceReferenceLabel":"Invoice reference","orderReferenceLabel":"Order reference","subscriptionReferenceLabel":"Subscription reference"},"bug":{"pageUrlAttached":"Page URL will be attached automatically: {pageUrl}","productAreaLabel":"Product area","productAreaPlaceholder":"TTS, discovery, billing page, API, etc."},"copyright":{"claimantNameLabel":"Claimant name","companyLabel":"Company","contactEmailLabel":"Contact email","referenceUrlsLabel":"Reference URLs (one per line)"},"description":"Create a structured support case. Image, audio, and PDF files are supported.","descriptionLabel":"Description","descriptionPlaceholder":"Describe what happened and what you need from us.","manageCasesLink":"Manage your cases","manageCasesPrompt":"Need to follow up on an existing request?","modelNotFound":"Model not found.","requestType":"Request type","requester":{"emailLabel":"Requester email","emailPlaceholder":"customer@example.com","hint":"Provide a requester email or requester user ID. Both are not required if one of them is present.","nameLabel":"Requester name","userIdLabel":"Requester user ID"},"restoreAttachmentsInfo":"Please reattach your files before submitting.","reviewForm":"Please review the form.","subjectId":{"label":"Model ID","modelLabel":"Model","placeholder":"Enter a model ID","validate":"Validate model"},"success":{"created":"Support case created.","createdWithCopiedAccessLink":"Support case created. Access link copied."},"title":{"admin":"Create support case","user":"Contact support"},"validation":{"attachmentsRequired":"Please attach at least one evidence file.","claimantCompanyTooLong":"Company name is too long.","claimantNameTooLong":"Claimant name is too long.","contactEmailInvalid":"Enter a valid email address.","descriptionTooLong":"Description is too long.","descriptionTooShort":"Please provide a more detailed description.","invoiceReferenceTooLong":"Invoice reference is too long.","orderReferenceTooLong":"Order reference is too long.","productAreaTooLong":"Product area is too long.","referenceUrlsInvalid":"Reference URLs must be valid absolute URLs.","referenceUrlsTooLong":"Reference URLs are too long.","requesterEmailInvalid":"Enter a valid requester email.","requesterIdentityRequired":"Provide a requester email or requester user ID.","requesterNameTooLong":"Requester name is too long.","requesterUserIdTooLong":"Requester user ID is too long.","subjectIdRequired":"A model ID is required for this request type.","subjectIdTooLong":"Model ID is too long.","subscriptionReferenceTooLong":"Subscription reference is too long.","companyTooLong":"Company name is too long.","expectedVolumeTooLong":"Expected volume is too long.","useCaseTooLong":"Use case is too long."},"sales":{"companyLabel":"Company","expectedVolumeLabel":"Expected volume","useCaseLabel":"Use case"}},"userPage":{"attachments":"{count} attachments","description":"Track your requests, replies, and attachments in one place.","empty":{"description":"Create a case when you need help, want to report a bug, or need billing support.","title":"No support cases yet"},"filters":{"allCategories":"All categories","allStatuses":"All statuses"},"loading":"Loading support cases...","newCase":"New case","openCasePreview":"Open the case to view details.","publicMessages":"{count} public messages","title":"Support cases"},"userDetailPage":{"backToCases":"Back to support cases","replyTitle":"Add a reply"},"accessPage":{"replyTitle":"Reply without signing in"},"adminPage":{"assignee":"Assignee","createManualCase":"Create manual case","description":"Prioritize urgent requests, reply to customers, and manage inbound manual cases.","search":{"placeholders":{"case_id":"SUP-ABCD1234 / 500db7775ebb4610b8a40a42dea2901a","user_email":"customer@example.com","user_id":"500db7775ebb4610b8a40a42dea2901a"},"types":{"case_id":"Case ID","user_email":"User Email","user_id":"User ID"}},"empty":{"description":"Adjust the filters or create a manual case for inbound requests.","title":"No support cases found"},"filters":{"allCategories":"All categories","allUrgencies":"All urgency levels"},"loading":"Loading cases...","openCasePreview":"Open the case to review.","statusFilters":{"activeCases":"Active cases","activeOnly":"Active only","allStatuses":"All statuses","count":"{count} statuses","label":"Status filters","showAll":"Show all statuses"},"title":"Support admin"},"adminDetailPage":{"backToList":"Back to support admin","controls":{"latestAccessLink":"Latest access link","rotateAccessLink":"Rotate access link","status":"Status","title":"Case controls","urgency":"Urgency"},"internalNote":{"add":"Add note","placeholder":"Visible only to support operators","title":"Internal note"},"publicReply":{"aiDraft":"AI draft","draftMessage":"Draft message for AI","draftPlaceholder":"Optional draft or instruction for the AI to refine","insertDraft":"Insert draft","keepCurrentStatus":"Keep current status","missingInformation":"Missing information","optionalStatusAfterReply":"Optional status after reply","reply":"Reply","replyPlaceholder":"Write a response for the customer","suggestedReply":"Suggested reply","suggestedStatus":"Suggested status: {status}","suggestedUrgency":"Suggested urgency: {urgency}","suggestions":"Suggestions","title":"Public reply"},"summary":{"label":"Summary","placeholder":"Optional internal summary","save":"Save case"},"toasts":{"accessLinkCopied":"New access link copied.","caseUpdated":"Case updated.","noteAdded":"Internal note added.","replySent":"Reply sent."},"translationToggle":{"showEnglish":"Show English","showOriginal":"Show original"},"updatedAt":"Updated {date}","userInfo":{"apiBalance":"API balance","creditsBalance":"Credits balance","currentBillingCycleUsage":"Current billing cycle usage","email":"Email","membership":{"cancelsAtPeriodEnd":"Cancels at period end","free":"Free","label":"Membership","periodEnd":"Period end {date}"},"nickname":"Nickname","noLinkedUser":"No linked Fish Audio user was found for this case.","noUsageThisCycle":"No model usage in current billing cycle","openAdminUser":"Open admin user","publicModels":"Public models","title":"User info","usageSince":"{count} uses since {date}","usedThisCycle":"Used models in current billing cycle"}}},"studio-page":{"timeline":{"tooltips":{"collapse":"","expand":"","fit-to-window":"","follow-playhead":"","next-block":"","play-pause":"","previous-block":"","return-to-start":"","ripple-edit-off":"","ripple-edit-on":"","zoom-in":"","zoom-out":""}}},"studio":{"advanced-setting":{"audio_controls":"Audio Controls","loudness_normalization":"Loudness Normalization","text_normalization":"Text Normalization","text_normalization_hint":"Improves reading accuracy for numbers, currency amounts, and similar text.","tag_compatible_mode":"Tag Compatible Mode","tag_compatible_mode_hint":"Converts all brackets into tags for compatibility with text written for older models, but content inside parentheses may no longer be spoken aloud.","tag_compatible_mode_regenerate_notice":"Tag Compatible Mode changes only apply after regenerating audio.","speed":"Speed","speed_hint":"Adjust based on the reference audio","temperature":"Temperature","temperature_hint":"Controls expressiveness. Higher gives more emotion, lower gives more stability.","title":"Advanced Settings","top_p":"Top P","top_p_hint":"Controls variation. Lower gives more consistency but can sound more rigid.","volume":"Volume","volume_hint":"Adjust based on the reference audio","off":"Off","on":"On","scope-segment":"This segment"},"audio-control":{"export-selection":"Export selection","generate":"Generate","generation-failed":"Audio generation failed","generation-in-progress":"This block is already generating","history":"History","play-selection":"Play selection","play-until-end":"Play until end","regenerate":"Regenerate","retry":"Retry","title":"Audio","unsaved-content-error":"Couldn't save your latest edits, so audio generation was canceled. Please try again."},"auto-split-success":"Split into {count} blocks","banner":{"audio-story":{"action-label":"Create","description":"Effortlessly transform long texts into immersive and expressive audio narratives.","title":"Advanced Audio Story"},"instant-speech":{"action-label":"Create","description":"Quickly convert short phrases into natural, lifelike speech in an instant","title":"Instant Speech"},"project-banner":{"title":"My Projects"},"title":"Voice Acting Studio"},"batch-apply":{"title":"Replace settings for all selected segments?","description":"The selected segments currently have different values for this setting. Applying the change will overwrite all of them with the same value.","confirm":"Replace all","cancel":"Cancel"},"block-card":{"auto-tag":"Auto Tag","add-prompt":{"add-speaker":"Add Speaker","audio":"Audio"},"primary-action":{"play":"Play block","pause":"Pause","generate":"Generate and play"},"tags":"Tags","menu":{"auto-split":"Auto-split long text","copy-text":"Copy text","delete":"Delete block","duplicate":"Duplicate block","more":"More actions"},"tooltip":{"add-block":"<b>Click</b> to add block below","auto-split-disabled":"Text must be longer to auto-split","auto-split-enabled":"Split into smaller blocks for better generation","drag-handle":"<b>Drag</b> to move<br></br><b>Click</b> to open menu"},"delete-confirm":{"title":"Delete Block","description":"Are you sure you want to delete this block? This action cannot be undone.","cancel":"Cancel","confirm":"Delete","title-multiple":"Delete Blocks","description-multiple":"Are you sure you want to delete {count} blocks? This action cannot be undone."},"status":{"empty":"No audio yet","ready":"Audio generated","stale":"Edited — audio out of date","generating":"Generating audio…"}},"block-copied":"Text copied to clipboard","block-over-limit-unsaved":"Over the {limit} character limit — changes are not saved","block-update-limit-error":"The text is too long, please keep it under {limit} characters","bottom-bar":{"advanced":{"header":"Advanced","title":"Advanced"},"audio":{"header":"Audio","title":"Audio","mobile-unavailable":"This feature is currently unavailable on mobile. Please use a PC to upload and configure custom audio tracks.","ok":"OK"},"block-settings":{"header":"Block Settings"},"chapter":{"header":"Chapters","title":"Chapter"},"export":{"title":"Export"},"voice":{"header":"Voice","title":"Voice"}},"cancel":"Cancel","chapter-sidebar":{"chapter-count":"{count} {count, plural, one {chapter} other {chapters}}","default-chapter":"Default Chapter","delete-dialog":{"cancel":"Cancel","confirm":"Delete","description":"Are you sure you want to delete chapter {chapterTitle}? This action cannot be undone.","title":"Delete Chapter"},"header":"Chapters","new-chapter":"New Chapter","chapter-limit":"A Studio project can have up to {count} chapters.","popup":{"delete":"Delete","rename":"Rename"}},"close":"Close","confirm":"Confirm","collaboration":{"remote-content-applied":"A collaborator updated this block. The latest remote content has been applied."},"conversation-bar":{"greeting":{"authenticated":"Hi, {nickname} 👋","guest":"Hi, there 👋"},"question":"What are you creating with S1 today?"},"project-settings":{"title":"Project Settings","save":"Save","discard":"Don't save","unsaved_title":"Save project changes?","unsaved_description":"You have unsaved project settings. Save them before switching tabs.","save_failed":"Failed to save project settings. Please try again.","default_voice_unavailable":"The default voice is unavailable. It may have been removed or made private. Choose another voice.","apply_existing":"Also apply to existing segments ({count})","scene":"Scene mix","scene_hint":"Evens out loudness across voices and adds a shared studio room tone, so multi-voice projects sound like one recording. Off keeps the raw dry output.","scene_off":"Dry","scene_studio":"Studio","project_name":"Project name","advanced":"Advanced","tag_compatible":"Tag Compatible","defaults_heading":"Defaults for new segments"},"create-project":{"buttons":{"cancel":"Cancel","create":"Create","create-new-model":"Select Model"},"dialog-title":"Create project","form":{"backend":{"label":"Backend","placeholder":"Select a backend"},"default-voice":{"label":"Default Voice"},"errors":{"default_voice_required":"Please select a default voice","name_required":"Please enter a project name"},"project-name":{"label":"Project Name","placeholder":"Project Name"},"speech-model":{"label":"Speech Model"}},"title":"Create a advanced audio story"},"download":"Download","editor-status":{"block-update":"Saving content...","chapter-update":"Saving chapter...","content-update":"Saving changes...","last-saved":"Last saved:","online-collaborator-with-devices":"{name} ({count} devices)","online-count":"{count} online","saving":"Saving..."},"editor":{"block-save-failed":"Failed to save changes. Retrying…","nodes":{"break":"Pause","breath":"Breath","cough":"Cough","laugh":"Laughter","lip-smacking":"Lip Smacking","long-break":"Long Pause","sigh":"Sigh"},"paste-save-failed":"Failed to save pasted segments","block-count-limit":"A chapter can have up to {count} segments.","partial-block-create":"Created {created} segments before the upload stopped. Opened the project with {remaining} segments not imported.","block-create-failed":"Failed to create the new segment","retry":"Retry","block-deleted":"Segment deleted","blocks-deleted":"Deleted {count} segments","undo":"Undo","placeholder":"Press `/` to adjust paragraph type or insert tags"},"export-stages":{"block-alignment-missing":"Block subtitle alignment missing: {block_id}","block-audio-missing":"Block audio missing: {block_id}","block-changed":"Block changed, regenerating audio: {block_id}","block-skipped":"Skipped empty block","building-chapter":"Building chapter: {chapter_id}","building-chapter-title":"Building chapter","chapter-missing":"Chapter not found, skipped: {chapter_id}","complete":"Completed","completed":"Completed","concatenated":"Concatenated","concatenating":"Concatenating","concatenating-all-chapters":"Concatenating all chapters","concatenating-block":"Concatenating block: ({idx}/{length})","concatenating-progress":"Audio is being concatenated {progress}%","error":{"block-audio-empty":"The paragraph audio file is empty, execute the cleaning process, please rerun the export process","block-audio-missing":"A paragraph's audio is missing, please rerun the export process","blocks-incomplete":"Contains text that hasn't been converted to audio yet, cannot proceed with the next step","export-in-progress":"Another export of this project is already running. Please wait for it to finish.","failed":"Audio export failed","failed-to-export":"Export failed: {error_msg}","no-files-to-upload":"No audio files to export","out-of-credits":"Out of credits","stream-ended-unexpectedly":"Export stream ended unexpectedly, please try again"},"exporting":"Exporting","failed":"Failed","fetching-audio":"Fetching audio","generate-audio":"Generating audio: {block_id}","generate-audio-failed":"Audio generation failed: {block_id}","generate-audio-finished":"Audio generated: {block_id}","no-files-to-upload":"No audio files to export","preparing":"Preparing","processing-block":"Concatenating block: {block_idx}","progress-fetch-audio":"Fetching audio: {current}/{total}","uploading":"Uploading"},"export":{"already_converted":"Already generated","blocks":"blocks","chapter_not_converted":"contains text that hasn't been converted to audio yet","copied_title":"Copied!","copy_button":"Copy Annotation URL","cost_message":"It will cost {credits} credits to convert the remaining text","cost_review":"Export","download_complete":"Download complete","download_failed":"Download failed, opening in new tab","download_starting":"Starting download...","download_timeout":"Download timed out, opening in new tab","downloading":"Downloading...","empty_blocks_skipped":"{count} empty blocks skipped","empty_chapter":"Cannot export empty chapter","export_whole_subtitles":"Export subtitles","export-progress-details":"Export progress log","exporting":"Exporting","failed":"Audio export failed","fetching_audio":"Fetching audio","generating_audio":"Generating audio","latest_annotate_at":"Latest Annotated at","processing":"Processing","processing_in_background":"Export is still processing in background","project":"Export Project","question":"Extra Question","ready":"ready","select_all":"Select all","select_chapters_to_export":"Select chapters to export","chapter-limit":"Select up to {count} chapters per export.","some_chapters_not_converted":"Some chapters contain ungenerated audio","audio-tracks-excluded":"Chapters with audio tracks can only be exported as a single file","subtitles":"Subtitles","subtitles-require-merge":"Subtitles are only exported when merging into a single file","success":"Audio export success","title":"Export","to_convert":"Need to generate","to_generate":"to generate","credits":"credits","total_cost":"Blocks count","upgrade_required":"Upgrade to export","merge_audio":"Merge into single file","building_zip":"Building archive","tab_export":"Export","tab_history":"History","audio_format":"Audio format","scope_full":"Full project","scope_selected":"Selected chapters","file_structure":"File structure","structure_single":"Single file","structure_split":"Split by segments","on":"On","off":"Off","cost_breakdown":"Cost breakdown by voice:","cost_card_message":"It will cost {credits} credits to generate the remaining paragraphs","estimated_cost":"Estimated cost","default_voice":"Default voice","async_started":"Export started — it will keep running in the background","async_done":"Export completed","history_empty":"No exports yet","history_load_failed":"Couldn't load export history","estimate_failed":"Credit estimate unavailable","async_failed":"Export failed. Please try again.","retry":"Retry","chapters_count":"{count, plural, one {# chapter} other {# chapters}}","blocks_progress":"{generated}/{total} blocks"},"generation-history":{"empty":"No recent audio generated for this block","restore-error":"Restore failed. Please try again.","restore-success":"Restore successfully","restore-tooltip":"Restore this history version","selected":"Selected","text-mismatch-cancel":"Cancel","text-mismatch-confirm":"Restore anyway","text-mismatch-warning-description":"The text of this block has been edited. Restoring this version will overwrite the current text.","text-mismatch-warning-title":"Text has changed","title":"Generation History","preview-tooltip":"Preview text","preview-title":"Preview"},"shortcuts":{"title":"Keyboard Shortcuts","group-editor":"Editor","group-timeline":"Timeline","group-general":"General","new-segment":"New segment / split at cursor","insert-menu":"Open insert menu","play-segment":"Play or generate segment","select-all":"Select segment, press again for all","undo":"Undo","redo":"Redo","delete-empty-segment":"Delete empty segment","play-pause":"Play / pause","goto-start-end":"Go to start / end","prev-next-segment":"Previous / next segment","zoom":"Zoom in / out","open-shortcuts":"Show keyboard shortcuts"},"version-history":{"empty":"No version history yet","error":"Failed to load version history.","latest":"Latest","load-more":"Load more","retry":"Retry","source":{"autosave":"Autosave","checkpoint":"Checkpoint","manual":"Manual","publish":"Publish"},"title":"Version History"},"guide":{"advanced-audio-story":{"description":"Effortlessly transform long texts into immersive and expressive audio narratives.","link-text":"Start from scratch","title":"Advanced Audio Story"},"instant-speech":{"description":"Quickly convert short phrases into natural, lifelike speech in an instant","link-text":"Start from scratch","title":"Instant Speech"}},"header":{"created":"Created {time}","export":"Export project"},"how_to_control_emotions":"How to control emotions","login_to_create_project":"Login to create project","my_projects":"My Projects","my-projects":{"empty-state":"You don't have any projects yet. Start with a template!","first-block-guide":"[emphasis] Welcome to Story Studio! [pause] Edit this text, then press the play button beside it to hear it.","load-failed":"Failed to load projects.","load-more":"Load more","new-project":"New Project","no-results":"No projects found","official-template":"Official Template","refresh-template":"Show another template","retry":"Retry","search":"Search Project","title":"My Project","use-template":"Use template"},"no_projects_yet":"No projects yet","project_name_update_failed":"Failed to update project name","project-card":{"delete":"Delete project","empty-preview":"No content yet — open to start writing","more-actions":"More project actions","open":"Open project","rename":"Rename project"},"quick-start":{"advanced":"Advanced","generate":"Generate","generating":"Generating...","instant":"Instant","placeholder":"Edit your text here to be converted to speech. Insert (break) / (long-break) / (breath) / (laugh) to control the speech.","template-created":"Official Template","title":"Quick Start"},"rename-dialog":{"cancel":"Cancel","placeholder":"Project name","save":"Save","success":"Project renamed successfully","title":"Rename Project"},"story_studio":"Story Studio","timeline":{"context-menu":{"copy":"Copy","copy-error":"Failed to copy","copy-success":"Copied to clipboard","copy-text":"Copy text","delete":"Delete","download":"Download","duplicate":"Duplicate","generate":"Generate","regenerate":"Regenerate","split-at-playhead":"Split at Playhead","trim-left":"Trim Left","trim-right":"Trim Right","view-history":"View History"},"mobile-menu":{"goto-end":"Go to End","goto-start":"Go to Start","lock-off":"Lock Positions","lock-on":"Unlock Positions","next-block":"Next Block","previous-block":"Previous Block","ripple-off":"Enable Ripple Edit","ripple-on":"Disable Ripple Edit","snap-off":"Enable Snapping","snap-on":"Disable Snapping","zoom-in":"Zoom In","zoom-out":"Zoom Out"},"tooltips":{"collapse":"<b>Click</b> to collapse","copy-block":"Copy block","delete-block":"Delete block","expand":"<b>Click</b> to expand","fit-to-window":"<b>Click</b> to fit to window","follow-playhead":"<b>Click</b> to toggle playhead follow","goto-end":"<kbd>End</kbd> go to end","goto-start":"<kbd>Home</kbd> go to start","lock-off":"<b>Click</b> to lock positions","lock-on":"<b>Click</b> to unlock positions","mute":"<b>Click</b> to mute","next-block":"<kbd>→</kbd> next block","play-pause":"<kbd>{keys}</kbd> play/pause","previous-block":"<kbd>←</kbd> previous block","return-to-start":"<kbd>Home</kbd> return to start","ripple-edit-off":"<b>Click</b> to enable ripple edit","ripple-edit-on":"<b>Click</b> to disable ripple edit","snap-off":"<b>Click</b> to enable snapping","snap-on":"<b>Click</b> to disable snapping","split-at-playhead":"Split at playhead","trim-left":"Trim left (keep right)","trim-right":"Trim right (keep left)","unmute":"<b>Click</b> to unmute","zoom-in":"<b>Click</b> to zoom in","zoom-out":"<b>Click</b> to zoom out","play-until-end":"Play until end"},"track-menu":{"delete-track":"Delete Track","delete-track-cancel":"Cancel","delete-track-confirm":"Delete","delete-track-description":"This will delete the track and {count, plural, one {# block} other {# blocks}} on it. This action cannot be undone.","delete-track-title":"Delete Track","lock-track":"Lock Track","move-down":"Move Down","move-up":"Move Up","track-color":"Track Color","unlock-track":"Unlock Track"},"delay-indicator":{"label":"Delay (s)","tooltip":"Delay relative to the previous block in the same track.","decrease":"Decrease","increase":"Increase","apply-to-all-label":"All","apply-to-all-tooltip":"Apply Current Duration to All","apply-to-all-confirm-title":"Confirm Change","apply-to-all-confirm-description":"Apply current duration to all blocks. This operation cannot be undone.","apply-to-all-confirm-cancel":"Cancel","apply-to-all-confirm-confirm":"Confirm","apply-to-all-confirm-close":"Close"},"mixer":{"click-to-edit-volume":"Click to edit volume","main":"Main","title":"Mixer"},"new-track":"New {type} track","toolbar":{"audio-levels":"Audio Levels","hide-mixer":"Hide Mixer","show-mixer":"Show Mixer"},"track-header":{"click-to-rename":"Click to rename","click-to-reset-clip":"Click to reset clip","gain":"Gain","hide-track":"Hide Track","mute-track":"Mute Track","pan":"Pan","reset-to-default":"Reset to default","show-track":"Show Track","sound":"Sound","solo-track":"Solo Track","track-locked":"Track locked","unmute-track":"Unmute Track","unsolo-track":"Unsolo Track","volume":"Volume","width":"Width","rename-track":"Rename Track"},"track-types":{"audio":"Audio","text":"Text","video":"Video"},"waveform-unavailable":"Waveform unavailable"},"untitled-project":"Untitled Project","voice-control":{"aria-labels":{"bookmark":"Bookmark count","like":"Like count","play":"Play count","refresh":"Refresh","share":"Share count"},"create_in_a_minute":"Create in a minute","dont_have_voice_model":"Don't have one?","model_newest":"Newest","model_free":"Free","model_preview":"Preview","model_s1_description":"Legacy","model_s2_description":"Legacy","model_s2_1_description":"Newest pro model for expressive, low-latency speech.","model_drama_3_description":"Most expressive model, in preview. Output varies between takes.","model_title":"Model","model_v15_description":"Stable with least emotion variance","model_v16_description":"Emotion support","s1-alert":"The S1 model will consume API credits from your account balance. ","title":"VOICE","voice_model":"TTS Model","voice_title":"Voice","voice-in-project":"Voices used in the project","project-voice-limit":"A Studio project can use up to {count} distinct voices.","change-speaker":"Voice","voice-in-section":"Voices used in the selected section","unavailable-toast":"Some voices used in this project are unavailable. They may have been removed or made private.","unavailable-title":"Voice unavailable","unavailable-description":"This voice is no longer available. It may have been removed or made private. Choose another voice to continue.","choose-another-voice":"Choose another voice","add-more-voice":"Add more voice","remove-voice-aria":"Remove {voice} from this project","remove-voice-title":"Remove {voice}?","remove-voice-description":"{count, plural, one {# segment still uses this voice.} other {# segments still use this voice.}} Choose which voice should take them over.","remove-voice-replacement-label":"Replace with","remove-voice-confirm":"Remove","remove-voice-cancel":"Cancel","more-voice":"More voice","propagate-title-voice":"Apply this voice to more paragraph?","propagate-title-model":"Apply this model to more paragraph?","propagate-title-voice-model":"Apply voice & model to more paragraph?","propagate-replace-voice":"Replace {oldVoice} with {newVoice}.","propagate-current-paragraph":"This Paragraph Only","propagate-this-speaker":"This Speaker ({count})","propagate-everywhere":"Everywhere ({count})","propagate-regenerate-hint":"Applied paragraphs will need to be regenerated.","propagate-dismiss":"Dismiss","default-badge":"Default","current-selection":"Current selection","preview-play":"Play voice preview","preview-pause":"Pause voice preview","set-default":"Set as default","set-default-failed":"Failed to set default voice","remove":"Remove","voice-actions":"Voice actions","explore":"Explore voices","search-voices":"Search voices…"},"audio":{"title":"Audio","add-audio":"Add Audio","section-title":"Audio","upload":"Upload Audio","upload-hint":"Supports local upload or cloud library","uploading":"Uploading","upload-success":"Audio uploaded successfully","upload-error":"Failed to upload audio","file-too-large":"File size exceeds 16MB limit","unsupported-format":"Unsupported format. Allowed: {formats}","delete-confirm-title":"Delete Audio","delete-confirm-description":"Are you sure you want to delete \"{name}\"?","delete-success":"Audio deleted","rename":"Rename","rename-success":"Audio renamed","rename-error":"Failed to rename audio","rename-dialog":{"title":"Rename Audio","placeholder":"Enter an audio name","cancel":"Cancel","save":"Save"},"cancel":"Cancel","delete":"Delete","empty":"No audio yet","load-more":"Load more","insert":"Insert to timeline","insert-success":"Added to timeline","insert-error":"Failed to add audio to timeline","add-track":"Add track","track-limit-reached":"You can add up to {limit} audio tracks.","import-source-tts":"Import from TTS history","nothing-to-play":"Nothing to play yet — add some text first","tts-dialog-title":"Import from TTS History","tts-dialog-description":"Choose a previously generated TTS audio file to add to this project's audio.","tts-empty":"No TTS history yet","tts-import":"Import","tts-importing":"Importing...","tts-import-success":"Imported to audio","tts-import-error":"Failed to import from TTS history"},"right-panel":{"chapters":"Chapters","properties":"Edit","audio":"Assets","project":"Project","rename-project":"Rename project","voices":"Voices"},"block-insert-menu":{"emotion":"Emotion","delay":"Delay","tts-history":"TTS History","delay-seconds":"Delay in seconds","confirm-delay":"Confirm delay"},"block-type":{"label":"Type","text":"Text","heading1":"H1","heading2":"H2","heading3":"H3"},"chapter-menu":{"search":"Search chapters…","new-chapter":"New chapter","manage-chapters":"Manage chapters","previous-chapter":"Previous chapter","next-chapter":"Next chapter"},"edit-panel":{"view-all":"View all ({count})","ai-tools":"AI Tools","enhance-title":"Enhance text","enhance-description":"Add emotion and pause tags to guide delivery","multi-select-hint":"Changes apply to all {count} selected segments"},"create-modal":{"title":"Create a project","blank":"Blank project","blank-hint":"Start from scratch and write as you go","templates":"Or start from a template","import":{"entry":"Import a document","entry-hint":"Word, PDF or text — AI splits chapters and speakers","title":"Import a document","upload":"Upload a file","upload-hint":"DOCX, PDF, TXT or Markdown","or-paste":"Or paste text","paste-placeholder":"Paste your story or script here…","back":"Back","errors":{"file-too-large":"This file is too large (15 MB max).","unsupported-file-type":"Unsupported file type — use DOCX, PDF, TXT or Markdown.","too-many-pages":"This document has too many pages (300 max).","empty-document":"We couldn't find any text in this document.","failed":"Import failed. Please try again."},"import":"Import","rewrite":"Rewrite for naturalness","rewrite-hint":"Lightly smooth phrasing for spoken delivery","auto-tags":"Auto-add expression tags","auto-tags-hint":"Emotion and pause tags where the text calls for them"},"use-case":{"audiobook":"Audiobook","documentary":"Documentary","meditation":"Meditation","mystery":"Mystery","reflection":"Reflection","podcast":"Podcast","education":"Education","audio-drama":"Audio drama","story":"Story","asmr":"ASMR","business":"Business","news":"News","wellness":"Wellness","motivation":"Motivation","crime":"Crime"}},"import-review":{"title":"Review the voices","description":"We cast these voices for your imported speakers. Change any of them, or keep the cast.","designed-badge":"AI-designed","change":"Change","keep":"Keep these voices"},"importing":{"banner":"Importing… {percent}%","eta":"about {minutes} min left","failed":"Import failed — the imported part is kept","retry":"Retry","card-badge":"Importing {percent}%","card-failed":"Import failed","success":"Imported {chapters} chapters · {chars} characters","success-short":"Imported {chapters} chapters"},"chapter-heading-prefix":"Chapter:"},"team":{"settings":{"title":"Team Settings","tabs":{"members":"Members","usage":"Usage","plans":"Plans","billing":"Billing","more":"More","seats":"Seats","danger":"Danger","wallet":"Wallet"},"summary":{"current-plan":"Current Plan","seats":"Seats","credits-remaining":"Credits Remaining","wallet-balance":"Team Wallet","wallet-settings":"Settings","wallet-stripe-connected":"Stripe Connect linked","wallet-stripe-not-connected":"Stripe Connect not linked","next-billing":"Next Billing: {date}","next-credit-refresh":"Next Credit Refresh: {date}","next-refresh":"Next Refresh: {date}","need-more-seats":"Need more seats?","upgrade-to-pro-max":"Upgrade to Pro or Max","seats-occupied":"{occupied} occupied / {included} included","seats-occupied-suffix":"occupied / {included} included"}},"wallet-stripe":{"title":"Team Wallet Settings","description":"Manage the Stripe Connect account used for team wallet payouts.","stage":{"not-started":{"headline":"No Stripe account linked yet","body":"Link a Stripe account and complete onboarding to withdraw the team wallet balance to a bank account. The button below creates the account and opens Stripe onboarding — it only takes a few minutes."},"onboarding":{"headline":"One step left: finish Stripe onboarding","body":"Your Stripe account is created, but onboarding isn't finished yet, so payouts are still unavailable. Finish filling in your details on Stripe, then come back here — the status updates automatically."},"action-required":{"headline":"Stripe needs more information","body":"Stripe requires additional details (such as a bank account or business information) before payouts can be enabled. Continue on Stripe to provide them."},"reviewing":{"headline":"Under review by Stripe","body":"All onboarding details are submitted and Stripe is reviewing the account. Payouts will be enabled automatically once the review passes — no action needed."},"ready":{"headline":"Setup complete","body":"Your Stripe account is linked and verified. The team wallet balance can be withdrawn to this account."}},"checklist":{"account-created":"Account created","details-submitted":"Details submitted","charges-enabled":"Charges enabled","payouts-enabled":"Payouts enabled"},"connect":"Link Stripe account","resume":"Finish onboarding","fix-requirements":"Provide details on Stripe","disconnect":"Unlink","close":"Close","refresh":"Refresh status","retry":"Retry","disconnect-confirm-title":"Unlink Stripe account?","disconnect-confirm-body":"Unlinking the Stripe account also invalidates any onboarding details already submitted. The team won't be able to receive payouts until you link and complete onboarding again.","disconnect-confirm-cancel":"Cancel","disconnect-confirm-action":"Unlink account","onboarding-link":"Onboarding link","onboarding-link-hint":"If the Stripe page didn't open automatically, copy the link below or open it in a new tab.","copy-link":"Copy onboarding link","open-link":"Open onboarding link","copied":"Copied","popup-blocked":"The Stripe onboarding page was blocked by the browser. Use the link below to continue.","status-load-failed":"Failed to load Stripe Connect status.","connect-failed":"Failed to connect Stripe.","disconnect-failed":"Failed to disconnect Stripe.","disconnect-success":"Stripe Connect disconnected."},"seats":{"title":"Team Seats","occupied":"Occupied Seats","included":"Included Seats","shared-info":"Shared teams start with 0 included seats. Pro unlocks 3 seats and Max unlocks 10 seats for the team.","team-label":"Team:","role-label":"Role:","subscription-label":"Subscription:","period-ends":"Current period ends at {date}","billing-unavailable":"Team billing data is unavailable for the current context."},"upgrade":{"pro-required":"Pro plan required","pro-required-admin":"Shared teams start with 0 included seats. Subscribe this team to Pro or Max before inviting or activating members.","pro-required-member":"Shared teams start with 0 included seats. Ask your team owner or admin to subscribe this team to Pro before inviting or activating members.","multi-seat-required":"Multi-seat plan required","multi-seat-admin":"This team currently includes one seat. Upgrade the team plan before inviting or activating more members.","multi-seat-member":"This team currently includes one seat. Ask your team owner or admin to upgrade the team plan before inviting or activating more members.","no-seats":"No team seats available","no-seats-admin":"All included team seats are currently in use. Remove or disable existing members before inviting new ones.","no-seats-member":"All included team seats are currently in use. Ask your team owner or admin to free up a seat before inviting new members.","required":"Upgrade required","required-admin":"Upgrade your subscription before inviting or activating more members.","required-member":"Ask your team owner or admin to upgrade the subscription before inviting or activating more members.","upgrade-plan":"Upgrade plan"},"members":{"title":"Team Members","add-placeholder":"User ID or Email","add-button":"Add Member","readonly":"You are in read-only mode. Only team owner/admin can manage members.","header-member":"Member","header-role":"Role","header-status":"Status","header-actions":"Actions","disable":"Disable","activate":"Activate","current-owner":"Current owner","pending":"Pending acceptance","remove":"Remove","empty":"No team members found.","invitation-sent":"Invitation sent.","member-activated":"Member activated.","member-disabled":"Member disabled.","role-updated":"Member role updated.","role-update-failed":"Failed to update member role.","member-removed":"Member removed.","table":{"user-id":"User ID","email":"Email","role":"Role","status":"Status","actions":"Actions"},"pagination":{"rows-per-page":"Rows per page","range":"{start}-{end} of {total}"},"search-placeholder":"Search User ID or Email","invite-member":"Invite Member","upgrade-button":"Upgrade","invite-dialog":{"title":"Invite New Members","description":"Invite members to your team with roles.","close":"Close invite dialog","identifier":"User ID or Email","role":"Role","placeholder":"jane@example.com","add-more":"Add More","invite":"Invite"},"resend":"Resend","invitation-resent":"Invitation email resent.","invitation-revoked":"Invitation revoked."},"danger":{"title":"Danger Zone","personal-info":"Your personal team is permanent infrastructure and cannot be deleted.","owner-only":"Only the team owner can delete this shared team.","delete-warning":"Deleting a team permanently removes its memberships, workspaces, billing record, package state, credits, and team-scoped API settings.","cancel-subscription-first":"Cancel the team's paid subscription first. Shared teams with an active paid plan cannot be deleted.","delete-button":"Delete team","delete-confirm-title":"Delete this team?","delete-confirm-description":"This action permanently deletes {teamName} and removes every team-scoped membership and billing record tied to it.","cancel":"Cancel","disabled-tooltip":"This button stays disabled until the shared team is back on the Free plan.","team-deleted":"Team deleted.","delete-failed":"Failed to delete team."},"transfer":{"title":"Transfer Ownership","description":"Transfer this team to another active member. After transfer, you will be downgraded to admin.","select-member":"Select new owner","button":"Transfer Ownership","confirm-title":"Transfer team ownership","confirm-warning":"This action is irreversible. You will lose owner access and become an admin.","confirm-team-name-label":"Enter team name to confirm","confirm-team-name-placeholder":"Team name","confirm-email-label":"Enter your email to confirm","confirm-email-placeholder":"Your email","confirm-button":"Confirm Transfer","cancel":"Cancel","success":"Team ownership transferred successfully.","error":"Failed to transfer ownership."},"banner":{"shared":"Shared team","personal":"Personal team","current-team":"Current team","description":"Manage this team's subscription, seats and members."},"create":{"title":"Create Team","description":"Shared teams start with 0 included seats. Subscribe this team to Pro or Max before inviting collaborators.","name-label":"Team name","name-placeholder":"Design Ops","info":"Every account already has one personal team. Create a shared team only when you need separate billing and members.","cancel":"Cancel","submit":"Create team","success":"Team created.","error":"Failed to create team."},"rename":{"button":"Rename team","title":"Rename Team","description":"Update the current team name. The new name will be reflected in the active team workspace immediately.","name-label":"Team name","name-placeholder":"Audio Operations","info":"Team members, billing scope, seats, and workspaces stay unchanged. This only updates the displayed team name.","cancel":"Cancel","save":"Save","success":"Team renamed.","error":"Failed to rename team."},"switcher":{"select-placeholder":"Select team","create-team":"Create team","create-team-new":"Create New Team","teams-title":"Teams","settings-title":"Team settings","settings-aria":"Open team settings"},"invitation":{"page-title":"Accept Invitation","success-title":"You've joined the team!","error-title":"Invitation failed","loading-title":"Accepting invitation","success-description":"Your team access is ready.","error-default":"Failed to accept the invitation.","loading-description":"Please wait while we process your invitation.","go-to-team":"Go to team","token-missing":"Invitation token is missing."},"subscription":{"title":"Subscription","description":"Manage the subscription and credits for your current billing context here.","free-label":"Free","legacy-premium-label":"Legacy Premium","choose-plan":"Choose a plan","choose-plan-description":"Pick the subscription that should apply to the current billing context.","no-permission-manage":"You don't have permission to manage this subscription.","no-permission-billing":"You can view this subscription here, but you don't have permission to upgrade or manage billing.","free-plan-owner-shared":"Upgrade to Pro before inviting collaborators or using additional seats.","free-plan-owner-personal":"This subscription is currently on the Free plan. Choose a subscription below.","free-plan-member-shared":"This subscription needs Pro before additional collaborator seats can be used.","free-plan-member-personal":"This subscription is currently on the Free plan. You don't have permission to manage it.","coming-soon":"Coming soon","max-plan-title":"Max Plan","max-plan-description":"For larger collaborative setups that need more seats and a higher operating ceiling.","max-plan-seats":"5 seats","max-plan-reserved":"This plan is reserved for the next rollout.","admin-gifted-title":"Admin-granted Pro plan","admin-gifted-description":"This shared team is on a manually granted Pro plan. Contact an administrator if you need to change it.","admin-gifted-expires":"Access ends at {date}","admin-gifted-readonly":"This shared team is on a manually granted Pro plan. Billing changes are read-only here."},"usage":{"periods":{"1d":"1d","7d":"7d","30d":"30d"},"chart":{"window-limited":"The chart is based on at most the {count} most recent usage records."},"upgrade-button":"Upgrade","table":{"time":"Time","user":"User","source":"Source","model":"Model","memo":"Memo","credits-used":"Credits Used"},"states":{"loading":"Loading usage data...","error":"Failed to load usage data.","empty":"No usage records found in this period."},"pagination":{"rows-per-page":"Rows per page","range":"{start}-{end} of {total}","previous-page":"Previous page","next-page":"Next page","window-limited":"available window"},"sources":{"task-tts":"TTS Task","voice-design":"Voice Design","video-tts":"Video TTS","studio":"Story Studio","audio-separation":"Audio Separation","sound-effect-generation":"Sound Effect Generation","asr":"ASR","music-generation":"Music Generation","credit-pack-purchase":"Credit Pack Purchase","credit-link-claim":"Credit Link Claim","affiliate-credit-grant":"Affiliate Reward","package-refresh-balance":"Package Refresh","package-refresh-downgrade":"Package Downgrade","package-plan-change":"Plan Change","package-subscription-sync":"Subscription Sync","wallet-package-consume":"Manual Package Consume","wallet-package-refund":"Manual Package Refund","image-generation":"Image Generation","video-generation":"Video Generation","lip-sync":"Lip Sync","media-generation":"Media Generation"}},"upgrade-dialog":{"a11y":{"title":"Upgrade Modal","description":"Choose a plan and confirm your upgrade.","close":"Close upgrade dialog"},"header":{"title":"Upgrade","team-name":"My Team","description":"Elevate your experience with enhanced team seating options and expanded limits."},"price":{"month-suffix":"/ month","year-suffix":"/ year"},"contact":{"prefix":"Need more seats?","business-prefix":"Need more capabilities for your business?","link":"Contact Sales"},"plan":{"pro":{"name":"Pro","subtitle":"For power users and teams","save-tag":"Save $1350","popular-tag":"Popular","billed-annually":"$450 billed annually","highlights":{"credits":"2,000,000 credits monthly","seats":"3 team seats"},"features":{"up-to-minutes":{"prefix":"Up to ","emphasis":"1,620 minutes","suffix":" of S1 and S2 generation monthly"},"up-to-characters":{"prefix":"Up to ","emphasis":"30,000 characters","suffix":" per generation"}}},"max":{"name":"Max","subtitle":"For larger teams with higher limits","save-tag":"Save $1500","billed-annually":"$900 billed annually","highlights":{"credits":"12,000,000 credits monthly","seats":"5 team seats"},"features":{"up-to-minutes":{"prefix":"Up to ","emphasis":"10,000 minutes","suffix":" of S1 and S2 generation monthly"},"up-to-characters":{"prefix":"Up to ","emphasis":"30,000 characters","suffix":" per generation"}}},"enterprise":{"name":"Enterprise","subtitle":"For organizations with compliance needs","custom-price":"Custom","price-hint":"volume pricing billed annually","highlights":{"pay-as-you-go":"Pay as you go"},"features":{"everything-in-max":"Everything in Max, and:","zero-data-retention":"Zero Data Retention","on-premise":"On-Premise Deployment","soc2":"SOC2 Compliance","more-discount":"More Discount","custom-sso":"Custom SSO"}},"common":{"features":{"unlimited-voice-slots":"Unlimited public & private voice slots","priority-generation":"Priority generation on our latest models","enhanced-cloning":"Enhanced voice cloning","commercial-use":"Commercial use allowed","api-access":"API access (pay-as-you-go)","money-back":"7 days money back guarantee"}}},"billing":{"title":"Billing options","monthly":{"title":"Pay monthly","price":"$150 / month"},"annually":{"title":"Pay annually","price":"$37.5 / month","save-tag":"Save $1500"}},"confirm":{"title":"Confirm upgrade","disclaimer":"Your subscription will auto-renew each year at the above price + taxes unless canceled. Cancel via the Billing tab prior to renewal to avoid future charges."},"buttons":{"upgrade-pro":"Upgrade to Pro","upgrade-max":"Upgrade to Max"}},"wallet":{"tabs":{"income":"Income","withdraw":"Withdrawals","balance":"Balance History"},"table":{"time":"Time","amount":"Amount","remark":"Remark","status":"Status","source":"Type","balance-after":"Balance After"},"status":{"pending":"Pending","processing":"Processing","approved":"Approved","rejected":"Rejected"},"source":{"income":"Income","withdraw":"Withdrawal","withdraw_reject":"Withdrawal Rejected (Refund)"},"states":{"empty":"No records yet.","error":"Failed to load records."},"withdraw":{"button":"Withdraw","title":"Withdraw Funds","description":"Withdrawals are reviewed and then transferred to the team's Stripe account. The minimum amount is {min}.","available":"Available balance","invalid-amount":"Please enter a valid whole-dollar amount of at least {min}","connect-required":"Connect a Stripe account to withdraw","min-hint":"Minimum withdrawal is {min}","success":"Withdrawal request submitted","failed":"Failed to submit withdrawal request","confirm":"Confirm","cancel":"Cancel","max":"Max"}}},"telephony":{"actions":"Actions","admin_required_hint":"Only team owners and admins can manage phone numbers.","agent_updated":"Agent binding updated","all_numbers":"All numbers","area_code_optional":"Area code (optional)","back":"Back","buy":"Buy","buy_a_number":"Buy a number","buy_billing_note":"Numbers are {price}/month, billed daily (prorated) from your team's API credit balance. Free trial minutes cover rental days first — one rental day uses 60 trial seconds. You can release the number at any time.","buy_description":"Search for an available phone number and purchase it for your workspace.","buy_success":"Purchased {number}","buy_title":"Buy a number","cancel":"Cancel","col_action":"Action","col_agent":"Agent","col_label":"Label","col_provider":"Provider","col_status":"Status","country":"Country","country_ca":"Canada","country_us":"United States","credentials_pair_error":"Enter both a username and a password.","edit_config":"Edit configuration","edit_description":"Update the trunk configuration for {number}. Saving replaces the current settings.","edit_submit":"Save","edit_success":"Configuration updated","edit_title":"Edit SIP configuration","empty_description":"Buy a new number or import an existing Twilio number to let your agents answer phone calls.","empty_title":"No phone numbers yet","import_description":"Bring a number you already own. Point your carrier's SIP trunk at Fish Audio. The number stays with your carrier, with no monthly rental fee.","import_from_twilio":"Import from Twilio","import_label_optional":"Label (optional)","import_label_placeholder":"e.g. Support line","import_submit":"Import","import_success":"Imported {number}","import_title":"Import a SIP number","inbound_addresses_hint":"One IP address or CIDR range per line, up to 32.","inbound_addresses_label":"Allowed source addresses","inbound_auth_description":"How we verify calls arriving from your trunk. Set digest credentials, allowed source addresses, or both.","inbound_auth_required_error":"Set digest credentials and/or allowed source addresses.","inbound_auth_title":"Inbound authentication","inbound_password_label":"Digest password","inbound_username_label":"Digest username","list_description":"Manage phone numbers and connect them to your agents.","no_agent":"No agent","no_numbers_found":"No numbers found. Try a different area code.","number_type":"Number type","number_type_local":"Local","numbers_count":"{count, plural, one {# number} other {# numbers}}","password_keep_placeholder":"Leave blank to keep unchanged","phone_number_error":"Enter the number in international format, like +14155550123.","phone_number_label":"Phone number","release_confirm":"Release","release_description_livekit":"{number} will be released and stop receiving calls. Charges for the current month are not refunded.","release_number":"Release number","release_success":"Phone number released","release_title":"Release this number?","search":"Search","search_numbers":"Search numbers","status_active":"Active","status_error":"Error","status_provisioning":"Provisioning","termination_auth_requires_uri_error":"Termination credentials require a termination URI.","termination_description":"Optional. Point us at your trunk's termination so this number can place outbound calls and warm transfers. Leave it empty for an inbound-only number.","termination_password_label":"Auth password","termination_title":"Outbound calling (termination)","termination_transport_label":"Transport","termination_uri_hint":"Bare hostname, without the sip: prefix.","termination_uri_label":"Termination URI","termination_username_label":"Auth username","title":"Phone numbers","transport_auto":"Auto","twilio_preset":"Twilio Elastic SIP Trunking preset","twilio_preset_hint":"Fills Twilio's signaling IP ranges and sets the transport to TCP."},"text-to-speech":{"advanced_settings":"Advanced Settings","advanced_settings_tips":"Advanced settings are only available to premium users","advanced-features":"Access to advanced features and future updates","ai-enhancement":"Premium AI-powered quality enhancement","audio_generated":"AI Generated Audio","bytes":"bytes","characters":"characters","collection_action":"Collection","control_tips":"When using 1.6 control (beta), you can insert (break) / (long-break) / (breath) / (laugh) to control the speech.","copied_title":"Copied to clipboard","create":"Create","create_in_a_minute":"Create in a minute","create-voice-collection":"Create Voice Collection","creating_voice":"Creating Voice","daily-generations":"Generate up to 1,000 outputs every day","default_voices":"Default Voices","delete-confirm-audio":{"cancel":"Cancel","confirm":"Delete","success":"Audio deleted successfully","tips":"Are you sure you want to delete this audio? ","title":"Delete Audio"},"delete-confirm":{"cancel":"Cancel","confirm":"Delete","success":"Project deleted successfully","tips":"Are you sure you want to delete this project? This action cannot be undone.","title":"Delete Project"},"description":"SOTA Open Source English, Chinese, and Japanese text-to-speech system.","disabling_share_link":"Disabling share link...","download":"Download","download_failed":"Download Failed","download_source_error":"Download Source Error","download_text_error":"Download Text Error","download_your_voice_tips":"Your voice is ready to download.","draft-migration":{"cancel":"Ignore","confirm":"Restore","description":"We found a draft from before you signed in. Restore it to this account?","title":"Restore your draft"},"zero-state-guide":{"title":"Get started with","use-case":{"character":"Character voice","storytelling":"Storytelling","documentary":"Documentary","ads":"Ads","social-media":"Social media","educational":"Educational","narration":"Narration","conversation":"Conversation","entertainment":"Entertainment","customer-service":"Customer support"}},"model-entry-override":{"description":"You already have a draft in progress. Do you want to keep editing it or replace it with this model's default text?","keep":"Keep draft","replace":"Replace draft","title":"Replace your current draft?"},"enter_voice_description":"The text to be converted to speech","error-captcha-failed":"Captcha failed, please try again later.","error-empty-speaker":"Please choose a voice.","speaker-quality-warning":"Adding more than 4 voices may reduce audio quality.","speaker-limit-error":"You can use up to 32 distinct speakers in one text-to-speech session.","error-empty-text":"Text cannot be empty.","error-short-text":"Text is too short.","error-long-text":"Text is too long, please keep it under 1000 characters.","error-unknown":"Unknown error, please try again later.","bookmarked":"Bookmarked","explore":"Explore","failed_to_disable_share_link":"Failed to disable share link","failed_to_fetch_share_url":"Fail to fetch task share url, please try again","feedback":{"fuzzy_sound":"Fuzzy Sound","incompleted":"Incompleted","incorrect":"Incorrect","label":"Feedback Type","long_blank":"Long Blank","multi_speaker":"Multiple Speakers","noise":"Noise","placeholder":"Please select feedback type","reverberation":"Reverberation","select_at_least_one":"Please select at least one feedback option","submit":"Submit Feedback","submit_error":"Failed to submit feedback","submit_success":"Feedback submitted successfully","title":"Audio Quality Feedback"},"fetching_share_url":"Fetching task share url...","generate_and_play":"Generate & play","generate_speech":"Generate Speech","generate_voice_tips":"Voice quality depends on the model. For best results, use a high-quality model.","generated_audio_will_appear_here":"Generated Audio Will Appear here","generating":"Generating...","go_to_my_library":"Go To My Library","history":"History","later":"Later","latest_activity":"Latest Activity","load_more":"Load more","load_older_history":"Load older history","login_to_create_project":"Login to create project","long_text_prompt":{"dismiss":"Dismiss","dont_show_again":"Don't show again","message":"Studio is recommended for long text.","studio":"Studio"},"model_unavailable":"Model unavailable","my_voice":"My Voices","new_conversion":"New Conversion","new_feature_description":"Effortlessly transform long texts into immersive and expressive audio narratives.","new_feature_title":"Advanced Audio Story","no_history_record":"No history record","no_model_tips":"Don't have a model? ","no_projects_yet":"No projects yet","no_result_yet":"No result yet","open-source":"Proudly Open Sourced at ","open-source-and":" and ","pick-voice-in-explore":"Pick a voice in explore","placeholder":"Edit your text here to be converted to speech.","placeholder2":"Type your text with audio tags like [laughs] to turn into expressive speech...","premium":"Premium","refresh":"Refresh","history_range_last_7_days":"Last 7 days","history_range_last_30_days":"Last 30 days","history_range_last_90_days":"Last 90 days","history_range_all_time":"All time","privacy":"Privacy Policy","progress_analyzing":"Analyzing Text...","progress_finalizing":"Finalizing...","progress_generating":"Generating Voice...","progress_processing":"Processing Voice Model...","random_voice":"Random Voice","recaptcha":"This site is protected by reCAPTCHA and the Google <link1>{privacy}</link1> and <link2>{terms}</link2> apply.","recent_used":"Recently Used","regenerate":"Regenerate","restore":"Restore","save_to_my_conversion":"Save to My Conversion","search":"Search","select_voice":"Select Voice","select_voice_model":"Select Voice Model","settings":"Settings","share":"Share","share_link_disabled":"Share link disabled","share_model_only":"Share model only","share_with_current_text":"Share with current text","sort":{"count":"Recommended","new":"Newest","title":"Sort by","trending":"Trending"},"speaker-option-random":"Random","speaker-placeholder":"Speaker","add-speaker":"Add Speaker","select-speaker":"Choose a voice","voice-empty-state":{"title":"Choose a voice to get started","description":"Pick a voice, type your text, then hit Generate to hear it."},"tab-hint":{"recently-used":"Voices you've recently generated with.","explore":"Community voices shared by creators.","default-voices":"Curated voices that work well out of the box.","my-voice":"Voices you've created or cloned.","bookmarked":"Voices you've bookmarked for quick access."},"my-voice-empty-cta":"Create your own voice","speed":"Speed","speed_hint":"Adjust based on the reference audio","stable_mode":"High Quality Mode","stable_mode_hint":"Produces higher quality audio with increased latency","synthesize":"Synthesize","tags":"Tags","task_does_not_exist":"Task does not exist","terms":"Terms of Service","text_to_long":"Text too long","text_to_speech":"Text to Speech","textarea-placeholder":"Enter your text here","title":"Turn Your Text into Speech","tokens_progress":{"bytes":"bytes","characters":"characters","credits_left":"{balance} credits left","credits_remaining":"{credits} credits remaining","credits_used_cycle":"Credits used this cycle:","free_plan_usage":"Free plan usage","generations_left":"{balance} credits left","legacy_note":"Remaining credits on the legacy Premium plan combine API and subscription balances. New plans separate them.","legacy_note_cta":"Learn more","premium_unlimited_tooltip":"Premium plan has unlimited generations","remaining_credits":"Remaining: {credits} credits remaining","remaining_credits_free":"Remaining: {balance}/{total} credits","remaining_generations":"Remaining: {balance}/{total} credits","unlimited_generations":"unlimited generations"},"tokens":{"audio_effects":"Audio Effects","emotional_tone":"Emotional Tone","emotions":"Emotions","learn_more":"Learn how to use emotion control tags","no_results":"No tags found","s2_hint":"S2 supports open-domain audio tags. Try typing [laugh] to generate expressive speech.","search_tag":"Search Tag","special":"Special","speed":"Speed","tone":"Tone"},"try_it_now":"Try now","try_new_feature":"Try our new feature","upgrade":"Upgrade","upgrade_now":"Upgrade Now","upgrade_tips":"Premium users get a word limit of 5,000 chars. Upgrade now to enjoy this benefit!","upgrade_title":"Upgrade to Premium","unshare":"Unshare","unshare_confirm_cta":"Disable","unshare_confirm_title":"Disable share link?","unshare_confirm_body":"Anyone with the existing link will no longer be able to open this audio. Re-sharing later will create a new link.","voice_model":"Voice Model","voice-creation":"Create unlimited custom voices for any project","volume":"Volume","volume_hint":"Adjust based on the reference audio","your_text":"Your Text","enhance_error":"Failed to enhance script. Please try again.","enhance_script":"Enhance","auto_tag":"Auto Tag","auto_tag_all":"Auto Tag All","enhancing":"Enhancing...","keep_enhance":"Keep","undo_enhance":"Undo","add_more_voice":"Add another voice","added":"Added","more_voice":"More voices","change_voice":"Change voice","remove_segment":"Remove segment","model_label":"Model","newest":"Newest","try":"Try","model_description_expressive":"Our most expressive model","model_description_versatile":"Our most versatile model","tags_tooltip":"Explore audio tags to help guide speech","enhance_tooltip":"Adds audio tags to make speech more expressive","generate_speech_tooltip":"{shortcut}","candidate_label":"Sample {label}","dual_gen_tip":{"message":"To provide higher quality, we're generating two audio samples for you at no extra cost","dont_show_again":"Don't show again","dismiss":"Got it"},"generate_for_free":"Generate for Free","drama_guide_angle_hint":"Angle-bracket pairs scope delivery to just the wrapped words — stick to whisper, stress, emphasis, forceful, fast, soft and slow for now.","drama_guide_autotag_hint":"No need to write tags by hand — the Auto Tag button annotates your text for you.","drama_guide_cta":"Got it","drama_guide_intro":"Drama 3 is our most powerful model — it acts out directions written right inside your text.","drama_guide_square_hint":"Square brackets are point events and directions: sighs, pauses, or any tone described in your own words — free text welcome.","drama_guide_title":"Direct Drama 3 like a script","drama_preview_warning":"Preview model: results vary between takes — generate a few and pick the best.","rating_prompt":"Which generation is better? It helps us improve the model.","rating_take_better":"Take {number} is better","rating_both_good":"Both are good","rating_both_bad":"Both are bad","rating_thanks":"Thanks — this helps us improve the model."},"video-editor":{"agents":{"admin":{"agent_type":"Agent Type ID","agent_type_placeholder":"external-agent-identifier","create":"Create Agent Type","created":"Agent type created","default_params":"Default Parameters (JSON)","delete":"Delete Agent Type","delete_confirm":"Are you sure you want to delete this agent type? This action cannot be undone.","deleted":"Agent type deleted","description":"Description","description_placeholder":"Describe what this agent does...","edit":"Edit Agent Type","preview_video":"Preview Video","slug":"Slug","slug_placeholder":"my-agent-type","sort_order":"Sort Order","style_presets":"Style Presets (comma-separated)","style_presets_placeholder":"cinematic, documentary, social-media","thumbnail":"Thumbnail","title":"Video Editor Agents","updated":"Agent type updated","upload_preview":"Upload Preview","visibility":"Visibility"},"cancel":"Cancel Job","cancel_confirm":"Are you sure you want to cancel this job?","cancelled":"Job cancelled","complete_description":"Your AI-generated video project is ready to edit.","complete_title":"Video Ready!","create_another":"Create Another","date_created":"Date Created","duration":"Duration","edit_in_editor":"Edit in Video Editor","elapsed":"Elapsed: {time}","error_retry":"Retry","form_submit":"Generate Video","generating_description":"This usually takes 1-2 minutes","generating_title":"Generating Your Video...","last_modified":"Last Modified","loading":"Loading agent...","no_broll":"No background videos available","open_in_editor":"Open in Video Editor","orientation":"Orientation","orientation_horizontal":"Horizontal","orientation_vertical":"Vertical","platform":"Platform","preview_title":"Preview","progress_label":"Progress","project_name":"Project Name","project_name_placeholder":"My Video Project","prompt":"Prompt","prompt_placeholder":"Describe the video you want to create...","section_title":"Video Agents","select_broll":"Select Background Video","select_broll_hint":"Choose a video to use as the background","sort_by":"Sort by","style":"Style","target_duration":"Duration (seconds)","target_platform":"Platform","usage_count":"{count} uses"},"breadcrumb":{"project-fallback":"Project {id}...","title":"Video Editor"},"common":{"apply":"Apply","cancel":"Cancel","clear":"Clear","close":"Close","custom":"Custom","delete":"Delete","done":"Done","export":"Export","more":"More","save":"Save"},"errors":{"could-not-get-canvas-context":"Could not get canvas context","could-not-load-image":"Could not load image","could-not-load-media":"Could not load media","could-not-load-video":"Could not load video","failed-to-process-file":"Failed to process file","opfs-not-supported":"OPFS is not supported in this browser"},"export":{"aspect-ratios":{"1:1":"1:1 (Square)","16:9":"16:9 (Widescreen)","21:9":"21:9 (Ultrawide)","4:3":"4:3 (Standard)","4:5":"4:5 (Portrait)","9:16":"9:16 (Vertical)"},"audio-bitrate":"Audio Bitrate","audio-bitrates":{"128":"128 kbps (Low)","192":"192 kbps (Standard)","256":"256 kbps (High)","320":"320 kbps (Best)"},"audio-channels":{"mono":"Mono","stereo":"Stereo"},"audio-codec":"Audio Codec","audio-codecs":{"aac":"AAC (Best compatibility)","flac":"FLAC (Lossless compressed)","mp3":"MP3 (Universal)","opus":"Opus (Smaller size)","vorbis":"Vorbis (Open source)","wav":"WAV (Lossless)"},"audio-sample-rates":{"22050":"22.05 kHz (Low)","44100":"44.1 kHz (CD Quality)","48000":"48 kHz (Standard)","96000":"96 kHz (High Resolution)"},"automatic":"Automatic","background-colors":{"black":"Black","blue":"Blue","dark-gray":"Dark Gray","green-screen":"Green Screen","transparent":"Transparent","white":"White"},"bitrate-auto":"Auto","cancel-export":"Cancel Export","codec":"Codec","color-spaces":{"bt2020":"BT.2020 (HDR/4K)","bt709":"BT.709 (Standard HD)","srgb":"sRGB (Web)"},"custom":"Custom","details":{"audio-bitrate":"Audio Bitrate","audio-codec":"Audio Codec","duration":"Duration","file-size":"File Size","filename":"Filename","format":"Format","frame-rate":"Frame Rate","resolution":"Resolution","video-codec":"Video Codec"},"download-again":"Download Again","duration-hint":"Export {duration} of video","empty-timeline":"Add content to your timeline to export","errors":{"empty-timeline":"Timeline is empty","failed-canvas-context":"Failed to create canvas context","no-audio":"No audio to export","unknown":"Unknown export error"},"estimated-size":"~{size}","export-alpha":"Export with alpha (transparency)","export-audio":"Export Audio","export-button":"Export Video","filename":"Filename","filename-placeholder":"my-video","format":"Format","frame-rate":"Frame Rate","generic-error":"Export failed","hide-details":"Hide details","include-audio":"Include audio","keyframe-intervals":{"1":"1 second (Best seeking)","2":"2 seconds (Recommended)","5":"5 seconds (Smaller file)","10":"10 seconds (Smallest file)"},"keyframe-options":{"every-10-seconds":"Every 10s","every-2-seconds":"Every 2s (default)","every-5-seconds":"Every 5s","every-frame":"Every frame","every-half-second":"Every 0.5s","every-second":"Every 1s"},"keyframes":"Keyframes","network-optimization":"Network optimization (fast start)","platform-variants":{"1080p":"","4k":"","720p":"","feed":"","reels":"","stories":"","vertical":""},"presets":{"adts":"","audio":"Audio","custom":"Custom","lossless":"","matroska":"","mp4":"","ogg-audio":"","quicktime":"","webm":""},"project-fps":"Project ({fps} fps)","project-resolution":"Project ({width}×{height})","quality":"Quality","quality-high":"High","quality-low":"Low","quality-medium":"Medium (Recommended)","quality-very-high":"Very High","quality-very-low":"Very Low","queued":"Queued, waiting for server...","resolution":"Resolution","resolutions":{"1080p":"1080p (1920×1080)","2k":"2K (2560×1440)","480p":"480p (854×480)","4k":"4K (3840×2160)","720p":"720p (1280×720)","square":"Square (1080×1080)","vertical":"Vertical (1080×1920)"},"restrict-to":"Restrict to","scaling-algorithms":{"bicubic":"Bicubic (Balanced)","bilinear":"Bilinear (Fastest)","lanczos":"Lanczos (Best quality)"},"server-render":"Server Render","stages":{"cancelled":"Export cancelled","completed":"Export complete!","encoding":"Encoding...","failed":"Export failed","idle":"Ready to export","mixing-audio":"Mixing audio...","preparing":"Preparing...","rendering-video":"Rendering video..."},"submitting-job":"Submitting render job...","title":"Export Video","unknown-error":"Unknown error","uploading-media":"Uploading media...","video-bitrate":"Max Bitrate","video-bitrates":{"1":"1 Mbps (Web)","2":{"5":"2.5 Mbps (480p)"},"5":"5 Mbps (720p Standard)","8":"8 Mbps (720p High)","10":"10 Mbps (1080p Low)","15":"15 Mbps (1080p Standard)","25":"25 Mbps (1080p High)","40":"40 Mbps (4K Standard)","50":"50 Mbps (4K High)"},"video-codecs":{"h264":"H.264 (Best compatibility)","hevc":"H.265/HEVC (Better compression)","vp9":"VP9 (WebM)"},"view-details":"View details"},"features":{"feature1":{"description":"Trim, split, crop, merge, and rearrange clips on a professional multi-track timeline. All the core editing tools you'd expect from a desktop editor, running in your browser.","title":"Full Editing Toolkit"},"feature2":{"description":"Generate natural-sounding voiceovers from text using 2M+ voices. Pick a voice, paste your script, and add studio-quality narration directly to your timeline.","title":"AI Voiceover Generation"},"feature3":{"description":"Generate original sound effects that enhance your video. Describe what you want and get a royalty-free track in seconds, no licensing headaches.","title":"AI Sound Effects Generation"},"feature4":{"description":"Layer video, voice, music, and sound effects across multiple tracks. Drag and drop to arrange, with real-time preview as you edit.","title":"Multi-Track Timeline"},"feature5":{"description":"No downloads, no installs, no waiting. Open a tab and start editing. Your projects live in the cloud and work on any device.","title":"100% Browser-Based"},"feature6":{"description":"Import MP4, MOV, WebM, and all major formats. Export in up to 4K with customizable quality, codec, and audio settings.","title":"Import & Export Anything"},"subtitle":"Everything you need to edit, enhance, and export, powered by AI where it matters","title":"Full Video Editor, AI Built In"},"guidelines":{"center":"Center","margins":"Margins","thirds":"Thirds"},"introduction":{"description":"All the video editing tools you expect: trimming, splitting, multi-track timeline, transitions, text overlays, running entirely in your browser. Then add AI on top: generate voiceovers from text, create background music, and more.","title":"Video Editing Meets AI","tryFree":"Try It Free"},"labels":{"audio-suffix":"{name} (audio)","copy-suffix":"{label} (copy)","left-suffix":"{label} (left)","right-suffix":"{label} (right)","unknown":"Unknown","untitled":"Untitled"},"landing":{"new-project":"New Project","welcome-description":"Create, edit, and export professional videos with our powerful timeline-based editor. Import media, arrange clips, and bring your vision to life.","welcome-title":"Welcome to Video Editor"},"layout":{"layout":"Layout","presets":{"daw":{"description":"Audio-only timeline view with embedded mixer","name":"DAW"},"default":{"description":"Classic 3-column layout with timeline at bottom","name":"Default"},"media":{"description":"Large asset browser for media-heavy projects","name":"Media Focus"},"minimal":{"description":"Distraction-free editing with focus on preview","name":"Minimal"},"vertical":{"description":"Optimized for 9:16 vertical video editing","name":"Vertical Video"}},"reset-layout":"Reset Layout"},"media-browser":{"add-more":"Add more","adding":"Adding...","click-to-browse":"or click to browse","click-to-relink":"Click to relink","cloud-storage":"Cloud storage","coming-soon":"Coming soon...","drop-hint":"Drop media files here","files-count":"{count} {count, plural, one {file} other {files}}","local-storage-hint":"Local browser storage (includes metadata)","not-found":"Not Found","processing":"Processing...","relink-file":"Relink File","stored-in-cloud":"Stored in cloud","stored-locally":"Stored locally","tabs":{"effects":"Effects","media":"Media","text":"Text"},"title":"Media Browser"},"media":{"video-preview-alt":"Video preview"},"missing-media":{"all-relinked-description":"All missing media files have been successfully relinked.","all-relinked-title":"All Media Relinked","description":"{count} media {count, plural, one {file} other {files}} could not be found. Upload replacement files to restore your timeline.","media-types":{"audio":"Audio","image":"Image","video":"Video"},"relink":"Relink","relink-failed":"Failed to relink media file","skip":"Skip for Now","timeline-ready":"Your timeline is ready to use.","title":"Missing Media Files"},"panels":{"media-browser":"Media Browser","preview":"Preview","properties":"Properties","timeline":"Timeline","unknown-panel":"Unknown panel: {panel}"},"project":{"cancel":"Cancel","confirm-delete":"Delete","create":"Create Project","create-description":"Enter a name for your new video project.","create-title":"Create New Project","delete":"Delete project","delete-description":"Are you sure you want to delete this project? This action cannot be undone and all associated media files will be removed.","delete-error":"Failed to delete project","delete-title":"Delete Project","deleted":"Project deleted successfully","name-label":"Project Name","name-placeholder":"My Video Project","name-required":"Project name is required","new":"New","no-projects":"No projects yet. Create your first project to get started.","rename":"Rename","rename-placeholder":"Project name","rename-success":"Project renamed successfully","rename-title":"Rename Project","sync-failed":"Sync failed","synced-multiple":"{count} projects were updated from another device","synced-single":"\"{name}\" was updated from another device","title":"Your Projects"},"properties":{"audio-properties":"Audio Properties","brightness":"Brightness","color":"Color","contrast":"Contrast","fill":"Fill","fit":"Fit","flip-horizontal":"Flip Horizontal","flip-vertical":"Flip Vertical","media-properties":"Media Properties","no-selection":"No element selected","no-selection-hint":"Select an element on the timeline to edit its properties","opacity":"Opacity","position":"Position","reset":"Reset","rotate":"Rotate","saturation":"Saturation","scale":"Scale","text-properties":"Text Properties","title":"Properties","transform":"Transform","volume":"Volume"},"remote-media":{"all-downloaded-description":"All remote media files have been downloaded successfully.","all-downloaded-title":"All Media Downloaded","description":"{count} media {count, plural, one {file needs} other {files need}} to be downloaded for thumbnails and export support.","download-failed":"Failed to download remote media","downloading-background":"Downloading in background...","preview-may-differ":"Preview may not be fully accurate while media is downloading","timeline-ready":"Thumbnails and export are now available.","title":"Remote Media Available"},"restore":{"blocks-count":"{count} blocks","no-preview":"No preview","restoring":"Restoring..."},"settings":{"background":"Background","backgrounds":{"black":"Black","dark-gray":"Dark Gray","transparent":"Transparent","white":"White"},"fps":{"24":"24 fps","30":"30 fps","60":"60 fps"},"frame-rate":"Frame Rate","resolution":"Resolution","resolutions":{"1080x1080":"Square (1080×1080)","1080x1920":"Vertical (1080×1920)","1280x720":"720p (1280×720)","1920x1080":"1080p (1920×1080)","2560x1440":"2K (2560×1440)","3840x2160":"4K (3840×2160)","720x1280":"Vertical 720p (720×1280)"}},"sync":{"click-to-retry":"Click to retry","hours-ago":"{count}h ago","just-now":"Just now","last-saved":"Last saved {time}","local":"Local","local-description":"Not synced to cloud","minutes-ago":"{count}m ago","never-synced":"Never synced","offline":"Offline","offline-description":"Changes will sync when online","remote-update-description":"Editing the same project on multiple devices simultaneously may cause conflicts. Please use one device at a time.","remote-update-warning":"Project updated from another device","saved":"Saved {time}","saving":"Saving...","saving-description":"Changes will be saved","sync-failed":"Sync failed","synced":"Synced","syncing":"Syncing changes..."},"templates":{"boxed":"Boxed","cinematic":"Cinematic","classic":"Classic","dynamic":"Dynamic","glow":"Glow","highlight":"Highlight","modern":"Modern","pop":"Pop","retro":"Retro","speaker":"Speaker","timestamp":"Timestamp","title":"Title"},"text":{"add":"Add","add-text":"Add Text","alignment-label":"Alignment","alignment":{"center":"Center","left":"Left","right":"Right"},"animation":"Animation","animation-duration":"Animation Duration","animations":{"fade":"Fade","none":"None","slide-down":"Slide Down","slide-up":"Slide Up"},"background":"Background","color-label":"Color","custom-style":"Custom Style","drag-to-timeline":"Drag to timeline","edit-text":"Edit Text","font":"Font","keyboard-hint":"Press","keyboard-hint-to-submit":"to submit","no-saved-styles":"No saved styles","placeholder":"Enter your text...","position-label":"Position","positions":{"bottom-center":"Bottom Center","bottom-left":"Bottom Left","bottom-right":"Bottom Right","center":"Center","center-left":"Center Left","center-right":"Center Right","top-center":"Top Center","top-left":"Top Left","top-right":"Top Right"},"save-as-style":"Save as Style","save-style":"Save style","save-style-title":"Save Style","save-text-style":"Save Text Style","saved":"Saved","size":"Size","style":"Style","style-name-placeholder":"Style name...","templates":"Templates","text-content":"Text Content","update":"Update","your-text":"Your Text"},"timeline":{"missing":"Missing","mixer":{"click-to-edit-volume":"Click to edit volume","main":"MAIN","title":"Mixer"},"new-track":"New {type} track","toolbar":{"audio-levels":"Audio Levels","hide-mixer":"Hide Mixer","show-mixer":"Show Mixer"},"track-header":{"click-to-rename":"Click to rename","click-to-reset-clip":"Click to reset clip indicators","hide-track":"Hide track","mute-track":"Mute track","pan":"Pan","reset-to-default":"Reset to default","show-track":"Show track","solo-track":"Solo track","track-locked":"Track is locked","unmute-track":"Unmute track","unsolo-track":"Unsolo track","width":"Width"},"track-types":{"audio":"Audio","text":"Text","video":"Video"},"waveform-unavailable":"Waveform unavailable for long files"},"title":"Video Editor","topBar":{"cta":"Start Editing Free","pricingButton":"View Pricing","stat1":"AI Voices","stat2":"Languages","stat3":"Export Quality","subtitle":"A free browser-based video editor with all the editing essentials, plus AI built right in. Add voiceovers from 2M+ voices, generate background music, and create clips without ever leaving your browser.","title":"Add <highlight>AI Voiceovers</highlight> to Any Video in Minutes"},"tts":{"active":"Active","add_block_with_voice":"Add Block with Voice","add_blocks_with_voice":"Add {count} Blocks with Voice","add_text":"Add Text","add_text_block":"Add Text Block","add_text_blocks":"Add {count} Text Blocks","backends":{"s1":"S1","s1-description":"Legacy","speech-1":{"5":"V1.5","6":"V1.6","5-description":"Legacy","6-description":"Legacy"}},"block-label":"TTS: {text}...","blocks":"blocks","cancel":"Cancel","done":"Done","empty-text-error":"Text content is empty","enter_text_placeholder":"Enter your text here...","errors":{"generation-failed":"Generation failed","queue-already-running":"Queue is already running"},"failed":"Failed","failed_tasks":"Failed Tasks","generate":"Generate Speech","generated-success":"TTS generated successfully","generating":"Generating...","generating_speech":"Generating Speech","generation_complete":"Generation Complete","generation_complete_with_errors":"Generation Complete (with errors)","generation-failed":"Failed to generate TTS","generation-history":"Generation History ({count})","model_version":"Model Version","model-version":"Model Version","pending":"Pending","regenerate":"Regenerate","remove":"Remove TTS","removed":"TTS removed","retry_failed":"Retry Failed","segments":"segments","select-voice":"Select Voice Model","select-voice-error":"Please select a voice model first","skip_voice":"Text only (no voice)","split_mode":"Split Mode","split-modes":{"auto":"Auto","auto-description":"Split by newlines","manual":"Manual","manual-description":"Only split on explicit markers (---)","none":"None","none-description":"Keep as single block"},"switched-version":"Switched to previous generation","text_content":"Text Content","text_only_description":"Add text blocks without generating audio","title":"Text to Speech","versions-count":"{count} versions","voice":"Voice","voice-model":"Voice Model"},"usecases":{"contentCreation":{"button":"Start Creating","description":"Edit and publish directly from your browser. Trim clips, add AI voiceovers, generate background music, and export optimized for any platform, YouTube, TikTok, Instagram, or Shorts.","title":"YouTube & Social Media"},"elearning":{"button":"Build a Course","description":"Turn slides and screen recordings into polished video lessons. Add clear AI narration, background music, and text overlays without any recording equipment.","title":"E-Learning & Courses"},"marketing":{"button":"Create an Ad","description":"Produce scroll-stopping video ads with AI voiceovers and generated music. Iterate fast, swap voices, test scripts, and re-export without reshooting a single frame.","title":"Marketing & Ads"},"personal":{"button":"Start Editing","description":"No watermarks, no paywalls for basic features. Edit vacation clips, make meme videos, or piece together a podcast, the full editor is free and always available.","title":"Personal & Side Projects"},"subtitle":"From YouTube shorts to course content, one free tool does it all","title":"Built for Every Video Creator"},"version-history":{"no-backups":"No previous versions","not-synced":"Sync to cloud to enable version history","recent":"Recent Versions","restore":"Restore","restore-description":"A backup of your current project will be created first.","restore-success":"Project restored successfully","restore-title":"Restore this version?","title":"Version History","trigger-auto":"Auto backup","trigger-manual":"Manual backup","trigger-pre-restore":"Pre-restore backup","view-all":"View all versions"}},"voice-design":{"title":"Voice Design","compose":{"continue":"Continue"},"step1":{"heading":"Describe the voice you want","helper":"Describe age, gender, accent, tone, pacing, and mood. The more specific, the better.","placeholder":"e.g. A warm, slightly raspy middle-aged narrator with a soft American accent. Calm, deliberate pace, great for late-night audiobooks.","tryStarter":"Try a starter prompt:","starter":{"radioHost":"Warm late-night radio host","documentary":"Documentary narrator","storyteller":"Children's storyteller"},"starterPrompt":{"radioHost":"A warm, intimate late-night radio host in their late 30s with a soft, husky voice. Relaxed, unhurried pacing with occasional gentle chuckles, like they're speaking to a single listener in a quiet room.","documentary":"A measured, authoritative documentary narrator with crisp diction and a slightly grave tone. Confident and unhurried, suited for nature, history, or science films.","storyteller":"A gentle, animated children's storyteller with bright, expressive intonation and clear enunciation. Warm and reassuring, perfect for picture books and bedtime tales."},"generate":"Generate Samples","regenerate":"Re-generate Samples","setPreviewText":"Set preview text","hidePreviewText":"Hide preview text","creditsPerGeneration":"{credits} credits per generation","freeForLimitedTime":"Free for a limited time","previewText":{"label":"Preview text","optional":"Optional","helper":"Leave this blank to let the system write a short in-context sample.","placeholder":"Welcome to the future of audio — where every voice, every character, every moment can be shaped by a single line of text."}},"step2":{"heading":"Pick a voice","select":"Select","selected":"Selected","pagination":"{current}/{total}","aria":{"playSample":"Play sample","pauseSample":"Pause sample","previousBatch":"Previous sample batch","nextBatch":"Next sample batch","seek":"Seek within sample"}},"step3":{"heading":"Voice Details","field":{"name":{"label":"Voice Name","placeholder":"Name your voice here"},"cover":{"label":"Cover","uploadAria":"Upload cover image","previewAlt":"Voice cover preview"},"description":{"label":"Description"},"gender":{"label":"Gender","female":"Female","male":"Male","neutral":"Neutral"},"age":{"label":"Age","young":"Young","middleAged":"Middle-Aged","elderly":"Elderly"},"useCases":{"label":"Use Cases","audioBook":"Audio book","podcast":"Podcast","animation":"Animation","ads":"Ads","eLearning":"E-learning","film":"Film"},"style":{"label":"Voice Style","warm":"warm","soothing":"soothing","calm":"calm","wise":"wise","energetic":"energetic","dramatic":"dramatic","friendly":"friendly","showMore":"Show More","showLess":"Show Less"},"type":{"label":"Type","public":{"label":"Public","description":"This voice will be visible in the discovery page and can be seen and used by everyone."},"unlisted":{"label":"Unlisted","description":"This voice model will not appear in the discover page, but can be shared with specific users via a link."},"private":{"label":"Private","description":"This voice model is only visible to the creator and cannot be shared and will not appear in the discover section"},"upgradeHint":"Upgrade to choose this visibility"}},"compliance":{"label":"I confirm this voice does not impersonate a real, identifiable person and complies with Fish Audio's usage policy."},"back":"Back","create":"Create Voice"},"errors":{"promptMin":"Description must be at least 20 characters.","promptMax":"Description must be at most 1000 characters.","nameRequired":"Name is required.","previewTextMin":"Preview text must be at least 5 characters.","previewTextMax":"Preview text must be at most 150 characters.","complianceRequired":"You must acknowledge the usage policy."}},"landings":{"aiVoiceGenerator":{"cta":{"title":"Hear Your Words in Any Voice","subtitle":"Pick a voice, type your text, press play. Free to start, no card needed.","primaryButton":"Try the AI Voice Generator Free","secondaryButton":"Clone Your Voice"},"faq":{"title":"Frequently asked questions","q1":{"question":"What is an AI voice generator?","answer":"An AI voice generator converts written text into natural-sounding speech using deep learning voice models. Fish Audio offers 2,000,000+ voices across 80+ languages, from narrators and newsreaders to characters, with inline tag control and instant voice cloning. Generate, clone or customize any voice in seconds."},"q2":{"question":"Is there a free AI voice generator?","answer":"Yes. Fish Audio's free AI voice generator includes 8,000 credits per month (about 7 minutes of audio), up to 500 characters per generation, 3 public voice slots, voice cloning and MP3 and WAV download. No card required, making it a genuinely usable AI voice generator free plan. <pricingPage>Paid plans</pricingPage> add commercial use and larger credit pools."},"q3":{"question":"What is the best AI voice generator in 2026?","answer":"Fish Audio leads on the numbers that matter: 2,000,000+ voices, 80+ languages, instant voice cloning from about 10 seconds of audio, inline tag control and a free tier to test everything. In published blind tests, listeners could not reliably tell Fish Audio S2 from a human voice."},"q4":{"question":"Can I use Fish Audio as an AI voice over generator?","answer":"Yes. Generate broadcast-quality voiceovers for video, podcasts, e-learning and ads in 2,000,000+ voices and 80+ languages. Export as MP3 or WAV for direct use in any video editor, or automate production through the <apiPage>API</apiPage>."},"q5":{"question":"Can an AI voice generator create character voices?","answer":"Yes. Fish Audio's library includes character voices for games, animation and storytelling, and you can clone a custom character voice from a short sample. Inline tags let each character laugh, whisper and shift tone on command."},"q6":{"question":"How is this different from Fish Audio text to speech?","answer":"It's the same engine. This page is the creator view of <ttsPage>Fish Audio text to speech</ttsPage>: pick or clone a voice, type your text, generate. Developers can use the identical voices through the <apiPage>text to speech API</apiPage>."}}},"audiobooks":{"cta":{"button":"SIGN UP","title":"Get started with the most expressive voices for free."},"faq":{"q1":{"answer":"Fish Audio's AI analyzes your text and generates natural-sounding narration with appropriate pacing, emotion, and emphasis using advanced neural networks trained on human speech.","question":"How does AI text-to-speech work for audiobooks?"},"q2":{"answer":"Yes! Fish Audio's voices convey a wide range of emotions and can be adjusted for dramatic scenes, emphasis, and dynamic narration that keeps listeners engaged.","question":"Can AI voices sound expressive and emotional for storytelling?"},"q3":{"answer":"Yes! You can clone your own voice or create custom voice models by uploading voice samples to train a personalized model.","question":"Can I use my own voice or a custom voice model?"},"q4":{"answer":"Yes! You can assign different voices to different characters and adjust each character's emotional tone and speaking style to create distinct personalities throughout your audiobook.","question":"Do AI audiobooks support conveying multiple different characters and their personalities in dialogue?"},"title":"Frequently asked questions"},"features":{"feature1":{"description":"Within just seconds, Fish Audio breathes life into the highest quality audio that sounds indistinguishable from real humans.","subtext":"Deliver broadcast-ready audio that meets professional audiobook standards. No recording booth or expensive equipment needed. Your listeners won't believe it's AI-generated.","title":"Studio-quality speech"},"feature2":{"description":"With 8 languages supported and more to come, Fish Audio's speech is native-speaking level that sounds alive.","subtext":"Expand into international markets with authentic-sounding narration. Each language captures natural pronunciation and cultural nuances. One book, unlimited global reach.","title":"Multilingual support"},"feature3":{"description":"Transform text into speech in just seconds. Batch together large amounts of text to narrate entire books in a fraction of the production time and cost.","subtext":"Complete full-length audiobooks in hours instead of weeks. Make revisions instantly without scheduling studio time. Scale your audiobook catalog faster than ever before.","title":"Ready in seconds"}},"hero":{"cta":"SIGN UP","subtitle":"Explore thousands of voices in 8 languages to generate the perfect voice to tell <bold>your stories</bold>. Maximize immersion and prototype hours of audio in just minutes.","title":"Narrate audiobooks with <italic>feeling</italic>"},"quote":{"paragraph":"Create immersive AI-powered audiobooks with natural-sounding text-to-speech. Our expressive voiceovers match pacing, emotion, and character, making them perfect for authors and publishers looking to bring stories to life at scale.","subparagraph":"Enhance listener engagement with studio-quality AI narration. Ideal for self-publishers, content creators, and publishers looking for the best voice quality.","title":"Audiobooks that come to life"}},"audioConverter":{"conversionCta":{"primaryButton":"CONVERT {inputFormat} TO {outputFormat}","secondaryButton":"VIEW ALL FORMATS","subtitle":"Fast, free, browser-based conversion with optimal encoding quality","title":"Convert {inputFormat} to {outputFormat} in seconds","trust1":"100% free","trust2":"No software installation","trust3":"Optimal encoding settings"},"conversionFaq":{"q1":{"answer":"Upload your {inputFormat} file using the converter above. We'll automatically convert it to {outputFormat} format. Once complete, download your converted file — no software installation required.","question":"How do I convert {inputFormat} to {outputFormat}?"},"q2":{"answer":"Quality depends on the formats involved. Converting between lossless formats preserves full fidelity, while converting to a lossy format involves some compression. We use optimal encoding to deliver the best {outputFormat} quality from your {inputFormat} source.","question":"Will I lose quality converting {inputFormat} to {outputFormat}?"},"q3":{"answer":"Common reasons include device compatibility, reducing file size, meeting platform requirements, or preparing audio for editing software. {outputFormat} may offer better compatibility or smaller file sizes depending on your needs.","question":"Why convert {inputFormat} to {outputFormat}?"},"q4":{"answer":"We support over 20 audio and video formats. Visit our <mainPage>audio converter</mainPage> to explore all supported format combinations, including MP3, WAV, FLAC, M4A, OGG, and many more.","question":"What other format conversions are available?"},"title":"Frequently asked questions"},"cta":{"primaryButton":"CONVERT NOW","subtitle":"Support for 20+ audio and video formats with optimal encoding quality","title":"Convert any audio file instantly","trust1":"100% free","trust2":"No sign-up required","trust3":"No file size limits"},"faq":{"q1":{"answer":"We support over 20 audio and video formats including MP3, WAV, FLAC, M4A, OGG, AIFF, WMA, OPUS, WEBM, AVI, MOV, and more. Convert between any combination of supported formats.","question":"What audio formats does the converter support?"},"q2":{"answer":"Yes, our audio converter is completely free with no watermarks or quality limitations. Convert as many files as you need.","question":"Is the audio converter free to use?"},"q3":{"answer":"Converting between lossless formats (WAV, FLAC, AIFF) preserves full quality. Converting to lossy formats (MP3, OGG) involves some compression inherent to the format. We use optimal encoding settings to minimize any quality loss.","question":"Will converting my audio affect its quality?"},"q4":{"answer":"We support large audio files for conversion. For very large files, we recommend using lossless formats to maintain the best quality throughout the process.","question":"Is there a file size limit for conversion?"},"q5":{"answer":"Beyond conversion, we offer <audioSeparation>audio separation</audioSeparation> to isolate instruments and vocals, <sttPage>speech-to-text</sttPage> transcription, and <translatePage>audio translation</translatePage> to translate speech across languages.","question":"What else can I do with my audio?"},"title":"Frequently asked questions"}},"audioSeparation":{"cta":{"primaryButton":"TRY IT FREE","secondaryButton":"VIEW PRICING","subtitle":"Upload any track and isolate vocals, drums, bass, and more in seconds","title":"Ready to separate audio like a pro?","trust1":"Free tier available","trust2":"No software install needed","trust3":"Up to 9 stems supported"},"faq":{"q1":{"answer":"AI audio separation uses deep neural networks to isolate individual sound sources — such as vocals, drums, bass, and guitar — from a mixed audio track. Our technology analyzes spectral patterns to cleanly extract each stem, even from complex mixes.","question":"What is AI audio separation and how does it work?"},"q2":{"answer":"We support all major audio and video formats including MP3, WAV, FLAC, M4A, OGG, and more. If your file is in an unsupported format, use our <audioConverter>audio converter</audioConverter> to convert it first.","question":"What audio formats can I upload for stem separation?"},"q3":{"answer":"You can isolate up to 9 individual stems: vocals, drums, bass, piano, guitar, wind instruments, strings, percussion, and keys.","question":"How many stems can I separate from a single track?"},"q4":{"answer":"Yes, we offer free audio separation with generous monthly limits. For higher volumes and priority processing, check our <pricingPage>pricing plans</pricingPage>.","question":"Is AI audio separation free to use?"},"q5":{"answer":"Audio separation is used for creating karaoke tracks, remixing music, isolating vocals for sampling, removing background music from podcasts, extracting instrument parts for music education, and producing clean stems for DJs and producers. For more flexible prompt-based isolation, try <samAudioPage>SAM Audio</samAudioPage>.","question":"What are common use cases for audio separation?"},"title":"Frequently asked questions"},"trackCta":{"primaryButton":"ISOLATE {track} NOW","secondaryButton":"VIEW ALL STEMS","subtitle":"AI-powered {track} isolation with near studio-grade quality","title":"Extract {track} from any audio track","trust1":"Free to try","trust2":"Browser-based processing","trust3":"High-quality output"},"trackFaq":{"q1":{"answer":"Our AI specifically targets {track} frequencies and patterns in your audio, using trained neural networks to cleanly separate {track} from all other instruments and sounds in the mix.","question":"How does {track} isolation work?"},"q2":{"answer":"Isolated {track} tracks are perfect for remixing, sampling, karaoke, music education, and content creation. You can also combine isolated {track} with other separated stems to create custom mixes.","question":"What can I do with isolated {track}?"},"q3":{"answer":"We use state-of-the-art AI models trained on thousands of hours of music. The {track} isolation quality is near studio-grade, preserving clarity and detail while minimizing artifacts from other instruments.","question":"How good is the {track} separation quality?"},"q4":{"answer":"Yes! We support isolating vocals, drums, bass, piano, guitar, wind, strings, percussion, and keys. Visit our <mainPage>audio separation page</mainPage> to explore all available stems. For open-ended isolation using text prompts, try <samAudioPage>SAM Audio</samAudioPage>.","question":"Can I separate other instruments besides {track}?"},"title":"Frequently asked questions"}},"characterVoices":{"cta":{"button":"SIGN UP","title":"Start creating character voices for free."},"faq":{"q1":{"answer":"Fish Audio's neural networks analyze your text and generate natural-sounding character speech with consistent personality, emotion, and vocal characteristics that remain stable across all interactions.","question":"How does AI character voice generation work?"},"q2":{"answer":"Yes! Fish Audio's character voices can express a wide range of emotions from joy and excitement to sadness and anger, making them perfect for creating believable, engaging characters in any interactive experience.","question":"Can AI character voices convey different emotions and personalities?"},"q3":{"answer":"Yes! You can clone existing voices or create entirely custom voice models by uploading voice samples. This is perfect for creating unique character identities or matching specific vocal requirements.","question":"Can I create custom character voices or clone existing ones?"},"q4":{"answer":"Yes! Fish Audio provides robust APIs for real-time voice generation, making it easy to integrate into game engines, chatbot platforms, AI companion apps, and any other interactive media requiring dynamic character voices.","question":"Can I integrate character voices into my game or application?"},"title":"Frequently asked questions"},"features":{"feature1":{"description":"Create distinctive character voices that maintain consistent personality traits, vocal quirks, and emotional range across all interactions.","subtext":"Whether it's a wise mentor, mischievous sidekick, or fearsome villain, your characters will sound authentic and memorable every time they speak. Perfect for games, AI companions, and interactive stories.","title":"Unique character personalities"},"feature2":{"description":"Generate character dialogue instantly with our low-latency API, enabling real-time conversations and dynamic interactions in your applications.","subtext":"Ideal for AI companions, chatbots, virtual assistants, and NPCs that need to respond naturally in real-time. No pre-recording required—generate any dialogue on the fly.","title":"Real-time voice generation"},"feature3":{"description":"Create hundreds of unique character voices from a single platform. Scale your cast of characters without the logistics of coordinating multiple voice actors.","subtext":"Populate entire game worlds, create diverse chatbot personalities, or build a roster of AI companions. Iterate on character voices instantly and update them anytime.","title":"Endless character possibilities"}},"hero":{"cta":"SIGN UP","subtitle":"Create <bold>unique, expressive</bold> voices for your characters. From AI chatbots or conversational agents to video game NPCs and AI companions, bring your characters to life with voices that have real personality.","title":"Give your characters a <italic>soul</italic>"},"quote":{"paragraph":"Create compelling AI-powered character voices for games, AI companions, chatbots, and interactive media. Our expressive text-to-speech brings characters to life with consistent personalities and natural emotions that engage users and enhance immersion.","subparagraph":"Perfect for game developers building immersive worlds, AI companion creators seeking emotional connection, and anyone creating interactive characters that need to speak with authenticity and personality.","title":"Characters that come alive"}},"conversationalChatbots":{"cta":{"button":"SIGN UP","title":"Build voice-enabled chatbots for free."},"faq":{"q1":{"answer":"Fish Audio's neural networks generate natural-sounding speech in real-time with ultra-low latency, enabling smooth back-and-forth conversations. Our API processes text and returns high-quality audio in milliseconds, perfect for live customer interactions.","question":"How does real-time voice generation work for chatbots?"},"q2":{"answer":"Yes! Fish Audio voices can convey warmth, empathy, professionalism, and enthusiasm. Your chatbot can adapt its tone based on context—reassuring for support issues, upbeat for sales, and friendly for casual interactions.","question":"Can chatbot voices sound natural and emotionally appropriate?"},"q3":{"answer":"Yes! You can clone your brand's voice or create custom voice models that match your company's identity. Train a unique voice that becomes the consistent audio presence across all your customer touchpoints.","question":"Can I create a custom voice that matches my brand?"},"q4":{"answer":"Yes! Fish Audio provides robust APIs with WebSocket support for real-time streaming, making it easy to integrate into any chatbot platform, call center system, or custom application. Works with popular frameworks and supports multiple audio formats.","question":"Can I integrate Fish Audio into my existing chatbot platform?"},"title":"Frequently asked questions"},"features":{"feature1":{"description":"Deliver instant voice responses with sub-200ms latency. Your customers get natural, flowing conversations without awkward pauses or robotic delays.","subtext":"Perfect for live customer support, where every second counts. Our streaming API delivers audio as it's generated, creating truly conversational experiences that feel human.","title":"Ultra-low latency responses"},"feature2":{"description":"Handle thousands of simultaneous conversations without quality degradation. Scale from startup to enterprise without changing your integration.","subtext":"Whether you're serving 10 or 10,000 concurrent users, Fish Audio maintains consistent voice quality and response times. Built for the demands of production chatbot deployments.","title":"Enterprise-scale reliability"},"feature3":{"description":"Create voice experiences in 8 languages with native-level pronunciation. Serve global customers in their preferred language with authentic-sounding voices.","subtext":"Expand your chatbot's reach without hiring multilingual voice talent. Each language features natural intonation and cultural nuances that resonate with local audiences.","title":"Multilingual support"}},"hero":{"cta":"SIGN UP","subtitle":"Power your <bold>AI assistants, customer support agents, and companion apps</bold> with natural-sounding voices. Create engaging voice experiences with ultra-low latency and enterprise-grade reliability.","title":"Make every conversation feel <italic>human</italic>"},"quote":{"paragraph":"Transform your chatbots from text-only interfaces into engaging voice experiences. Whether you're building customer support agents, shopping concierges, AI companions, or virtual assistants, Fish Audio delivers the natural, responsive voices your users expect.","subparagraph":"Ideal for customer service teams seeking to reduce wait times, e-commerce platforms building voice-enabled shopping assistants, and developers creating the next generation of AI companions.","title":"Conversations that connect"}},"samAudio":{"cta":{"primaryButton":"TRY SAM AUDIO FREE","secondaryButton":"VIEW PRICING","subtitle":"Describe what you want to extract and get clean, high-quality audio in seconds","title":"Isolate any sound with a text prompt","trust1":"Free tier available","trust2":"No software install needed","trust3":"Natural language prompts"},"faq":{"q1":{"answer":"SAM Audio is an AI-powered audio separation model that uses natural language prompts. Describe the sound you want to isolate, like \"extract the vocals\" or \"remove background music\", and the AI will separate it from the rest of the audio.","question":"What is SAM Audio and how does it work?"},"q2":{"answer":"You can isolate virtually any identifiable sound: vocals, individual instruments, speech, sound effects, ambient noise, and more. If you can describe it in words, SAM Audio can target it.","question":"What kinds of sounds can I isolate with SAM Audio?"},"q3":{"answer":"We support all major audio formats including MP3, WAV, FLAC, M4A, and more. If your file is in an unsupported format, use our <audioConverter>audio converter</audioConverter> to convert it first.","question":"What audio formats does SAM Audio support?"},"q4":{"answer":"Traditional <audioSeparation>stem separation</audioSeparation> splits audio into fixed categories like vocals, drums, and bass. SAM Audio uses open-ended text prompts, so you can target any sound you describe, not just predefined stems.","question":"How is SAM Audio different from stem separation?"},"q5":{"answer":"SAM Audio is used for music production (isolating specific instruments), video post-production (extracting dialogue or removing unwanted sounds), speech enhancement (cleaning up recordings for <sttPage>transcription</sttPage> or <translatePage>translation</translatePage>), and creative remixing.","question":"What are common use cases for SAM Audio?"},"title":"Frequently asked questions"}},"soundEffects":{"categoryCta":{"primaryButton":"GENERATE {category} SOUNDS","secondaryButton":"BROWSE ALL CATEGORIES","subtitle":"Describe the exact {category} sound you need and generate it instantly with AI","title":"Create custom {category} sound effects","trust1":"Free to try","trust2":"AI-generated in seconds","trust3":"Infinite variations"},"categoryFaq":{"q1":{"answer":"Describe the {category} sound you want in the text prompt. Be specific about qualities like intensity, duration, and environment for the best results. Our AI will generate a custom {category} effect in seconds.","question":"How do I generate {category} sound effects?"},"q2":{"answer":"Yes! Adjust your text prompt to fine-tune the output. Add details like \"soft\", \"intense\", \"distant\", or \"close-up\" to shape the {category} sound. Generate multiple variations and pick the one that fits your project.","question":"Can I customize {category} sounds?"},"q3":{"answer":"Creators use {category} sounds in video production, podcasts, game development, app design, and multimedia presentations. They're also popular for social media content, theatrical productions, and educational materials.","question":"What are common uses for {category} sound effects?"},"q4":{"answer":"Yes! We offer a wide library of sound effect categories. Browse our <mainPage>full sound effects library</mainPage> to discover more options and generate effects across different categories. You can also <audioSeparation>extract sounds from existing audio</audioSeparation> using our separation tools.","question":"Can I browse more sound effect categories?"},"title":"Frequently asked questions"},"cta":{"primaryButton":"CREATE SOUND EFFECTS","secondaryButton":"VIEW PRICING","subtitle":"Describe the sound you need and get a high-quality audio clip in seconds","title":"Generate any sound effect from text","trust1":"Free tier available","trust2":"Unlimited creative possibilities","trust3":"Commercial rights on paid plans"},"faq":{"q1":{"answer":"Our AI generates sound effects from text descriptions. Simply type what you want to hear — like \"thunder rolling in the distance\" or \"footsteps on gravel\" — and the model creates a realistic, high-quality audio clip in seconds.","question":"How does AI sound effect generation work?"},"q2":{"answer":"You can generate virtually any sound effect: nature sounds, urban ambience, mechanical noises, sci-fi effects, musical stingers, UI sounds, animal sounds, weather effects, and much more.","question":"What types of sound effects can I create?"},"q3":{"answer":"Yes, sound effects generated on paid plans include full commercial rights for use in videos, games, podcasts, apps, and other projects. Check our <pricingPage>pricing page</pricingPage> for details.","question":"Can I use generated sound effects commercially?"},"q4":{"answer":"Generated sound effects can be downloaded in common formats including MP3 and WAV. Need a different format? Use our <audioConverter>audio converter</audioConverter> to convert to any supported format.","question":"What audio formats are available for download?"},"q5":{"answer":"Absolutely. Use <audioSeparation>audio separation</audioSeparation> to extract elements from existing audio, then layer in generated sound effects. For narration, pair effects with our <ttsPage>text-to-speech</ttsPage> tool.","question":"Can I combine sound effects with other tools?"},"title":"Frequently asked questions"}},"stt":{"cta":{"primaryButton":"TRANSCRIBE NOW","secondaryButton":"VIEW PRICING","subtitle":"Upload any audio file and get accurate text transcription in seconds","title":"Transcribe audio to text with AI accuracy","trust1":"Multi-language support","trust2":"Handles long-form audio","trust3":"Free tier available"},"faq":{"title":"Frequently asked questions","q1":{"question":"How does speech to text AI work?","answer":"Fish Audio speech to text AI analyzes your audio using a deep learning ASR model. It detects phonemes, words and sentence boundaries, then outputs a formatted transcript with punctuation and optional timestamps. In the web app, speaker labels and automatic tags are added as well. That is what speech to text software does; the difference is the model behind it."},"q2":{"question":"What languages does Fish Audio speech to text AI support?","answer":"Speech recognition supports 80+ languages, with English, Mandarin, Cantonese, Japanese and Korean the most thoroughly tested through the API. The language is detected automatically, and mixed-language audio with code-switching is handled without manual configuration. Need the transcript in another language? Use Fish Audio's <translatePage>audio translation</translatePage> tool after transcribing."},"q3":{"question":"How accurate is Fish Audio speech to text AI?","answer":"Accuracy depends on audio quality, background noise and speaker clarity. With clean audio, Fish Audio achieves high accuracy rates, and the model is optimized for conversational, multi-speaker audio. For noisy recordings, run the file through <samAudioPage>SAM Audio</samAudioPage> first to isolate speech."},"q4":{"question":"Can I transcribe long audio files with AI?","answer":"Yes. Fish Audio speech to text AI handles long-form audio: full meetings, lectures, podcast episodes and interviews. Through the API, each request accepts files up to 20 MB and 60 minutes; longer recordings split into chunks and stitch back together using the segment timestamps."},"q5":{"question":"What audio formats does Fish Audio speech to text AI support?","answer":"All major audio and video formats: MP3, WAV, FLAC, M4A, OGG, MP4, MOV and more. Upload the raw file with no pre-processing. For unsupported formats, use our <audioConverter>audio converter</audioConverter> first."},"q6":{"question":"Is there a free AI speech to text tool?","answer":"Yes. Fish Audio offers AI speech to text free every month with 8,000 credits included. Speaker labels, automatic tags, timestamps and SRT, VTT and JSON export are all part of the web app's free tier."},"q7":{"question":"How do I transcribe audio to text using AI?","answer":"Upload your audio file or record live in your browser. Fish Audio AI transcribes it in real time, and the web app adds speaker labels, timestamps and automatic tags. Then copy your transcript or download it as SRT, VTT or JSON."},"q8":{"question":"What is speech to text AI?","answer":"Speech to text AI converts spoken audio into written text using automatic speech recognition and deep learning. Fish Audio's speech to text AI transcribes in real time, adds speaker labels, timestamps and automatic tags in the web app, supports 80+ languages with code-switching, and accepts every major audio and video format."}},"formatCta":{"primaryButton":"TRANSCRIBE {format}","secondaryButton":"VIEW ALL FORMATS","subtitle":"Upload your {format} file and get accurate transcription without any format conversion","title":"Convert {format} files to text instantly","trust1":"Native {format} support","trust2":"Multi-language detection","trust3":"Free to try"},"formatFaq":{"q1":{"answer":"Upload your {format} file using the tool above. Our speech recognition AI will process the audio and deliver an accurate text transcription — no software installation or format conversion required.","question":"How do I convert {format} files to text?"},"q2":{"answer":"Yes, we handle {format} files natively with high accuracy. Transcription quality depends primarily on speech clarity and recording quality, not the file format. For noisy audio, try <audioSeparation>audio separation</audioSeparation> to isolate speech first.","question":"Is {format} transcription accurate?"},"q3":{"answer":"Yes! We support English, Mandarin, Cantonese, Japanese, and Korean. Upload your {format} file and the AI will automatically detect the spoken language. Need to translate the transcribed text? Try our <translatePage>audio translation</translatePage> tool.","question":"Can I transcribe {format} files in multiple languages?"},"q4":{"answer":"We support all major audio and video formats including MP3, WAV, FLAC, M4A, OGG, and more. Visit our <mainPage>speech-to-text page</mainPage> for the full list of supported formats.","question":"What other formats can I transcribe?"},"title":"Frequently asked questions"}},"students":{"content":{"ambassador":{"badge":"Ambassador Program","ctaPrimary":"Apply Now","ctaSecondary":"Learn More on Discord","description":"Represent Fish Audio at your campus. Get exclusive perks, extra credits, and help fellow students discover the power of AI voice technology.","perks":{"credits":{"description":"Get bonus credits each month to fuel your projects and demos","title":"Exclusive Credits"},"earlyAccess":{"description":"Be the first to try new features and provide feedback","title":"Early Access"},"leadership":{"description":"Host workshops, hackathons, and events at your campus","title":"Community Leadership"}},"title":"Become a Student Ambassador"},"freeCredits":{"cta":"Join Discord","description":"We support student innovation with generous free credits. Focus on learning and building, not worrying about costs.","disclaimer":"Credits are provided for educational and non-commercial use","included":{"api":"Full API access","cloning":"Voice cloning capabilities","languages":"8 languages supported","models":"All voice models (speech-1.5, 1.6, s1)","support":"Discord community support"},"includedTitle":"What's included","title":"Free credits for students"},"gettingStarted":{"cta":"Get Started","description":"Sign up with your .edu email, fill out the verification form, and claim your free credits. Start creating voice content in minutes.","step1":{"description":"Create your free account using your student email address","title":"Sign up with .edu email"},"step2":{"description":"Submit your information to verify your student status","title":"Fill out the form"},"step3":{"description":"Get your credits and start building voice projects","title":"Start creating"},"title":"How to get started"},"subtitle":"Professional voice technology for students, educators, and hackathon teams","title":"Everything you need to succeed","useCases":{"academic":{"description":"Presentations, audio essays, language practice","title":"Academic Projects"},"content":{"description":"Podcasts, videos, audiobooks, character voices","title":"Content Creation"},"cta":"Explore Examples","description":"From class presentations to award-winning hackathon projects, students use Fish Audio for all types of creative work.","hackathon":{"description":"Voice assistants, accessibility tools, AI apps","title":"Hackathon Apps"},"title":"What you can build"}},"cta":{"button":"SIGN UP","title":"Get started with free voice AI credits for students."},"faq":{"q1":{"answer":"Any student with a valid .edu email address can apply for free credits. This includes undergraduate and graduate students at accredited universities and colleges.","question":"Who qualifies for free student credits?"},"q2":{"answer":"Yes! We encourage students to use their credits for hackathons, class projects, startup demos, and competitions. Many award-winning hackathon projects have been built using Fish Audio's voice technology.","question":"Can I use student credits for hackathons and competitions?"},"q3":{"answer":"Student Ambassadors represent Fish Audio at their campus by hosting workshops, sharing resources, and helping fellow students discover voice AI technology. Apply by emailing us with your background, campus, and ideas for spreading the word about Fish Audio.","question":"How do I become a Student Ambassador?"},"title":"Frequently asked questions"},"features":{"subtitle":"Professional voice technology for students, educators, and hackathon teams","title":"Everything you need to succeed","tts":{"description":"Transform written content into professional narration. Add voiceovers to class presentations, group projects, student films, and startup pitch demos with natural-sounding AI voices.","subtext":"Perfect for slideshows, documentaries, explainer videos, and any project that needs a polished audio component. Support for 8 languages means you can reach diverse audiences.","title":"Text-to-Speech for every project"},"voiceCloning":{"description":"Create custom voice identities for student organizations, school mascots, and creative projects. Clone voices with just 10 seconds of audio to build unique characters and brand voices.","subtext":"Great for student clubs, campus announcements, sports events, and accessible content for international classrooms. Build recognition with consistent audio across all your content.","title":"Voice cloning for creative content"}},"hero":{"ctaPrimary":"Get Started Free","ctaSecondary":"Claim Credits","imageAlt":"For students","subtitle":"Create professional voiceovers for class projects, startup demos, and hackathon apps with <bold>free credits</bold> for verified students.","title":"Voice AI for <italic>students</italic>, educators, and hackers"},"topBar":{"ctaPrimary":"Get Started","ctaSecondary":"Claim Free Credits","description":"Fish Audio empowers students to create authentic voice content for learning, building, and competing, with professional-grade technology at no cost.","line1":"Voices for every Project","line2":"For students, educators, and hackers."}},"translateAudio":{"cta":{"primaryButton":"TRANSLATE AUDIO NOW","secondaryButton":"VIEW PRICING","subtitle":"AI-powered speech recognition and translation in one step","title":"Transcribe and translate audio to any language","trust1":"5 languages supported","trust2":"Transcription + translation","trust3":"Free tier available"},"faq":{"q1":{"answer":"We use <sttPage>automatic speech recognition (ASR)</sttPage> to transcribe your audio into text in its original language, then translate that text into your chosen target language. Upload an audio file or recording and get translated text back.","question":"How does AI audio translation work?"},"q2":{"answer":"We support translation between English, Mandarin, Cantonese, Japanese, and Korean, and are continuously expanding language support. For text-based content, try our <ttsPage>text-to-speech</ttsPage> which supports 8 languages.","question":"What languages are supported for audio translation?"},"q3":{"answer":"You can translate any audio recording or file — podcasts, meetings, interviews, lectures, voice memos, and more. For best results, use recordings with clear speech and minimal background noise.","question":"What types of audio can I translate?"},"q4":{"answer":"Accuracy depends on audio clarity and the language pair. We use state-of-the-art speech recognition and translation models. For noisy recordings, try <audioSeparation>audio separation</audioSeparation> to isolate speech before translating.","question":"How accurate is the translation?"},"q5":{"answer":"Upload audio in any major format including MP3, WAV, FLAC, M4A, and more. Need to convert your file first? Use our <audioConverter>audio converter</audioConverter>.","question":"What audio formats can I upload for translation?"},"q6":{"answer":"No — we automatically detect the spoken language in your audio file. Just upload your recording, choose a target language, and the AI handles the rest.","question":"Do I need to specify the language of my audio?"},"title":"Frequently asked questions"},"translationCta":{"primaryButton":"TRANSLATE {from} TO {to}","secondaryButton":"VIEW ALL LANGUAGES","subtitle":"Transcribe {from} speech and translate it into accurate {to} text","title":"Translate {from} audio to {to} text instantly","trust1":"Free to try","trust2":"Automatic transcription","trust3":"High accuracy translation"},"translationFaq":{"q1":{"answer":"Upload your {from} audio file above. We'll transcribe the {from} speech into text and then translate it into {to}. No extra steps needed — just upload and get your translated text.","question":"How do I translate audio from {from} to {to}?"},"q2":{"answer":"Our {from} to {to} translation uses advanced AI models optimized for this language pair. Accuracy is highest with clear speech and minimal background noise. For noisy recordings, try <audioSeparation>audio separation</audioSeparation> to isolate speech first.","question":"How accurate is {from} to {to} translation?"},"q3":{"answer":"Any audio containing {from} speech — recordings, podcasts, interviews, voice memos, lectures, and more. We transcribe the {from} speech and translate the text into {to}.","question":"What types of {from} audio can I translate to {to}?"},"q4":{"answer":"We support translation between English, Mandarin, Cantonese, Japanese, and Korean in any combination. Explore all available pairs on our <mainPage>audio translation page</mainPage>.","question":"What other language pairs are available?"},"q5":{"answer":"No, we automatically detect whether the audio is in {from} or another supported language. Just upload your file and select {to} as the target — the AI identifies the spoken language for you.","question":"Do I need to specify the source language?"},"title":"Frequently asked questions"}},"tts":{"cta":{"primaryButton":"OPEN TEXT-TO-SPEECH","secondaryButton":"VIEW PRICING","subtitle":"Join thousands of creators producing studio-quality voiceovers, audiobooks, and podcasts","title":"Start creating with the most expressive AI voices","trust1":"Free tier available","trust2":"No credit card needed","trust3":"8 languages supported"}},"voiceChanger":{"cta":{"primaryButton":"OPEN VOICE CHANGER","secondaryButton":"VIEW PRICING","subtitle":"Transform any recording into a new voice with Fish Audio's AI voice changer","title":"Become any voice in seconds","trust1":"Free tier available","trust2":"No software installation","trust3":"Works in 13 languages"},"faq":{"title":"Frequently asked questions","q1":{"question":"What is a voice changer?","answer":"A voice changer converts the speaker in an audio recording into a different voice. Fish Audio's AI voice changer uses neural audio models rather than pitch shifting, so the converted file keeps your original timing, emotion and pacing while speaking in the target voice."},"q2":{"question":"How does the Fish Audio voice changer work?","answer":"Upload a clip, pick a target voice, and Fish Audio generates a new audio file in seconds. The target can be a community voice from the library or a custom voice you cloned. The output preserves the original performance: the pacing, the pauses, the emotion."},"q3":{"question":"Is there a free voice changer online?","answer":"Yes. The Fish Audio voice changer demo runs in your browser with no sign-in and no download, and accepts clips up to 30 seconds. For longer audio, sign in and use the full voice changer free plan in your browser, which includes 8,000 monthly credits."},"q4":{"question":"Can I use it as a girl voice changer or change into any specific voice?","answer":"Yes. Pick any target voice from the library: female voices, deep male voices, character voices, or a custom voice you cloned. Your recording is converted into that voice while keeping your original delivery."},"q5":{"question":"Can I create a custom target voice?","answer":"Yes. Signed-in users can upload a short reference clip on the <voiceClonePage>voice cloning</voiceClonePage> page to create a custom target voice, then select it in the voice changer. About 10 seconds of clean audio is enough."},"q6":{"question":"Is my audio private?","answer":"Your audio is processed only to generate the output. Files are not shared, and demo clips are discarded shortly after processing. Cloned voices can be kept fully private."},"q7":{"question":"What's the difference between a voice changer and text to speech?","answer":"Text to speech generates audio from a written script. The voice changer keeps your original recorded performance and only swaps the voice. Use <ttsPage>text to speech</ttsPage> when you have a script; use the voice changer when you have a take you like."},"q8":{"question":"What languages does the voice changer support?","answer":"The voice changer works across 13 languages, including English, Chinese and Japanese. Conversion keeps your original delivery in whichever language you recorded."}}},"voiceClone":{"cta":{"title":"Clone a voice that moves rooms","subtitle":"10 seconds of audio. One API call. Voices ready for comedy clips, reaction channels, parody podcasts, and multilingual memes.","primaryButton":"START CLONING FREE","secondaryButton":"SEE PRICING","trust1":"Free tier, no card","trust2":"10-second reference is enough","trust3":"Open-source S2 model"},"faq":{"title":"Frequently asked questions","q1":{"question":"What makes Fish Audio voice cloning different?","answer":"Fish Audio S2 clones from a 10-second sample, ships sub-300ms streaming, and produces zero-shot cross-lingual output across 13 languages — and the model itself is open-source. Try it on the <voiceClonePage>voice cloning</voiceClonePage> page."},"q2":{"question":"How much audio do I need to clone a voice?","answer":"Ten seconds of clean speech is enough. Longer samples can help with very expressive voices, but most public-figure clips, podcast cuts, or phone-quality recordings work on the first try."},"q3":{"question":"Can I clone a voice in a language the speaker doesn't know?","answer":"Yes. S2 is zero-shot cross-lingual across 13 languages. Clone an English speech once and ship the same voice in Spanish, Japanese, Arabic, or any supported language without retraining."},"q4":{"question":"What should I know before cloning a public figure's voice?","answer":"You are responsible for confirming you have the rights, consents, and disclosures required for any voice you clone, and for complying with applicable laws — including those covering name, likeness, and AI-generated content in your region. Fish Audio does not pre-clear individual use cases and may remove content or accounts that violate our terms or applicable law."},"q5":{"question":"Can I use cloned voices commercially or via API?","answer":"Yes. Paid plans include commercial rights, and the streaming API serves cloned voices directly into your apps, agents, and dubbing pipelines. See <pricingPage>pricing</pricingPage> for tier details."}}},"voiceLibrary":{"cta":{"primaryButton":"EXPLORE VOICES","secondaryButton":"VIEW PRICING","subtitle":"Browse over 2,000,000 community-uploaded voices across 8 languages","title":"Find the perfect voice for your project","trust1":"2M+ voices available","trust2":"Preview any voice instantly","trust3":"Use via app or API"},"faq":{"q1":{"answer":"We host over 2,000,000 community-uploaded voices spanning 8 languages. The library grows daily as creators upload new voice models for a wide range of use cases.","question":"How many voices are available in the voice library?"},"q2":{"answer":"Browse by category, filter by gender, age, tone, and use case, or search by keyword. You can preview any voice instantly before using it in your project.","question":"How do I find the right voice for my project?"},"q3":{"answer":"Commercial usage rights depend on your plan. Paid plans include full commercial rights for generated audio. Check our <pricingPage>pricing page</pricingPage> for details on commercial licensing.","question":"Can I use voice library voices commercially?"},"q4":{"answer":"Yes! Clone your voice with as little as 10 seconds of audio using our <voiceClonePage>voice cloning</voiceClonePage> tool. Your custom voice model will be available in the library for your use.","question":"Can I create and upload my own voice?"},"q5":{"answer":"Use any voice for <ttsPage>text-to-speech</ttsPage> narration, audiobook production, video voiceovers, character dialogue, chatbot responses, and more. Voices work across all our tools and the API.","question":"What can I do with voices from the library?"},"title":"Frequently asked questions"},"tagsCta":{"primaryButton":"BROWSE {tags} VOICES","secondaryButton":"VIEW ALL VOICES","subtitle":"Select any {tags} voice and generate natural-sounding audio in seconds","title":"Start using {tags} voices today","trust1":"Preview before using","trust2":"Free tier available","trust3":"API access included"},"tagsFaq":{"q1":{"answer":"Our library includes a wide selection of {tags} voices uploaded by the global community. Preview any voice instantly and use it for <ttsPage>text-to-speech</ttsPage>, <voiceClonePage>voice cloning</voiceClonePage>, and more.","question":"What {tags} voices are available?"},"q2":{"answer":"Select any {tags} voice, then use it with our <ttsPage>text-to-speech</ttsPage> tool or via the API. Simply enter your text and the voice will generate natural-sounding audio in seconds.","question":"How do I use a {tags} voice in my project?"},"q3":{"answer":"Yes! Combine {tags} with additional filters like gender, age, tone, and language to narrow down results. Our tagging system helps you find the exact voice you need.","question":"Can I filter {tags} voices further?"},"q4":{"answer":"Yes! Use our <voiceClonePage>voice cloning</voiceClonePage> tool to create a custom voice with {tags} characteristics. Upload a short audio sample and we'll generate a personalized voice model. Explore all voice categories in our <mainPage>voice library</mainPage>.","question":"Can I clone a {tags} style voice?"},"title":"Frequently asked questions"}},"voiceover":{"cta":{"button":"SIGN UP","title":"Get started with professional voiceovers for free."},"faq":{"q1":{"answer":"Fish Audio state-of-the-art neural networks generate natural-sounding voiceovers with appropriate tone, pacing, and emphasis.","question":"How does AI voiceover generation work?"},"q2":{"answer":"Yes, Fish Audio's voices can convey a wide range of emotions and tones, from energetic and upbeat to calm and authoritative, perfect for any video or audio project.","question":"Can AI voices sound natural and engaging for video content?"},"q3":{"answer":"Yes, you can clone your own voice or create custom voice models by uploading voice samples to train a personalized model that matches your brand.","question":"Can I use my own voice or a custom voice model?"},"q4":{"answer":"Yes, Fish Audio supports multiple output formats and can be easily integrated into your video editing workflow, podcast production, or any other audio/video project.","question":"Can I use AI voiceovers for different types of video and audio projects?"},"title":"Frequently asked questions"},"features":{"feature1":{"description":"Within just seconds, Fish Audio delivers broadcast-ready voiceovers that sound indistinguishable from professional voice actors.","subtext":"Create professional voiceovers without expensive studio sessions or talent fees. Perfect for videos, podcasts, ads, and more. Your audience won't believe it's AI-generated.","title":"Professional-quality voiceovers"},"feature2":{"description":"All of Fish Audio's voices are customizable for different tones, emotions, and speaking styles.","subtext":"Use our extensive library of emotion tags to add subtle nuances to your voiceovers.","title":"Customization and tone control"},"feature3":{"description":"Generate hours of audio content in minutes. Produce voiceovers at scale without the constraints of traditional recording sessions.","subtext":"Transform scripts into audio in seconds. Create as much as you need, whenever you need it.","title":"Super-speed audio generation"}},"hero":{"cta":"SIGN UP","subtitle":"Explore thousands of voices in multiple languages to generate the perfect voiceover for <bold>your videos</bold>. Create professional audio for videos, podcasts, and ads in minutes.","title":"Breathe <italic>life</italic> into your voiceovers"},"quote":{"paragraph":"Create professional AI-powered voiceovers with natural-sounding text-to-speech. Our expressive voices match your content's tone and style, perfect for video creators, podcasters, and marketers looking to produce high-quality audio at scale.","subparagraph":"Enhance your content with studio-quality AI voiceovers. Ideal for YouTubers, advertisers, e-learning creators, and anyone who needs professional voice talent on demand.","title":"Voiceovers that captivate"}},"s2":{"topBar":{"title":"Fish Audio S2","subtitleLine1":"The most expressive","subtitleLine2":"voice AI ever made,","subtitleLine3":"now open-source.","subtitle":""},"tryNow":"Try Now","scrollToExplore":"Scroll to Explore","clickToPlay":"Click on a card to play audio","audioSamples":{"sectionTitle":"Hear the difference","card1":{"speaker":"Alex","text":"[clears throat] I believe cryptocurrency is purely speculative from a financial perspective.","audio":"/audio/s2/sample-1.mp3"},"card2":{"speaker":"Sarah","text":"[clears throat] I believe cryptocurrency is purely speculative from a technological perspective.","audio":"/audio/s2/sample-2.mp3"},"card3":{"speaker":"James","text":"[clears throat] I believe cryptocurrency is purely speculative from an economic perspective.","audio":"/audio/s2/sample-3.mp3"},"card4":{"speaker":"Emily","text":"[clears throat] I believe cryptocurrency is purely speculative from a regulatory perspective.","audio":"/audio/s2/sample-4.mp3"},"card5":{"speaker":"David","text":"[clears throat] I believe cryptocurrency is purely speculative from a market perspective.","audio":"/audio/s2/sample-5.mp3"},"card6":{"speaker":"Lisa","text":"[clears throat] I believe cryptocurrency is purely speculative from an investment perspective.","audio":"/audio/s2/sample-6.mp3"}},"features":{"title":"What makes S2 different","subtitle":"Built from the ground up for expressiveness, speed, and openness.","latency":{"title":"Ultra-Low Latency","description":"Under 150ms response time enables real-time conversational AI, live dubbing, and interactive voice applications. Production-ready performance without compromising quality."},"openDomain":{"title":"Open Domain Control & Multi-Speaker","description":"Control emotions, paralanguage, and more with natural text instructions. Add laughter, whispers, sighs, and any expressive element. Seamless multi-speaker conversations — switch between speakers naturally within a single generation."},"openSource":{"title":"Fully Open-Source","description":"Both inference code and model weights are fully open-source. Run S2 on your own infrastructure, fine-tune on your data, and integrate without vendor lock-in. Built for transparency and community-driven innovation."},"instruction":{"description":"","title":""},"multiSpeaker":{"description":"","title":""}},"api":{"title":"Build with the Fish Audio S2 API","subtitle":"Generate lifelike speech in 80+ languages with emotion, direction, and multi-speaker control."},"cta":{"title":"Generate Unbelievably Realistic Speech","button":"Try Fish Audio S2 Now"},"faq":{"title":"Frequently asked questions","q1":{"question":"What is Fish Audio S2 Pro?","answer":"Fish Audio S2 Pro is a leading text-to-speech model with fine-grained inline control of prosody and emotion. Trained on over 10M+ hours of audio data across 80+ languages, it combines reinforcement learning alignment with a Dual-Autoregressive (Dual-AR) architecture — a 4B-parameter Slow AR for semantic prediction and a 400M-parameter Fast AR for acoustic detail. The release includes model weights, fine-tuning code, and an SGLang-based streaming inference engine."},"q2":{"question":"How does fine-grained inline control work?","answer":"S2 Pro enables localized control over speech generation by embedding natural-language instructions directly within the text using [tag] syntax. Rather than relying on a fixed set of predefined tags, S2 Pro accepts free-form textual descriptions — such as [whisper in small voice], [professional broadcast tone], or [pitch up] — allowing open-ended expression control at the word level. Over 15,000 unique tags are supported, including [pause], [emphasis], [laughing], [excited], [whisper], [singing], and many more."},"q3":{"question":"What is the streaming performance of S2 Pro?","answer":"On a single NVIDIA H200 GPU, S2 Pro achieves a Real-Time Factor (RTF) of 0.195, time-to-first-audio of ~100ms, and throughput of 3,000+ acoustic tokens per second while maintaining RTF below 0.5. The SGLang-based inference engine inherits all LLM-native serving optimizations — including continuous batching, paged KV cache, CUDA graph replay, and RadixAttention-based prefix caching."},"q4":{"question":"How many languages does S2 Pro support?","answer":"S2 Pro supports 80+ languages. Tier 1 languages (highest quality) include Japanese, English, and Chinese. Tier 2 languages include Korean, Spanish, Portuguese, Arabic, Russian, French, and German. Many additional languages are supported including Swedish, Italian, Turkish, Dutch, Hindi, Thai, Vietnamese, and more."},"q5":{"question":"What is the license for S2 Pro?","answer":"S2 Pro is licensed under the Fish Audio Research License. Research and non-commercial use is permitted free of charge. Commercial use requires a separate license from Fish Audio — contact business@fish.audio for details."}}},"videoEditor":{"cta":{"primaryButton":"START EDITING FREE","secondaryButton":"VIEW PRICING","subtitle":"Add AI voiceovers, narration, and multilingual dubbing to any video in minutes","title":"Turn any video into a professional production","trust1":"Free tier available","trust2":"No recording equipment needed","trust3":"8 languages supported"},"faq":{"q1":{"answer":"Fish Audio's video editor lets you add AI-generated voiceovers, narration, and dubbing to any video. Upload your video, write or paste a script, choose from over 2 million AI voices, and the editor syncs everything to your timeline automatically.","question":"How does the AI video editor work?"},"q2":{"answer":"You can choose from over 2,000,000 community-uploaded voices, or <voiceClonePage>clone your own voice</voiceClonePage> from as little as 10 seconds of audio. Every voice in the Fish Audio library is available directly in the video editor.","question":"What voices can I use for my video voiceovers?"},"q3":{"answer":"Yes! The video editor supports dubbing into 8 languages using our <translatePage>audio translation</translatePage> technology. The AI preserves the original speaker's tone and emotion while generating natural-sounding speech in the target language.","question":"Can I dub my video into other languages?"},"q4":{"answer":"The editor supports all major video formats including MP4, MOV, and WebM for import. You can export in MP4 (H.264) with customizable resolution and quality settings. Audio tracks can also be exported separately.","question":"What video formats are supported?"},"q5":{"answer":"Absolutely. Our <ttsPage>text-to-speech</ttsPage> engine generates studio-quality voiceovers that sound natural and expressive. Combined with the timeline editor, you get broadcast-ready audio perfectly synchronized to your video.","question":"Is the AI voice quality good enough for professional videos?"},"q6":{"answer":"Yes! Fish Audio offers a generous free tier so you can try the video editor at no cost. For higher volume usage and commercial projects, check our <pricingPage>pricing page</pricingPage> for available plans.","question":"Is the video editor free to use?"},"title":"Frequently asked questions"}},"voiceAgent":{"cta":{"primaryButton":"BUILD YOUR FIRST AGENT","secondaryButton":"VIEW PRICING","subtitle":"Design, test, and deploy conversational voice agents with 2M+ AI voices and real-time WebRTC streaming","title":"Ship voice-powered AI experiences in minutes","trust1":"Free tier available","trust2":"Real-time voice streaming","trust3":"No code required"},"faq":{"q1":{"answer":"A voice agent is a conversational AI that listens to users via microphone, understands their intent, and responds with a natural human voice in real-time. Fish Audio's voice agents combine speech recognition, language understanding, and our <ttsPage>text-to-speech</ttsPage> technology into a single deployable unit.","question":"What is a voice agent?"},"q2":{"answer":"Use the visual flow editor to design your agent's conversation logic, upload documents to its knowledge base, select a voice from our library of 2M+ voices (or <voiceClonePage>clone your own</voiceClonePage>), and deploy with a single URL. No code is required for basic agents.","question":"How do I create a voice agent?"},"q3":{"answer":"Voice agents connect via WebRTC for browser-based voice calls or WebSocket for server-to-server integration. This means you can embed agents in web apps, mobile apps, phone systems, or any platform that supports real-time audio streaming.","question":"How do voice agents connect to my application?"},"q4":{"answer":"Yes! Agents can invoke external APIs and tools during conversations — look up databases, book appointments, process payments, trigger webhooks, and more. Configure tools in the agent settings and the AI decides when to call them based on conversation context.","question":"Can voice agents call external APIs and tools?"},"q5":{"answer":"Every agent gets a built-in test suite. Define conversation scenarios with expected function calls and run automated tests to validate behavior. You can also test with live voice calls directly from the dashboard before deploying to production.","question":"How do I test my voice agent before deploying?"},"q6":{"answer":"Voice agents are billed at 20 credits per second of active conversation. During the beta period, all costs are reduced by 50%. Check our <pricingPage>pricing page</pricingPage> for credit packages and plans.","question":"How much do voice agents cost?"},"title":"Frequently asked questions"}},"elevenlabsAlternative":{"meta":{"title":"ElevenLabs Alternative — Same Voices, 70% Less Cost | Fish Audio","description":"Looking for an ElevenLabs alternative? Fish Audio delivers studio-grade AI voices and instant cloning at ~70% lower cost, with a sub-300ms streaming API and 83 languages. Compare, migrate in 3 steps, start free."},"hero":{"title":"ElevenLabs Alternative: Why Creators & Dev Teams Choose Fish Audio","subtitle":"Looking for an ElevenLabs alternative? Fish Audio gives you the same studio-grade voices and instant cloning at ~70% lower cost — with a sub-300ms streaming API and 83 languages.","primaryCta":"Start free — no credit card","secondaryCta":"Hear the difference ↓","trust1":"Start free — no credit card","trust2":"<300ms latency","trust3":"83 languages","trust4":"60+ emotion tags"},"audio":{"title":"Hear the difference","subtitle":"Compare Fish Audio and ElevenLabs on the same prompts using the existing side-by-side samples."},"personas":{"title":"Who it's for","subtitle":"Fish Audio is built for teams that need expressive voices, real-time delivery, and predictable usage costs.","items":{"conversational":{"title":"Conversational AI / agent teams","pain":"Usage-based bills can climb fast, while latency can vary in live sessions.","solution":"Real-time streaming API with end-to-end latency under 300ms."},"gaming":{"title":"Indie games / character voiceovers","pain":"High-quality character voice production can strain a game budget.","solution":"About 70% lower cost plus 60+ emotion tags for character reads."},"multilingual":{"title":"Global / multilingual content","pain":"Non-English voice performance can be the deciding factor for localization.","solution":"Expressive multilingual output across 83 languages."},"scale":{"title":"Scale / high-usage teams","pain":"As volume grows, subscription quotas and overages can make spend hard to plan.","solution":"About 70% lower unit cost with a pay-as-you-go API."}}},"comparison":{"title":"ElevenLabs vs Fish Audio: Comparison","subtitle":"A structured view of the tradeoffs that matter when switching providers.","dimension":"Dimension","asOf":"Comparison as of {date}.","note":"Pricing values are reused from the current Fish Audio vs ElevenLabs configuration.","neutralLink":"See the full neutral comparison →","colFish":"Fish Audio","colCompetitor":"ElevenLabs","rows":{"freeTier":{"label":"Starting price / free tier","fish":"Start free, no credit card required","competitor":"Limited free tier"},"pricing":{"label":"Price (per character / minute / hour)"},"cloneSpeed":{"label":"Voice cloning speed","fish":"Instant, usable in seconds","competitor":"Instant"},"sampleLength":{"label":"Cloning sample required","fish":"10 seconds of audio","competitor":"Several minutes of audio"},"latency":{"label":"Real-time streaming latency","fish":"< 300ms","competitor":"Higher"},"languages":{"label":"Languages","fish":"83","competitor":"70+ (TTS)"},"emotion":{"label":"Emotion control","fish":"60+ emotion tags","competitor":"Limited"},"billing":{"label":"Billing model","fish":"Pay-as-you-go","competitor":"Subscription + quotas"},"apiSdk":{"label":"API & SDK"},"migration":{"label":"Migration cost","fish":"Low: voice ID / 10s sample + endpoint change","competitor":"—"}}},"whySwitch":{"title":"Why switch to Fish Audio","subtitle":"If your ElevenLabs bill is rising with usage, Fish Audio keeps the same core workflow while lowering production cost and latency-sensitive delivery risk.","heading":"Why choose Fish Audio over ElevenLabs?","secondaryCta":"See the neutral comparison","metrics":{"savings":{"value":"$1,000 → ~$300","label":"Approximate monthly spend at the same usage"},"clone":{"value":"10s","label":"Voice cloning from a short reference sample"},"latency":{"value":"<300ms","label":"Streaming API latency for real-time use cases"}},"items":{"savings":"$1,000/mo on ElevenLabs can be roughly ~$300/mo on Fish Audio for the same output.","clone":"Clone and launch from a 10-second sample instead of preparing long reference recordings.","migration":"Switch with a voice ID or short sample and update one API endpoint.","scale":"Works for solo creators and product teams building real-time conversational experiences."}},"migration":{"title":"Migrate from ElevenLabs in 3 steps","subtitle":"Keep the workflow simple: bring a voice reference, test the output, then move traffic gradually.","step1":{"title":"Create your Fish Audio account","description":"Start free without a credit card, then choose the playground or API path for your workflow."},"step2":{"title":"Clone or select a voice","description":"Use an existing voice ID or upload a 10-second reference sample to create a production-ready voice."},"step3":{"title":"Switch the endpoint","description":"Update the API endpoint, verify latency and output quality, then ramp usage as you compare results."}},"faq":{"title":"ElevenLabs alternative FAQ","q1":{"question":"Is Fish Audio a good ElevenLabs alternative?","answer":"Yes, if you want studio-grade AI voices, instant cloning, lower usage cost, and a streaming API for real-time products. The best fit is teams that care about expressiveness, latency, and pay-as-you-go economics."},"q2":{"question":"How does Fish Audio compare to ElevenLabs?","answer":"Fish Audio focuses on lower unit cost, fast cloning from short samples, sub-300ms streaming, and 60+ emotion tags. ElevenLabs remains a strong hosted TTS platform, so compare the workflow details that matter most for your team: pricing model, cloning inputs, latency, and voice controls."},"q3":{"question":"Is Fish Audio cheaper than ElevenLabs?","answer":"Using the existing comparison data, Fish Audio is about 70% lower on the listed character, minute, and hour estimates. The exact bill depends on your usage mix and any plan terms."},"q4":{"question":"Is it hard to migrate from ElevenLabs to Fish Audio?","answer":"Migration is usually light for API teams: create or choose a Fish Audio voice, map the voice ID or upload a short reference sample, then update the endpoint and test output quality before ramping traffic."},"q5":{"question":"Who should choose Fish Audio instead of ElevenLabs?","answer":"Creators, game teams, conversational AI teams, and high-usage products should consider Fish Audio when they need expressive voices, real-time streaming, and lower pay-as-you-go costs."},"q6":{"question":"When should you NOT choose Fish Audio?","answer":"You may not choose Fish Audio if your core workflow depends on ElevenLabs-only products, or if your team has already standardized review, tooling, and production processes around ElevenLabs and price is not a constraint. In that case, staying with ElevenLabs can be the better fit."}},"finalCta":{"title":"Try Fish Audio before your next ElevenLabs invoice","subtitle":"Generate a sample, test a cloned voice, and compare the output in the same workflow your team already uses."}}},"enterprise":{"title":"Enterprise","landing":{"hero":{"title":{"line1":"Voice infrastructure","line2":"for enterprises"},"subtitle":"The expressive, controllable real-time voice model behind HeyGen, Retell, Sanas, and the next generation of voice AI builders. Production-grade across avatar video, voice agents, character apps, audio content, multilingual support, and voice-preserving translation.","ctaSales":"Talk to sales","ctaModel":"Hear the model","ctaPricing":"See pricing"},"demo":{"tryIt":"Try it","code":"Code","sampleLine":"Suddenly, the door burst open!","sampleTag":"","language":"English","voice":"Chris","playLabel":"Play demo","footnote":"S2 Pro running live. Pick a voice, type a line, hear it back. The same model behind production teams with no signup, no sales call, no demo environment."},"stats":{"languages":{"value":"80","suffix":"+","label":"Languages"},"voices":{"value":"2M","suffix":"+","label":"Voice library"},"rate":{"value":"$15","suffix":"/1M chars","label":"Flat API rate"},"latency":{"value":"<150","suffix":"ms","label":"First audio (cloud)"}},"trusted":{"title":"Trusted by teams building voice in production"},"reasons":{"titlePrefix":"Six reasons voice teams ","titleEmphasis":"switch.","description":"Most TTS sounds fine in a demo. Fish is built for what comes after — production traffic, edge-case pronunciation, multilingual code-switching, sovereign deployments, and the kind of total cost that lets you scale instead of just survive.","items":{"1":"Production-tested across enterprise scale.","2":"The most expressive voice AI. Direct it, don't just pick it.","3":"80+ languages, with native Asian-language depth.","4":"2 million voices, one of the largest ecosystems in voice AI.","5":"Self-host the model, on your infrastructure.","6":"Built for how you actually grow."},"diagram":{"panels":{"production":{"description":"S2 Pro is listed on the Artificial Analysis voice leaderboard and powers production deployments at HeyGen, Retell, and Sanas — handling real traffic, edge-case pronunciation, and the kind of multi-region load that surfaces what benchmarks miss.","top":{"title":"Production","description":"Listed on Artificial Analysis · public methodology"},"right":{"title":"Pronunciation","description":"Custom dictionaries · numbers, names, domain terms"},"left":{"title":"Benchmarks","description":"Powering HeyGen, Retell, Sanas, FinalRound"}},"direction":{"description":"15,000+ natural-language direction tags. Describe what you want — '{warm, conversational, slight Boston accent, ending on a soft falling tone}' — and Fish renders it. S2 Pro passes the Audio Turing Test with a published 0.515 score: listeners cannot reliably distinguish it from human speech. Methodology and raw audio are public.","top":{"title":"Direction tags","description":"15,000+ natural-language controls"},"right":{"title":"Code-switching","description":"Real-time, mid-sentence, no model swap"},"left":{"title":"Audio Turing","description":"0.515 published score · methodology open"}},"language":{"description":"Native-quality Mandarin, Japanese, Korean, and Cantonese — with instant code-switching across English, Mandarin, Japanese, Spanish, and Arabic. The APAC coverage other voice vendors are still promising for next quarter ships in production today.","top":{"title":"Tier 1","description":"EN · ZH · JA · KO · ES · PT · DE · FR"},"right":{"title":"APAC depth","description":"Cantonese · Thai · Bahasa · Vietnamese · Tagalog"},"left":{"title":"Code-switching","description":"Real-time, mid-sentence, no model swap"}},"clone":{"description":"Browse 2M+ creator-trained voices ready to use today — or clone your own from 30 seconds of audio. No slot quotas, no per-voice fees. Voice cloning with consent verification built into the workflow.","top":{"title":"Browse","description":"Filter by language, age, persona, use case"},"right":{"title":"Clone","description":"30s reference · instant voice cloning"},"left":{"title":"Consent","description":"Voice verification on every clone"}},"deployment":{"description":"For regulated workloads, sovereign deployments, and teams that need full control of the model running in production — Fish offers self-hosting as a premium enterprise tier. Run on your VPC, your air-gapped environment, or your data center. The architecture procurement asks for and rarely gets.","top":{"title":"Setup","description":"From $10K platform fee · one-time"},"right":{"title":"Minimum spend","description":"$10K/mo · 12-month commit"},"left":{"title":"Deployment","description":"VPC · on-prem · air-gapped · sovereign cloud"}},"pricing":{"description":"$15 per million characters — flat, predictable, the same per-character rate from your first API call to your billionth. Volume discounts compound as you scale, across multiple tiers, all negotiated with one team. No seat fees. No surprise gatekeeping for production rates.","top":{"title":"List price","description":"$15 / 1M characters"},"right":{"title":"Volume discounts","description":"Apply at scale · commitment-based"},"left":{"title":"Bundling","description":"TTS + ASR + self-host cross-product discounts"}}}}},"results":{"titlePrefix":"Production results, ","titleEmphasis":"not demo wins.","description":"The headline isn't quality. It's what teams achieved after they switched. Each story is a quantified outcome, written by the customer.","readCaseStudy":"Read the case study","previous":"Previous customer story","next":"Next customer story","cards":{"heygen":{"before":"Selected ","emphasis":"3-to-1 over alternatives","after":" for voice cloning with non-American English accents."},"pictoria":{"before":"Powering ","emphasis":"character-level expressiveness","after":" for Japanese AI characters inside Picto VOICE."},"dubbing":{"before":"Real-time Voice Agent TTS for ","emphasis":"10M+ users","after":" - naturalness, emotion, latency, multilingual."},"retell":{"before":"Production voice agents with ","emphasis":"real-time orchestration","after":" for enterprise conversations."},"finalRound":{"before":"Live interview coaching at ","emphasis":"real-time latency.","after":""}}},"categories":{"titleLine1":"Six categories of voice product,","titleEmphasis":"shipping in production today.","description":"From avatar video to multilingual customer support - every category below is a real enterprise deployment running on Fish, not a roadmap promise.","cards":{"agent":{"title":"Voice for AI agent"},"companion":{"title":"Character & companion apps."},"avatar":{"title":"Avatar & Video Voiceover"},"support":{"title":"Multilingual customer support.","description":"Mandarin · Japanese · Korean · Cantonese"},"cloning":{"title":"Voice cloning at scale.","description":"2M-voice ecosystem · 30-sec clone"},"translation":{"title":"Audio translation & dubbing.","description":"Across all 80+ languages · code-switching"}}},"stack":{"title":"Plugs into the voice-agent stack you already use.","description":"Drop-in support for the orchestration, telephony, and infrastructure tools voice teams ship with today. SDKs for every major language. WebSocket streaming, REST, and inbound webhook patterns documented.","cards":{"pipecat":"Real-time pipelines","livekit":"WebRTC infrastructure","n8n":"Workflow automation","vapi":"Voice agent platform","twilio":"Telephony · SIP · SMS","retell":"Voice agent orchestration"}},"customerCall":{"title":"The boring things that matter on a customer call.","description":"Start at the Enterprise tier for production deployments. Volume discounts apply at higher commitment levels - talk to sales for the pricing that matches your traffic profile. For sovereign deployments, the premium self-host tier is available with a separate setup and commitment structure.","metrics":{"sla":{"prefix":"Up to","value":"99","suffix":"%","label":"UPTIME SLA","note":"Available on premium enterprise tier"},"latency":{"prefix":"<","value":"150","suffix":"ms","label":"FIRST AUDIO (CLOUD)","note":"Verified across US, EU, APAC regions"},"streams":{"value":"Custom","label":"CONCURRENT STREAMS","note":"50+ at High Volume · custom at Enterprise tier"},"languages":{"value":"80","suffix":"+","label":"LANGUAGES","note":"With native-quality voices and code-switching"}}},"pricing":{"title":"Built for how you actually grow.","descriptionLeft":"One enterprise tier. Flat per-character pricing. Volume discounts that compound across multiple tiers as you scale - negotiated with one team, in one contract.","descriptionRight":"Start at the Enterprise tier for production deployments. Volume discounts apply at higher commitment levels - talk to sales for the pricing that matches your traffic profile. For sovereign deployments, the premium self-host tier is available with a separate setup and commitment structure.","columns":{"inclusions":"Plan Inclusions","enterprise":"Enterprise Plan","notes":"Terms & Notes"},"rows":{"starting":{"label":"Starting Price","value":"From $999 / month","note":"Volume discounts at higher commitment tiers"},"s2":{"label":"TTS · S2 Pro","value":"$15 / 1M characters","note":"Billed in UTF-8 bytes · about 180K English words per 1M"},"s1":{"label":"TTS · S1","value":"$15 / 1M characters","note":"Same flat rate as S2 Pro"},"asr":{"label":"ASR · transcribe-1","value":"$0.36 / audio hour","note":"Duration rounded up to the nearest second"},"concurrency":{"label":"Concurrency","value":"Custom","note":"50+ at High Volume tier · custom at Enterprise"},"voices":{"label":"Voices","value":"Unlimited","note":"No slot quotas · no per-voice fees"},"rollover":{"label":"Rollover","value":"90 days","note":"Unused credits roll forward 90 days"},"sla":{"label":"SLA","value":"Up to 99%","note":"Available on premium enterprise tier"},"support":{"label":"Support","value":"Dedicated Slack channel","note":"Compliance SOC2 / HIPAA upon requests"},"selfHost":{"label":"Self-host premium","value":"From $10K setup + $10K / month","note":"12-month commit · VPC · on-prem · air-gapped · sovereign cloud"}},"footnote":"Volume discounts available across multiple tiers - contact sales for pricing that matches your traffic profile. Public pricing reflects Enterprise tier entry. Larger commitments unlock further discounts on a per-customer basis."},"cta":{"title":"Ready when you are.","description":"Talk to our team about your deployment. We'll come prepared.","sales":"Talk to sales","review":"Book a technical review"},"faq":{"title":"Frequently asked questions","rows":{"dataResidency":{"question":"Where is my data stored? Do you support U.S., EU, and APAC residency?","answer":"By default your data stays in the United States, hosted on Google Cloud with Cloudflare R2 storage, and inference runs from edge regions in the U.S. and Asia-Pacific (Tokyo) so your users get low latency wherever they are. For compliance-bound workloads, enterprise contracts can switch on Zero Data Retention, which means request text and audio are never written to disk. And if your data has to stay inside a specific country or region, the self-hosted enterprise tier runs fully inside your own infrastructure, so nothing ever leaves your environment."},"scale":{"question":"Can you support large-scale deployments and traffic spikes?","answer":"Yes, and at serious volume. Capacity is provisioned as concurrent generations that scale with your contract, and we already have production customers running more than 1,000 concurrent generations. A Rust edge gateway serves inference across multiple GPU regions, so when your traffic surges our team can lift your limits the same day. You scale up without ever queuing behind a support ticket."},"security":{"question":"What security certifications do you have?","answer":"Security runs through every layer of the platform. Our SOC 2 Type II audit is currently underway, and the report will be available to customers under NDA once it is complete. Zero Data Retention is available on enterprise contracts, so request payloads are never persisted, and the self-hosted tier keeps every byte of your data inside your own environment. We also support HIPAA-aligned configurations and can sign a BAA for qualifying healthcare workloads, and independent penetration testing runs as part of our ongoing compliance program."},"engineering":{"question":"Do you offer engineering support for custom deployments?","answer":"Absolutely. Enterprise customers get a direct line to our engineering team, not a ticketing queue, on whatever channel suits how your team works. We ship integration-specific features and protocol extensions for individual customers on a regular basis, and we stand up self-hosted deployments with you end to end, from first setup through go-live."},"sso":{"question":"Do you support SSO and RBAC?","answer":"Yes, with fine-grained control from day one. Role-based access control lets you assign owner, admin, and member roles at the team level, plus manager, contributor, and viewer roles at the workspace level, so everyone has exactly the access they should. Single sign-on works today through Google and GitHub OAuth."},"customModels":{"question":"Can we fine-tune models on our data, or use our own voices?","answer":"Both, and on your terms. You can spin up private voice clones from as little as 10 seconds of reference audio, 30 seconds or more for the best results, instantly through the API or the web UI, and they stay fully private to your team. For deeper engagements, we also fine-tune custom models on your own data."},"migration":{"question":"What about migration from another voice vendor?","answer":"Migrating to Fish Audio is straightforward, and most teams are surprised how quickly it goes. Your existing voices come across by recreating them from reference audio, our Python, TypeScript, and Go SDKs and WebSocket streaming API cover the integration patterns you already rely on, and our engineering team runs the cutover alongside you so production never skips a beat."}}}},"tabs":{"contracts":"Contracts","customers":"Customers","invoices":"Invoices","dashboard":"Dashboard","onboarding":"Onboarding","templates":"Templates","audit":"Audit"},"dashboard":{"active_contracts":"Active contracts","customer_count":"{count, plural, =1 {# enterprise customer} other {# enterprise customers}}","workflow_queue":"Workflow queue","workflow_queue_subtitle":"Legal, signature, onboarding, and draft work","open_invoice_value":"Open invoice value","open_invoice_subtitle":"Draft, sent, overdue, and partially paid invoices","onboarding_links":"Onboarding links","total_links":"{count, plural, =1 {# total link} other {# total links}}","needs_attention_title":"Needs attention","needs_attention_description":"Overdue invoices, billing holds, suspended bypasses, and contract workflow — most urgent first.","nothing_needs_attention":"Nothing needs attention.","group_overdue_invoices":"Overdue invoices","group_invoice_holds":"Invoice holds","group_suspended_bypasses":"Suspended overdraft bypasses","group_contract_workflow":"Contract workflow","invoice_number":"Invoice #{number}","overdue":"Overdue","days_overdue":"{days, plural, =1 {# day overdue} other {# days overdue}}","deadline":"deadline {date}","awaiting_manual_usage":"Awaiting manual usage","suspended_at":"Suspended {date}","bypass_suspended":"402 bypass suspended","updated_at":"updated {date}","billing_operations_title":"Billing operations","billing_operations_description":"Manual controls for invoice generation and rollover expiry.","generate_cycle_invoices":"Generate cycle invoices","generate_invoices_confirm_title":"Generate cycle invoices?","generate_invoices_confirm_description":"This runs the enterprise billing job for active billing cycles. It may create invoice records and should only be run after checking current open invoices and billing dates.","confirm_invoice_generation":"Confirm invoice generation","run_credit_rollover":"Run credit rollover","rollover_confirm_title":"Run credit rollover?","rollover_confirm_description":"This checks enterprise credit expiry and may deduct expired rollover credits from customer API balances. Run it only after confirming rollover policy and current usage data.","confirm_rollover_run":"Confirm rollover run","upcoming_billing_title":"Upcoming billing","upcoming_billing_description":"Active subscriptions by next billing date.","no_upcoming_billing":"No active subscription billing cycles.","bills_on":"bills {date}","commit_amount":"{amount} commit","payg":"PAYG","scheduled_activations_title":"Scheduled activations","scheduled_activations_description":"Parked contracts that go live automatically on their effective date.","scheduled_activates_on":"activates {date}","scheduled_trial_until":"trial until {date}","toast_generated_invoices":"{count, plural, =1 {Generated # invoice.} other {Generated # invoices.}}","toast_checked_contracts":"{count, plural, =1 {Checked # contract.} other {Checked # contracts.}}","action_items":{"title":"Action items","hint":"Cross-system checks — Mercury pairing, invoice flow, and QuickBooks.","groups":{"mercury_unpaired":"No Mercury pairing","email_out_of_sync":"Billing email out of sync","team_unbound":"No team bound","draft_unsent":"Unsent draft invoices","pending_adjustments":"Pending adjustments","amount_mismatch":"Amount mismatch vs Mercury","invoice_holds":"Invoice holds","qbo_payment_error":"QuickBooks payment errors","qbo_payment_review":"QBO payments needing review","legacy_qbo_open":"Open legacy QuickBooks invoices","signature_requested":"Customer requested signing","change_requested":"Customer change requests","assessment_due":"Assessment due"},"mercury_unreachable":"Mercury unreachable","empty":"All clear","load_error":"Couldn't load action items."},"start_import_signed":"Import signed contract"},"invoices_coming_soon":"Invoices coming soon.","invoices":{"quickbooks_title":"Billing integration — QuickBooks ledger","quickbooks_description":"QuickBooks is the accounting LEDGER mirror only — collection runs through Mercury (per-customer virtual accounts). This connection powers the automatic mirror copies.","connected":"Connected","not_connected":"Not connected","needs_reconnect":"Reconnect required","environment":"Environment","realm_id":"Realm ID","access_token_expires_at":"Access token expires","refresh_token_expires_at":"Refresh token expires","last_refreshed_at":"Last refreshed","connect":"Connect QuickBooks","reconnect":"Reconnect QuickBooks","refresh_access_token":"Refresh access token","clear_filters":"Clear filters","check_invoices":"View invoices","customer_id":"Customer ID","load_error":"Failed to load QuickBooks status.","connected_toast":"QuickBooks connected.","failed_toast":"QuickBooks connection failed.","refresh_token_toast":"QuickBooks access token refreshed.","refresh_token_error":"Failed to refresh QuickBooks access token.","generate_test":"Generate test invoice","test_dialog_title":"Generate test invoice","test_dialog_description":"Pick a customer and contract to create a draft test invoice for QuickBooks validation.","test_customer_label":"Customer","test_customer_select":"Select a customer...","test_contract_label":"Contract","test_contract_select":"Select a contract...","test_contract_empty":"No contracts are available for the selected customer.","manual_create_non_mercury_hint":"This customer's contracts are not billed via Mercury — manual invoices are Mercury-only.","test_generated_toast":"Test invoice generated.","test_generate_error":"Failed to generate test invoice.","next_title":"Next backend milestones","next_description":"This foundation is ready. The next slice will add monthly billing generation, overdue checks, and invoice and usage APIs.","next_billing":"Monthly billing cron and invoice generation","next_overdue":"Overdue, paid, and void lifecycle sync","next_usage":"Invoice list and usage overview APIs","status_labels":{"draft":"Draft","sent":"Sent","paid":"Paid","partially_paid":"Partially paid","overdue":"Overdue","void":"Void","write_off":"Write off"},"sync_labels":{"pending":"Pending sync","synced":"Synced","failed":"Sync failed","skipped":"Skipped","mercury_pending":"Awaiting Mercury send","mercury_not_linked":"Not on Mercury"},"generate_monthly":"Generate monthly invoices","generated_toast":"Generated {count} invoices.","generate_error":"Failed to generate monthly invoices.","list_title":"Invoices","list_description":"{count, plural, =1 {# invoice loaded} other {# invoices loaded}}","list_error":"Failed to load invoices.","empty":"No invoices yet.","table":{"customer":"Customer","period":"Billing period","status":"Status","total":"Total","quickbooks":"Ledger (QBO)","actions":"Actions","number":"Invoice #"},"detail_title":"Invoice details","detail_customer":"Customer","detail_due_date":"Due date","detail_actual_usage":"Actual usage","detail_total":"Invoice total","products_title":"Product breakdown","products_service":"Service","products_count":"Usage","products_runtime":"Runtime","products_invoice":"Invoice","backends_title":"Backend breakdown","backends_service":"Service","backends_backend":"Backend","backends_count":"Usage","backends_runtime":"Runtime","backends_invoice":"Invoice","no_usage_breakdown":"No usage breakdown recorded for this invoice.","no_backend_breakdown":"No backend breakdown recorded for this invoice.","resync":"Resync QuickBooks","bind_quickbooks":"Bind QuickBooks invoice","mark_paid":"Mark paid","void":"Void invoice","resynced_toast":"Invoice resynced.","resync_error":"Failed to resync invoice.","bind_quickbooks_prompt":"Enter the existing QuickBooks invoice ID to link this manually-settled invoice (avoids creating a duplicate).","bind_quickbooks_toast":"Invoice linked to QuickBooks.","bind_quickbooks_error":"Failed to bind QuickBooks invoice.","mark_paid_toast":"Invoice marked as paid.","mark_paid_error":"Failed to mark invoice as paid.","create_manual":"Create invoice","manual_dialog_title":"Create manual invoice","manual_dialog_description":"Creates a draft invoice on the selected contract. It flows through the standard Mercury review pipeline — nothing reaches the customer until you send it.","manual_amount_label":"Amount (USD)","manual_description_label":"Description","manual_description_hint":"Customer-visible — becomes the single line item on the invoice (min 8 characters).","manual_due_date_label":"Due date (optional)","manual_created_toast":"Draft invoice created.","manual_create_error":"Failed to create the invoice.","mark_paid_outside_mercury":"Mark paid (outside Mercury)…","mark_paid_outside_mercury_title":"Mark paid outside Mercury?","mark_paid_outside_mercury_description":"This payment was collected outside Mercury. The linked Mercury invoice will be cancelled so it can no longer be paid, then this invoice will be marked paid.","mark_paid_outside_mercury_confirm":"Cancel Mercury invoice & mark paid","voided_toast":"Invoice voided.","void_error":"Failed to void invoice.","date_range_separator":"to","team_title":"Team invoices","team_description":"Review enterprise invoices generated for the current team.","team_list_title":"Invoices","team_list_description":"{count, plural, =1 {# invoice available} other {# invoices available}}","team_list_error":"Failed to load team invoices.","team_detail_title":"Invoice details","team_due_date":"Due date","team_paid_amount":"Paid amount","open_usage":"Open usage","open_invoices":"Open invoices","usage_title":"Billable usage","usage_description":"Review usage accumulated in the current billing cycle. Product totals use cumulative tier pricing; if the final tier has a cap, units above that cap are billed at the standard published price.","usage_error":"Failed to load billable usage.","usage_empty":"No billable usage data available.","usage_summary_title":"Current cycle","usage_estimated_total":"Estimated billable total","usage_contract_id":"Contract","usage_pricing_model":"Pricing model","usage_products_description":"Product-level usage and estimated invoice amounts after cumulative tier pricing for the active billing cycle.","usage_backends_description":"Backend-level allocations for audit and invoice review. Cumulative tier amounts are allocated proportionally back to each backend.","line_items_title":"Invoice line items","line_items_service":"Service","line_items_description":"Description","line_items_units":"Units","line_items_unit_price":"Unit price","line_items_amount":"Amount","download_pdf":"Download PDF","download_pdf_error":"Failed to download the invoice PDF.","mark_sent":"Mark sent","mark_sent_toast":"Invoice marked as sent","mark_sent_error":"Failed to mark sent","import_dialog":{"btn_import_invoices":"Import invoices","title":"Import historical invoices","description":"Upload past invoice files. An agent extracts the fields and matches the customer + contract — review and confirm each before it's recorded. Nothing is saved until you click Import.","choose_files":"Choose invoice files (PDF / DOCX / image)","analyzing":"Analyzing…","analyze_failed":"analyze failed","pick_contract_first":"Pick a contract for this invoice first.","imported_toast_with_name":"Imported {name} #{number}","imported_toast":"Imported #{number}","import_failed":"import failed","badge_imported":"Imported","match_method_domain":"domain","no_customer_match":"No customer match","label_invoice_number":"Invoice #","label_amount_usd":"Amount (USD)","label_invoice_date":"Invoice date","label_period_start":"Period start","label_period_end":"Period end","label_description":"Description","label_contract":"Contract","pick_contract_placeholder":"Pick a contract…","btn_import":"Import"},"qb_direct_title":"Legacy QuickBooks records","qb_direct_description":"Read-only tracking of historical direct QuickBooks artifacts. New invoices are created in Mercury only.","qb_direct_unsent_notice":"Creating an invoice here does not send it — sending is always a manual step inside QuickBooks. This invoice will not appear in the system invoice list.","qb_direct_create":"Create QuickBooks invoice","qb_direct_create_description":"Create a manual invoice directly in QuickBooks.","qb_direct_qb_customer_id_label":"QuickBooks customer ID","qb_direct_qb_customer_id_placeholder":"QuickBooks customer ID, e.g. 42","qb_direct_amount_label":"Amount (USD)","qb_direct_amount_invalid":"Amount must be greater than 0.","qb_direct_description_label":"Description (shown on the invoice)","qb_direct_private_note_label":"Private note (internal)","qb_direct_min_chars":"At least {min} characters.","qb_direct_txn_date_label":"Transaction date (defaults to today)","qb_direct_due_date_label":"Due date (defaults to the transaction date)","qb_direct_customer_label":"Linked enterprise customer (optional)","qb_direct_customer_hint":"Linking a customer enables tracking here, and the invoice becomes visible on the customer's billing page once you confirm it was sent.","qb_direct_customer_none":"No linked customer","qb_direct_customer_select":"Select a customer...","qb_direct_created_toast":"QuickBooks invoice created (not sent).","qb_direct_create_error":"Failed to create QuickBooks invoice.","qb_direct_result_title":"Invoice created — not sent","qb_direct_result_description":"Copy the identifiers below. To deliver the invoice, open it in QuickBooks and send it manually.","qb_direct_qb_invoice_id":"QuickBooks invoice ID","qb_direct_copy":"Copy","qb_direct_copied_toast":"Copied to clipboard.","qb_direct_void":"Void QuickBooks invoice","qb_direct_void_description":"Void a QuickBooks invoice that has no system record. Paid invoices, zero-amount invoices, and invoices linked to a system invoice are rejected.","qb_direct_void_note_label":"Void note","qb_direct_void_expected_doc_label":"Expected doc number (optional)","qb_direct_void_expected_doc_hint":"If set, the void is rejected when the invoice's doc number does not match.","qb_direct_void_confirm_title":"Void this QuickBooks invoice?","qb_direct_void_confirm_description":"This voids invoice {id} directly in QuickBooks and cannot be undone.","qb_direct_void_confirm":"Void invoice","qb_direct_voided_toast":"QuickBooks invoice voided.","qb_direct_void_error":"Failed to void QuickBooks invoice.","qb_direct_register":"Register existing invoice","qb_direct_register_title":"Register existing QuickBooks invoice","qb_direct_register_description":"Register an invoice that was already issued manually in QuickBooks so it is tracked here.","qb_direct_register_customer_label":"Enterprise customer","qb_direct_registered_toast":"QuickBooks invoice registered for tracking.","qb_direct_register_error":"Failed to register QuickBooks invoice.","qb_direct_tracked_title":"Tracked direct invoices","qb_direct_tracked_description":"Manual QuickBooks invoices that are tracked by the system.","qb_direct_tracked_empty":"No tracked direct invoices yet.","qb_direct_tracked_error":"Failed to load tracked direct invoices.","qb_direct_filter_customer_placeholder":"Filter by customer ID","qb_direct_table_doc_number":"Doc number","qb_direct_table_amount":"Amount","qb_direct_table_dates":"Dates","qb_direct_table_status":"Status","qb_direct_table_actions":"Actions","qb_direct_mark_sent":"Mark sent","qb_direct_mark_sent_title":"Confirm this invoice was sent?","qb_direct_mark_sent_description":"Only confirm after invoice {doc} has been sent from QuickBooks. Once confirmed, the customer will see this invoice on their billing page.","qb_direct_mark_sent_note_label":"Note (optional)","qb_direct_mark_sent_confirm":"Confirm sent","qb_direct_mark_sent_toast":"Invoice marked as sent.","qb_direct_mark_sent_error":"Failed to mark invoice as sent.","qb_direct_mark_paid":"Mark paid","qb_direct_mark_paid_title":"Mark this invoice as paid?","qb_direct_mark_paid_description":"Confirm that payment for invoice {doc} has been received.","qb_direct_mark_paid_toast":"Invoice marked as paid.","qb_direct_mark_paid_error":"Failed to mark invoice as paid.","qb_direct_detail_title":"Direct invoice detail","qb_direct_detail_lines_title":"Line items","qb_direct_detail_description":"Description","qb_direct_detail_total":"Total","qb_direct_detail_qbo_title":"QuickBooks status","qb_direct_detail_balance":"Balance","qb_direct_detail_email_status":"Email status","qb_direct_detail_txn_date":"Transaction date","qb_direct_detail_due_date":"Due date","qb_direct_detail_tracking_title":"Tracking","qb_direct_detail_created_at":"Created","qb_direct_detail_sent_at":"Sent confirmed","qb_direct_detail_qbo_unavailable":"Could not reach QuickBooks — showing the locally tracked summary.","qb_direct_detail_unavailable":"Full detail is not available yet — showing the tracked summary.","qb_direct_detail_error":"Failed to load invoice detail.","qb_direct_sent_confirmed_at":"Sent confirmed","detail_number":"Invoice #{number}","detail_number_pending":"Invoice number pending","mercury_send":"Send via Mercury","mercury_send_confirm":"Create the invoice in Mercury and email it to the customer now? This also creates the QuickBooks mirror invoice.","mercury_sent_toast":"Invoice sent via Mercury","mercury_send_error":"Failed to send via Mercury","mercury_send_blocked_qbo":"A QuickBooks invoice is already linked — void it first","mercury_link":"Link Mercury invoice","mercury_link_prompt":"Mercury invoice ID to adopt (amount must match this invoice):","mercury_link_toast":"Mercury invoice linked","mercury_link_error":"Failed to link Mercury invoice","mercury_cancel":"Cancel in Mercury","mercury_cancel_confirm":"Cancel this invoice in Mercury (and void the QuickBooks mirror)?","mercury_cancelled_toast":"Cancelled in Mercury","mercury_cancel_error":"Failed to cancel in Mercury","mercury_cancel_paid_blocked":"Payment already received — let the reconciler settle it instead of cancelling","mercury_status":"Mercury","mercury_payment_link":"Payment link","mercury_settled":"Settled","mercury_qbo_payment_error":"QuickBooks payment error","will_deliver_to":"Will deliver to: {email}","will_deliver_unpaired_hint":"not paired yet — sending is blocked until the pairing is confirmed","mercury_sync":"Sync to Mercury (no send)","mercury_sync_confirm":"Create this invoice in Mercury WITHOUT sending it? The customer gets nothing — you review and click Send inside Mercury. The same-numbered QuickBooks mirror is created now.","mercury_synced_toast":"Synced to Mercury (unsent) — review and send it there","mercury_sync_error":"Failed to sync to Mercury","mercury_synced_badge":"Synced to Mercury — awaiting send there","mercury_amount_mismatch_warning":"Amount differs from Mercury: remote ${remote} vs ours ${ours} (edited in Mercury?) — reconcile before settlement","mercury_zero_blocked":"Zero-amount invoice — Mercury refuses these; nothing to collect","adjustments_title":"Adjustments","adjustments_hint":"Manual discounts / corrections on this draft. Within 20% of the pre-adjustment total they apply immediately; beyond that they need enterprise-admin approval.","adjustments_add":"Add adjustment","adjustments_submit":"Save adjustment","adjustments_added":"Adjustment saved","adjustments_removed":"Adjustment removed","adjustments_approve":"Approve","adjustments_approved":"Adjustment approved","adjustments_pending_badge":"Awaiting approval","adjustments_pending_notice":"Over the 20% self-serve threshold — an enterprise-admin holder must approve it before this invoice can be sent.","adjustments_blocking_send":"An adjustment is awaiting approval — approve or remove it before sending.","adjustments_error":"Adjustment action failed","adjustments_form_incomplete":"Enter an amount and a customer-visible reason.","adjustments_mode_amount":"Fixed amount (USD)","adjustments_mode_percent":"Percent of total","adjustments_reason_placeholder":"Customer-visible reason (appears on the invoice line)","adjustments_note_placeholder":"Internal note (optional, never shown to the customer)","adjustments_threshold_hint":"Negative = discount, positive = surcharge. Percent converts to a fixed amount against the pre-adjustment total.","adjustment_kind_discount":"Discount","adjustment_kind_correction":"Billing correction","adjustment_kind_goodwill":"Goodwill credit","adjustment_kind_sla_credit":"SLA credit","adjustment_kind_promo":"Promotional discount","adjustment_kind_surcharge":"Additional charge","adjustment_kind_other":"Adjustment","mercury_revert":"Revert to draft","mercury_revert_hint":"Cancel the Mercury invoice and return this record to an editable draft (amounts kept) — adjust or fix the billing email, then send again.","mercury_revert_confirm":"Cancel the Mercury invoice and revert this record to a draft? The customer's payment link dies; amounts are kept. Re-sending will issue a NEW invoice number — Mercury permanently retires a cancelled invoice's number.","mercury_revert_toast":"Reverted to draft — adjust and re-send when ready","mercury_revert_error":"Revert failed","usage_detail_title":"Usage detail (internal)","usage_detail_hint":"Internal reference only — the customer receives the two-line invoice (minimum commitment + overage). Use Preview PDF to see exactly what goes out.","usage_detail_live_hint":"Live usage for this activation period as of {time} — reconciles on the next cycle invoice, not billed here.","preview_pdf":"Preview PDF","preview_pdf_error":"Loading the PDF preview failed","preview_dialog_title_mercury":"Invoice {number} — Mercury PDF (exactly what the customer sees)","preview_dialog_title_system":"Invoice {number} — system PDF (pre-sync view)","overdue_badge":"Overdue","qbo_ledger_title":"QuickBooks ledger","qbo_ledger_bound":"QBO invoice #{number} · id {id}","qbo_ledger_none":"No QuickBooks record bound.","qbo_ledger_pending_hint":"The QBO mirror is created at Mercury send.","unmark_sent":"Revert to draft","unmark_sent_hint":"Return this sent invoice to an editable draft (no remote copies exist).","unmark_sent_confirm":"Return this invoice to draft? Amounts are kept; it can go out via Mercury after the customer is paired.","unmark_sent_toast":"Invoice returned to draft","unmark_sent_error":"Failed to revert the invoice to draft","pairing_required_hint":"Customer is not paired to a Mercury AR record — confirm the pairing before sending.","pairing_blocked_title":"Mercury sending is blocked — customer not paired","pairing_blocked_description":"This customer has no confirmed Mercury AR pairing. Confirm or create the pairing first; the invoice will deliver to {email}.","open_pairing":"Open pairing","qb_direct_status_labels":{"created":"Created","sent":"Sent","paid":"Paid","void":"Void"},"filter_any":"Any","filter_search":"Type to search…","filter_no_match":"No matches.","period_prepay":"Prepay","period_usage":"Usage","period_role_advance":"Commit + usage","period_role_arrears":"Usage settlement","period_role_catch_up":"Catch-up commit","period_role_activation":"Activation commit","period_role_one_time":"One-time prepaid","period_role_final":"Final settlement","period_role_payg":"PAYG usage","period_role_manual":"Manual","manual_usage_chip":"Off-platform usage","manual_usage_chip_tip":"This contract's usage is entered manually — invoices only include what has been recorded.","manual_usage_send_warning":"This invoice settles usage for a contract whose usage is entered manually. Confirm the settlement window's usage is fully recorded before sending.","manual_usage_commit_only_note":"Commit-only invoice: manually entered usage settles on the next boundary invoice.","void_confirm_title":"Void this invoice?","void_effect_record":"The invoice (and its QuickBooks mirror, if any) becomes void.","void_effect_pool":"Manual usage and prepaid-offset amounts it consumed return to the unbilled pool for the replacement invoice.","void_revoke_credit_label":"This invoice already granted credits — also claw them back from the wallet.","mark_paid_confirm_title":"Mark this invoice paid?","mark_paid_confirm_description":"This settles the invoice as if money arrived: deferred credit grants release, revenue share accrues, and there is no undo. Proceed only when payment is actually confirmed.","period_role_test":"Test (internal)","manual_amount_source_label":"Amount source","manual_amount_source_placeholder":"e.g. billing-reconciliation-summary output 2026-08 / settlement doc","manual_amount_source_hint":"Where this number comes from — an engine preview or settlement document. Required unless you hold the enterprise-admin permission.","enter_manual_usage":"Enter off-platform usage","due_label":"Due","readiness_ready":"Ready to send","readiness_zero":"$0 — not sendable","readiness_adjustment":"Adjustment pending approval","readiness_unpaired":"Mercury customer not paired","ids_title":"Identifiers","id_invoice":"Invoice ID","id_contract":"Contract ID","id_team":"Team ID","id_copied":"Copied","composition_title":"Total breakdown","composition_commit":"Minimum commitment","composition_overage":"Overage","composition_surcharge":"Surcharge","composition_offsets":"Credits / offsets","past_due_draft_chip":"Past due — never sent","chip_past_due_drafts":"{count, plural, =1 {# past-due draft} other {# past-due drafts}}"},"common":{"load_more":"Load more","window_limited":"Only records within the accessible admin window are shown.","refresh":"Refresh","cancel":"Cancel","create":"Create","save":"Save","open":"Open","apply":"Apply","view":"View","delete":"Delete","edit":"Edit","close":"Close","loading":"Loading...","none":"—","more_info":"More information","preview_open_new_tab":"Open in a new tab"},"contracts":{"title":"Contracts","count":"{count, plural, =1 {# contract} other {# contracts}} loaded","filters":"Filters","filters_description":"Narrow the list by team or lifecycle status.","team_id":"Team ID","status":"Status","new_contract":"New Contract","create_draft":"Create Draft","create_dialog_title":"New Enterprise Contract","create_dialog_description":"Search by email to find the team, then create a draft contract.","search_by_email":"Search by Email","no_user_found":"No user found for this email","no_teams_found":"No teams found for this user","search_error":"Failed to search teams","team_select":"Select a team...","team_found":"Team ({count} found)","customer_select":"Select a customer...","customer_required":"Customer","no_customers_yet":"No customers yet. Create one first in the Customers tab.","created_success":"Draft contract created","created_error":"Failed to create contract","empty":"No contracts match the current filters.","load_error":"Failed to load enterprise contracts.","all_statuses":"All statuses","table":{"customer":"Customer","team":"Team","status":"Status","type":"Type","pricing":"Pricing","term":"Term","documents":"Documents","open":"Open","min":"Min {amount}","to":"to {date}","generated_docx_ready":"Generated DOCX ready","generated_docx_none":"Generated DOCX —","signed_pdf_ready":"Signed PDF ready","signed_pdf_none":"Signed PDF —","monthly_commit":"Monthly commit {amount}","template_version":"Template v{version}","template_manual":"Manual","no_billing":"Invoices and credits skipped"},"status_labels":{"draft":"Draft","active":"Active","fulfilled":"Fulfilled","suspended":"Suspended","terminated":"Terminated","expired":"Expired","deleted":"Deleted","onboarding_sent":"Onboarding sent","customer_info_completed":"Customer info completed","legal_review":"Legal review","ready_for_signature":"Ready for signature","sent_for_signature":"Sent for signature","signed":"Signed","signed_needs_start_date_review":"Signed - start date review","pending_activation":"Pending activation","trialing":"Trialing","superseded":"Superseded"},"badge_skip_credit":"Skip credit","badge_no_sweep":"No sweep","replaces_contract":"replaces {id}","type_labels":{"subscription":"Subscription","one_time":"One-time"},"pricing_model_labels":{"minimum_commitment":"Monthly commit","payg":"Pay as you go","one_time_purchase":"One-time purchase","monthly_bonus":"Monthly bonus","month_to_month":"Month-to-month","non_billing":"Non-billing"},"payment_term_labels":{"net_30":"Net 30","net_15":"Net 15","due_on_receipt":"Due on receipt"},"payment_method_labels":{"quickbooks":"QuickBooks","stripe":"Stripe","mercury":"Mercury","prepaid":"Prepaid (in-platform)"},"module_labels":{"credit_rollover":"Credit rollover","auto_renewal":"Auto-renewal","resale":"Resale","termination_for_convenience":"Termination for convenience","end_customer_access":"End customer access","model_hosting":"Model hosting"},"signing_entity_labels":{"hanabi_ai":"Hanabi AI, Inc. dba Fish Audio","39ai_us":"39 AI, Inc. dba Fish Audio","39ai_jp":"39 AI G.K. dba Fish Audio"},"company_signer_labels":{"qingyan_cao":"Qingyan Cao","shijia_liao":"Shijia Liao","pinghan_xu":"Pinghan Xu"},"product_labels":{"tts":"TTS","asr":"ASR","voice-design":"Voice Design"},"module_policy":{"unlimited":"Unlimited","capped":"Cap {amount}","minimum":"Minimum {amount} / 1M"},"template":"Template","all_templates":"All templates","legal_carrier_badge":"Legal — {label}","legal_document":"Legal document","legal_signed_on":"Signed {date}","contract_type_fallback_labels":{"order_form":"Order Form","dpa":"DPA","msa":"MSA","baa":"BAA","nda":"NDA","sow":"SOW"},"billing_model_labels":{"advance":"Advance billing (commitment at period start + prior-period overage)","arrears":"Arrears billing (commitment + overage at period end)"},"billing_mode_labels":{"advance":"Advance commit + overage","arrears":"Postpay (arrears)","payg_invoice":"PAYG · invoiced","payg_platform":"PAYG · platform prepaid","one_time":"One-time package","non_billing":"Non-billing"},"term_until_terminated":"Until terminated","name_search_placeholder":"Search company or agreement…"},"customers":{"title":"Customers","count":"{count, plural, =1 {# customer} other {# customers}}","new_customer":"New Customer","company_name":"Company name","company_name_required":"Company name is required","company_address":"Address","signer":"Signer","signer_name":"Signer name","signer_title":"Signer title","signer_email":"Signer email","billing_email":"Billing email","contact_email":"Contact email","billing_address_line1":"Address Line 1","billing_address_line2":"Address Line 2","billing_city_state_zip":"City, State, ZIP","billing_contact_name":"Billing Contact","defaults_to_signer":"Defaults to signer if empty","notes":"Notes","empty":"No customers yet.","load_error":"Failed to load customers.","created_success":"Customer created successfully.","created_error":"Failed to create customer.","deleted_success":"Customer deleted.","deleted_error":"Failed to delete customer.","import_zip":{"trigger":"Import signed contract","title":"Import a signed contract","description":"Upload a single zip (the signed contract + past invoices). An agent classifies each file, matches the template + customer, and extracts the invoices. Every guess below is editable — review and confirm each step; nothing is saved until you create the contract / import an invoice.","dropzone":{"selected":"{name} — choose another zip to start over","choose":"Drop the signed contract here (PDFs or one zip — multiple files OK), or click to browse","analyzing":"Analyzing {name} — usually 20–40s; multi-document or long contracts can take 1–2 minutes…"},"analyzing":"Analyzing… usually 20–40s; multi-document or long contracts can take 1–2 minutes.","match_badge":{"domain":"{label} · domain","percent":"{label} · {percent}%"},"contract_label":"{name} · {status}","no_match":"no match","files":{"heading":"Files ({count})","reanalyze":"Re-analyze","hint":"Misclassified? Fix the roles and re-analyze — your choices override the filename guesses.","roles":{"contract":"Contract","invoice":"Invoice","skip":"Skip"},"amendment_like":"Amendment","amendment_like_tip":"Looks like an amendment to an existing contract. It was not analyzed — record it on the contract detail page (Amendments card). Override the role only if this really is a standalone contract or an invoice."},"customer":{"heading":"Customer","no_match_badge":"No customer match","pick_placeholder":"Pick the customer…","create_from_extracted":"Create customer from extracted details","no_team_bound":"No team bound yet — the contract needs the customer's real API team (usage is metered per team).","bind_team":"Bind team","created":"Customer created — {name}","backfill_hint":"Extraction found details this customer is missing:","backfill_apply":"Backfill from extraction","backfill_done":"Customer details backfilled","bind_create_if_missing":"Create the account if it doesn't exist","bind_inline_cta":"Bind","bind_inline_success":"Account bound — you can create the contract now.","selected_badge":"Customer: {name}"},"account_status":{"heading":"Account status","active_warning":"— already has {count} active contract(s); make sure this isn't a duplicate import","team":"Team","api_credit":"API credit","contracts":"Contracts","active":"Active"},"contract":{"heading":"Contract","template":"Template","monthly_commit":"Monthly commit","per_unit_rate":"Per-unit rate (TTS, $/1M)","effective":"Effective","term":"Term","term_months":"{count} mo","created":"Contract created","created_with_pdf":"Contract created · signed PDF attached","attach_signed_pdf":"Attach signed PDF from zip","open_contract":"Open contract","not_pdf_hint":"The contract file isn't a PDF — convert it and upload the signed copy on the contract page.","sig_detected":"E-signature detected","sig_none":"No e-signature evidence — verify this is the executed version","sig_scan":"Scanned PDF — signature can't be machine-verified","next_steps_attached":"Next: open the contract to review and <b>Activate</b> — activation drafts the first invoice and grants credits, so it stays a manual step.","next_steps_unattached":"Next: attach the signed PDF, then open the contract to review and <b>Activate</b> — activation drafts the first invoice and grants credits, so it stays a manual step.","additional_heading":"Other documents in this zip","review_and_create":"Review & create contract","pick_customer_first":"Pick or create the customer above first.","bind_team_first":"Bind the customer's team first","none_found":"No contract document found in the zip — re-role a file above if one was misclassified.","assessment_label":"Quarterly minimums","assessment_value":"{quarters} quarters · total ${total}","rate_options_label":"TTS rates","no_template_title":"No template matched this document","no_template_hint":"Import the signed document as this customer's bespoke template so the generated render mirrors the paper — or continue and pick a library template in the next step.","no_template_needs_customer":"Pick or create the customer above first; the imported template is scoped to them.","import_as_customer_template":"Import as customer template","template_import_failed":"Template import could not start","template_imported_reanalyzing":"Template imported — re-analyzing so it can be matched…","use_template_reanalyze":"Use this template & re-analyze","import_as_library_template":"Import as reusable library template","import_as_library_template_tip":"Mines a shared template from this paper: customer-specific values become variables, and the review stage lists anything it could not parameterize — check the findings before reusing it.","reanalyze_for_customer":"Re-analyze with this customer's templates"},"invoices":{"heading":"Invoices ({count})","imported":"Imported","import":"Import","extract_failed":"extract failed","fields":{"number":"Invoice #","amount":"Amount (USD)","date":"Invoice date","period_start":"Period start","period_end":"Period end","description":"Description"},"pick_contract_placeholder":"Pick a contract…"},"confirm_another":{"title":"This customer already has an active contract","customer_fallback":"The customer","description":"{name} already has {count} active contract(s). If this zip belongs to that existing contract, don't create another — import the invoices against it instead. Continue only for a genuinely new agreement (renewal, second order form, …).","description_with_example":"{name} already has {count} active contract(s) (e.g. {example}). If this zip belongs to that existing contract, don't create another — import the invoices against it instead. Continue only for a genuinely new agreement (renewal, second order form, …).","create_another":"Create another contract"},"mercury_prompt":{"title":"Next step: pair this customer with Mercury AR","hint":"Invoices can't go out through Mercury until the customer is paired.","open_workspace":"Open customer workspace"},"toast":{"analyze_failed":"Analyze failed","pick_contract_first":"Pick a contract for this invoice first.","invoice_imported":"Imported invoice #{number}","import_failed":"Import failed","contract_file_not_found":"Contract file not found in the zip.","signed_attached":"Signed contract attached — open the contract to review & activate.","attach_failed":"Attach failed","mixed_selection":"Pick either one zip OR loose PDFs — not both. The PDFs get zipped for you automatically."},"findings":{"info_show":"{count} informational notes — show","info_hide":"Hide informational notes"}},"legal_profile":{"trigger":"Legal Profile","title":"Legal profile — {company}","msa_section_title":"Customer MSA profile","version":"Version","version_options":{"b":"Version B (Standard)","c":"Version C (Convenience)","d":"Version D (Monthly-friendly)","e":"Version E (2026-06 revision)"},"signed_date":"Signed Date","clauses":"Clauses","params":{"rollover_days":"Rollover days","max_rollover_amount":"Max rollover amount","minimum_resale_price":"Minimum resale price","overage_rate":"Overage rate","price_lock_months":"Price lock months"},"msa_document":{"title":"MSA document","description":"Customer-level master agreement file","attach":"Attach MSA record","open":"Open MSA record"},"dpa":{"section_title":"Customer DPA legal packet","section_description":"DPA is generated with the customer legal packet; attachments here are signed or supplemental customer records.","include_in_packet":"Include DPA in customer legal packet","signed_date":"Customer DPA signed date","save_profile":"Save customer DPA profile","generated_title":"Generated customer DPA legal packet","generated_description":"Generated from structured customer legal profile fields.","generate_document":"Generate DPA document","open_generated":"Open generated customer DPA","generated_on":"Generated {date}","attach_record":"Attach customer DPA record","open_record":"Open customer DPA record","history_required":"required","history_not_required":"not required","history_unsigned":"unsigned"},"history":"History","history_version":"v{version}","save_msa_profile":"Save MSA profile","toasts":{"signed_date_required":"Signed date is required","msa_updated":"MSA updated","msa_update_error":"Failed to update MSA","choose_msa_document":"Choose an MSA document first","msa_uploaded":"MSA document uploaded","msa_upload_error":"Failed to upload MSA","msa_open_error":"Failed to open MSA document","dpa_updated":"DPA requirement updated","dpa_update_error":"Failed to update DPA","dpa_required_before_generate":"Mark DPA as required before generating the legal packet","dpa_generated":"Customer DPA legal packet generated","dpa_generate_error":"Failed to generate customer DPA legal packet","dpa_generated_open_error":"Failed to open generated customer DPA legal packet","choose_dpa_attachment":"Choose a DPA attachment first","dpa_attached":"DPA attachment saved to customer legal profile","dpa_attach_error":"Failed to attach DPA","dpa_open_error":"Failed to open DPA attachment"}},"order_form":{"title":"New Agreement","description":"Create a customer-scoped agreement from the latest customer/MSA state and a registered template.","primary_account":"Primary account: {value}","primary_team":"Primary team: {value}","missing":"Missing","missing_account_warning":"New agreements require the customer to have a primary Fish Audio account and team. Use the <b>Workspace</b> action on the customer row to bind their real API team (usage is metered per team), or send onboarding — then reopen this dialog.","created":{"title":"Agreement is ready for review","open_contract":"Open contract"},"created_success":"Agreement created from customer record.","autofill":{"prompt":"Have the signed contract? Auto-fill the template + terms.","button":"Auto-fill from signed contract","prefilled":"Pre-filled from {source}","signed_contract_fallback":"the signed contract","failed":"Auto-fill failed","no_template_terms_applied":"No matching template — the extracted terms were applied. Pick a template manually.","attach_label":"Attach {filename} as the signed document after creation","attached":"Signed PDF attached to the contract","attach_failed":"Contract created, but attaching the signed PDF failed — upload it on the contract detail page"},"template":{"label":"Standard template *","placeholder":"Choose an agreement template","load_failed":"Failed to load agreement templates"},"type_notes":{"billing":"Billing terms will be configured on this agreement.","non_billing":"Non-billing agreement: invoices, credits, and pricing fields are skipped."},"pricing_help":{"payg":"PAYG creates no activation invoice or credits; monthly billing uses prior natural-month API usage.","monthly_bonus":"Monthly commit is the invoice amount; included credits may be higher, with refund rate computed from commit / credits.","one_time":"One-time purchase invoices once and grants the configured credits; it is excluded from monthly billing.","default":"Minimum-commit and month-to-month agreements invoice at activation, grant included credits, then follow the start-date billing anchor."},"purchase_amount":"Purchase amount","payg_per_unit_rate":"PAYG per unit rate (TTS, $/1M)","discount":{"label":"Discount % off live list (follows-list)","follows_list_help":"Rates derive from the live price list × (1 − discount%); the frozen per-unit rate is ignored. List changes propagate on resync.","frozen_rate_help":"Leave 0 to use a frozen per-unit rate below; set a discount to bill at a % off the live list instead."},"membership":{"label":"Membership granted on activation","pro":"Pro","max":"Max","help":"The bound team's owner gets this membership for the contract term."},"overdraft_credits_title":"Overdraft & credits","effective_date_help":"Legal start date shown on the contract and the day-of-month billing anchor. Safe to backdate for historical imports — monthly billing only ever generates the current cycle, never past months.","backdated_warning":"Backdated: activation will draft a first invoice covering {date} onward. If that period was already imported as a historical invoice, void the duplicate before marking anything paid (paying both would grant credits twice).","term_months":"Term (months)","clauses_note":"Clauses are inherited from the selected template and the customer MSA settings. Edit template text through the template/fork workflow, not this agreement dialog.","create_button":"Create agreement","errors":{"choose_template":"Choose an agreement template first.","needs_primary_account":"Customer needs a primary Fish Audio account and team first.","create_failed":"Failed to create agreement"},"per_unit_rate_scope_help":"Applies to TTS usage only (billed per 1M UTF-8 bytes). Other products bill at platform metered pricing unless the contract sets a per-product / per-model pricing tier.","included_credits_help":"Usage credits granted EVERY billing cycle. Leave 0 to grant the monthly commit. A one-time service credit drawn against invoices does NOT belong here — record it after creation via the contract's Prepaid offset card.","included_above_commit_warning":"This grants more than the monthly commit every cycle — only monthly-bonus deals do that (and they use the monthly_bonus pricing model). For a one-time service credit, use the prepaid offset after creation. The API will reject this value.","rollover_days_label":"Rollover expiry (days)","rollover_days_help":"Unused cycle credits expire this many days after their billing month. Set 0 if the signed order form grants no rollover (greater-of billing).","warning_gate":{"title":"Review each analyzer warning — these terms are NOT executed by the system:","hint":"Tick each item to confirm it is handled outside the system (side letter, manual ops, or escalation). Not sure how to handle one? Contact your system administrator before creating the agreement.","confirm_tag":"Confirm","info_group":"I have reviewed the {count} informational notes from the document","info_show":"show","info_hide":"hide"},"term_one_time_hint":"Order term in months — one-time credits expire at term end (30-day PoC = 1).","assessment":{"title":"Quarterly minimum assessment","enable":"Add schedule","help":"For reseller-style contracts with quarterly minimums: monthly invoices bill pure consumption, and shortfalls settle via quarterly true-up invoices. Leave empty for normal monthly-commit contracts.","from_q":"From quarter","to_q":"To quarter","amount":"Quarterly minimum ($)","add_row":"Add row","remove":"Remove","trueup_quarters":"True-up credit quarters","renewal_months":"Renewal term (months)","commit_note":"With a quarterly schedule the monthly commit stays 0 — monthly invoices bill consumption only."},"rate_options":{"label":"Extracted TTS rates — pick the platform-billed one","help":"Off-platform (e.g. self-hosted) rates are billed via manual usage records, not this field."}},"workspace":{"description":"Customer workspace","onboarded":"Onboarded","not_onboarded":"Not onboarded","account_bound_success":"Account bound — the customer's API team is now linked.","bind_account_error":"Failed to bind account","open_legal_document_error":"Failed to open customer legal document","no_team_title":"No API team bound — usage is metered per team, so a contract needs the customer's real Fish Audio team.","no_team_description":"Bind an existing account by email (its personal team is used by default). No account yet? Send an onboarding link instead.","bind_account":"Bind account","primary_account":"Primary account","primary_team":"Primary team","customer_dpa":"Customer DPA","latest_invoice":"Latest invoice","signed":"Signed","signed_with_date":"Signed · {date}","required":"Required","not_required":"Not required","agreements":"Agreements","view_all":"View all","loading_contracts":"Loading contracts","no_contracts":"No contracts yet.","agreement":"Agreement","open_contract":"Open contract {id}","loading_invoices":"Loading invoices","period":"Period","legal_profile":"Legal profile","msa_version":"MSA version","signed_date":"Signed date","enabled_clauses":"Enabled clauses","msa_history":"MSA history","versions_count":"{count, plural, one {# version} other {# versions}}","dpa_document":"DPA document","customer_dpa_record":"Customer DPA record","attached":"Attached","customer_dpa_history":"Customer DPA history","events_count":"{count, plural, one {# event} other {# events}}","open_msa_record":"Open MSA record","open_generated_customer_dpa":"Open generated customer DPA","open_customer_dpa_record":"Open customer DPA record","generated_dpa_document":"Generated DPA document: {key}","runtime_state":"Runtime state","open_invoices":"Open invoices","pro_membership":"Pro membership","enabled":"Enabled","zero_retention":"Zero retention","concurrency":"Concurrency","auto_recharge":"Auto recharge","rollover":"Rollover","days_count":"{count, plural, one {# day} other {# days}}","support_context":"Support context","open_support_tickets":"Open support tickets","support_search_email":"Support search email","support_user_id":"Support user id","structured_customer_info":"Structured customer info","company_address":"Company address","billing_address":"Billing address","title":"Title","billing_contact":"Billing contact","recent_customer_audit":"Recent customer audit","loading_audit":"Loading audit","no_audit_logs":"No customer audit logs.","legal_agreements":"Signed legal agreements","combined_document":"(combined document)","msa_combined_hint":"No standalone MSA record — for imported customers the MSA is typically part of the signed MSA + Order Form (see Agreements).","preview":"Preview","preview_error":"Couldn't load the preview.","preview_signed":"Signed document","preview_render":"Generated render (unsigned)","next_steps_title":"Next steps","step_bind":"Bind usage account","step_agreement":"Create agreement from signed PDF","step_activate":"Activate contract","step_invoice":"First invoice drafted","bind_create_if_missing":"Create the account if it doesn't exist.","bind_create_if_missing_help":"The customer takes over via password reset — nothing is emailed.","archive":"Archive","unarchive":"Unarchive","archive_title":"Archive this customer?","archive_warning":"{company} will be hidden from customer lists and pickers, and no new onboarding links, account bindings, or agreements can be created for it until it is unarchived. Nothing is deleted and archiving is reversible. The system refuses to archive while any contract is still in progress or active.","archive_cancel":"Cancel","archive_confirm":"Archive customer","archive_done":"Customer archived.","unarchive_done":"Customer restored."},"new_agreement":"New Agreement","active_contracts":"Active contracts","onboarding":"Onboarding","onboarding_completed":"Completed","onboarding_not_started":"Not started","onboarding_invite_sent":"Invite sent","onboarding_manual":"Manually imported","open_actions_for":"Open actions for {name}","view_contracts":"View Contracts","view_invoices":"View Invoices","view_legal_profile":"View Legal Profile","edit_customer":"Edit Customer","resend_onboarding":"Re-send Onboarding","send_onboarding_link":"Send Onboarding Link","resend_onboarding_title":"Re-send onboarding?","resend_onboarding_description":"This customer has already completed onboarding. Re-sending will collect updated customer information and may overwrite the customer record used for future agreements.","continue":"Continue","view_as_user":"View as user","view_as_user_error":"Failed to open the customer's account view","signals_title":"Billing signals","signals_description":"Live cycle usage vs. commitment for every active billing contract — spot churn risk and upsell opportunities.","signals_empty":"No active billing contracts.","signals_load_error":"Failed to load billing signals.","signals_pct_of_minimum":"{pct}% of minimum","signals_usage_no_allowance":"Usage this cycle","signals_overage":"Overage so far","signals_projected_invoice":"Projected invoice","signals_pace":"Cycle pace","signals_prev_cycle":"Previous cycle","signals_cycle":"Current cycle","signals_term_end":"Term ends","signals_term_end_days":"in {days} days","signal_churn_risk":"Churn risk","signal_upsell":"Upsell","signal_renewal_60d":"Renewal ≤ 60d","signal_usage_drop":"Usage drop","signal_offset_pool_active":"Credit pool active","signals_expl_churn_risk":"Fires when ≥30% of the cycle has elapsed and the projected pace is below half the minimum. Pace {pace} vs. {allowance} allowance.","signals_expl_upsell_overage":"Usage already exceeds the included allowance — {overage} of billable overage so far this cycle.","signals_expl_upsell_pace":"Projected pace {pace} exceeds 120% of the {allowance} allowance — commitment may be undersized.","signals_expl_renewal_60d":"Contract term ends in {days} days — time to start the renewal conversation.","signals_expl_usage_drop":"Projected pace {pace} is below half of the previous cycle's {prev}.","signals_expl_offset_pool_active":"A prepaid/settlement credit pool is still offsetting this customer's invoices — cash already collected.","signals_trend_title":"Daily platform usage — last {days} days","signals_trend_series":"Usage","signals_trend_open":"View usage trend","signals_trend_empty":"No platform usage recorded in this window.","billing_mode":"Billing mode","signal_balance_low":"Low balance","signals_expl_balance_low":"Wallet balance {balance} covers less than half a month at the current burn ({pace}/mo) — time to top up or move to contract billing.","signals_wallet_balance":"Wallet balance","signals_summary_tracked":"{count, plural, =1 {# tracked billing contract} other {# tracked billing contracts}}","usage_this_cycle":"Cycle usage","commit_pct":"Commit %","signals":"Signals","updated":"Updated","toggle_details":"Toggle billing details for {name}","lifecycle_winding_down":"Winding down · {date}","lifecycle_churned":"Churned","create_primary_email_label":"Primary email (optional)","create_primary_email_help":"The account the customer will use for API usage. Not on the contract? Leave it blank — you can create/bind the account later in the customer workspace.","create_company_placeholder":"Company legal name","show_archived":"Show archived","hide_archived":"Hide archived","archived_badge":"Archived"},"edit_overview":{"title":"Edit Contract","msa_version":"MSA Version","msa_b":"B — Full-year obligation","msa_d":"D — Pay to termination","msa_e":"E — 2026-06 revision","sales_rep":"Sales Rep","signing_entity":"Signing Entity","company_signer":"Company Signer","effective_date":"Effective Date","end_date":"End Date","no_end_date":"No end date (auto-renew)","duration_months":"Duration (months)","notice_days":"Notice (days)","trial_months":"Trial (months)","payment_term":"Payment Term","payment_term_days":"Payment Term Days","auto_renew":"Auto-renew","generate_docx":"Generate DOCX","generate_invoice":"Generate invoice","toast_success":"Contract updated","toast_error":"Failed to save","msa_c":"C — Accrued fees to termination"},"edit_customer":{"title":"Edit Customer Info","company_name":"Company Name","contact_email":"Contact Email","signer_name":"Signer Name","signer_title":"Signer Title","signer_email":"Signer Email","billing_contact":"Billing Contact","billing_email":"Billing Email","company_address":"Company Address","address_line1":"Address Line 1","address_line2":"Address Line 2","city_state_zip":"City, State, ZIP","toast_success":"Customer info updated","toast_error":"Failed to save"},"detail":{"back_to_contracts":"Back to contracts","loading":"Loading contract...","load_error":"Unable to load this contract.","fallback_title":"Enterprise Contract","team":"Team {teamId}","updated":"Updated {date}","sales_rep":"Sales rep {name}","enabled":"Enabled","disabled":"Disabled","toast_generated_docx":"Generated DOCX.","toast_uploaded_signed":"Uploaded signed PDF.","toast_activated":"Contract activated.","toast_suspended":"Contract suspended.","toast_resumed":"Contract resumed.","toast_draft_deleted":"Draft deleted.","toast_terminated":"Contract terminated.","toast_pricing_updated":"Pricing updated.","toast_concurrency_updated":"Concurrency updated.","toast_choose_pdf":"Choose a signed PDF first.","btn_activate":"Activate","btn_suspend":"Suspend","btn_resume":"Resume","btn_save_pricing":"Save pricing & tiers","btn_add_tier":"Add tier","btn_generate_docx":"Generate DOCX","btn_open_docx":"Open DOCX","btn_open_signed_pdf":"Open signed PDF","btn_upload_signed_pdf":"Upload signed PDF","btn_save_concurrency":"Save concurrency","btn_delete_contract":"Delete contract","btn_terminate_contract":"Terminate contract","btn_confirm_delete":"Confirm delete","btn_confirm_termination":"Confirm termination","pricing_title":"Pricing","pricing_description":"Adjust the live pricing summary that syncs into team-level overrides.","pricing_tiers_title":"Pricing tiers","pricing_tiers_description":"Tiers are cumulative per product. Each band only prices the units inside that band; if the final tier has a cap, usage above that cap is billed at the standard published price.","no_pricing_tiers":"No pricing tiers configured.","customer_title":"Customer","document_workflow_title":"Document workflow","document_workflow_description":"Generate unsigned DOCX before signature, review counterparty redlines, and open private document links.","concurrency_title":"Concurrency and retention","concurrency_description":"Syncs into the team concurrency override and zero-data retention feature flag.","delete_title":"Delete","terminate_title":"Terminate","delete_description":"Permanently delete this draft contract.","terminate_description":"Terminate this active or suspended contract.","label_msa":"MSA","label_signing_entity":"Signing entity","label_company_signer":"Company signer","label_billing":"Billing","label_effective":"Effective","label_ends":"Ends","label_current_term":"Current term","label_auto_renew":"Auto renew","label_current_model":"Current model","label_monthly_commit":"Monthly commit","label_one_time_amount":"One-time amount","label_pricing_model":"Pricing model","label_per_unit_rate":"Per unit rate (TTS, $/1M)","label_monthly_commit_usd":"Monthly commit ($)","label_one_time_amount_usd":"One-time amount ($)","label_fee_description":"Fee description","label_total_annual":"Total annual","label_product":"Product","label_end_m":"End (M, empty=inf)","label_price_per_million":"$/1M","label_company":"Company","label_signer":"Signer","label_billing_contact":"Billing contact","label_billing_email":"Billing email","label_contact_email":"Contact email","label_address":"Address","label_concurrency_limit":"Concurrency limit","label_zero_data_retention":"Zero data retention","zero_data_retention_description":"Mirrors the team-level feature flag when the contract is active.","skip_signed_check_title":"Skip signed document check on activation","skip_signed_check_description":"Use only when you need to activate before a signed PDF is uploaded.","terminate_dialog_delete_title":"Delete this draft?","terminate_dialog_terminate_title":"Terminate this contract?","terminate_dialog_delete_description":"This will permanently delete the draft contract. This cannot be undone.","terminate_notice_warning":"This contract stipulates a {days}-day termination notice. Confirming means the notice obligation has been handled — for a contract swap, prefer scheduled replacement or wind-down to avoid a coverage gap (list-price billing, reduced concurrency).","terminate_dialog_terminate_description":"This will end the enterprise contract and clear team-level overrides.","terminate_reason_placeholder":"Optional termination reason","date_range_separator":"to","per_unit_rate_scope_help":"Applies to TTS usage only (billed per 1M UTF-8 bytes). Other products bill at platform metered pricing unless the contract sets a per-product / per-model pricing tier.","label_billing_model":"Billing cadence","terminate_mode_immediate":"Terminate immediately (settle now)","terminate_mode_wind_down":"Wind down (bill current cycle fully, let usage burn off)","terminate_mode_caption":"Scheduling is preferred for churn: the contract runs to the chosen date, no cycle starting at or after it bills, and finalization is automatic. Wind-down adds a credit burn-off window instead.","terminate_mode_scheduled":"Schedule termination (pick the date service ends)","terminate_preset_cycle_end":"End of current billing cycle — {date}","terminate_preset_next_cycle_end":"End of next cycle — {date}","terminate_preset_notice":"After notice period ({days} days) — {date}","terminate_preset_custom":"Custom date…","terminate_schedule_caption":"Fully in force until {date}. No billing cycle starting on or after that date is invoiced; the final cycle's overage settles automatically.","terminate_schedule_date_required":"Pick a termination date first.","terminate_dialog_schedule_title":"Schedule this termination?","terminate_dialog_schedule_description":"Service and billing continue normally until {date}, then the contract terminates automatically: team overrides are retired and the final cycle settles. You can cancel the schedule any time before the date.","btn_schedule_termination":"Schedule termination","btn_confirm_schedule":"Schedule","btn_cancel_scheduled_termination":"Cancel schedule","termination_scheduled_banner":"Termination scheduled for {date}.","wind_down_banner":"Winding down — finalizes {date}.","terminated_banner":"Terminated on {date}.","transition_until":"Consume-only transition until {date} — remaining credits keep their contractual expiry clocks; the account is otherwise back to self-serve.","transition_irreversible_note":"The transition has started — this termination can no longer be cancelled. Only a new signed agreement can restore enterprise service.","toast_termination_scheduled":"Termination scheduled for {date}.","toast_termination_schedule_cancelled":"Scheduled termination cancelled.","termination_terms_title":"Termination terms (system record)","btn_edit_termination_terms":"Edit","termination_policy_consume_only":"Signed contract: credits survive termination and expire on their 90-day clocks (consume-only runway).","termination_policy_forfeit":"Signed contract: unused enterprise credits are forfeited at termination.","termination_policy_refund_prorated":"Signed contract: prepaid fees are refunded pro-rata on termination (manual runbook).","termination_policy_transition_window":"Signed contract: a frozen-price transition window applies after termination (manual runbook).","termination_policy_unspecified":"Termination terms not classified against the signed PDF yet — set them here after reading the contract.","termination_mutual_consent_notice":"This Order Form cannot be terminated unilaterally — only by written mutual consent or for material breach.","termination_manual_runbook_refund_prorated":"Manual step required: compute and issue the pro-rata refund of prepaid fees.","termination_manual_runbook_transition_window":"Manual step required: keep pre-termination pricing frozen for the contractual transition window.","termination_mutual_consent_confirm":"I confirm the customer's WRITTEN mutual consent (or a material-breach basis) for terminating this Order Form.","termination_terms_mutual_consent_label":"Mutual consent required","termination_policy_option_unspecified":"Not classified","termination_policy_option_consume_only":"Consume-only runway","termination_policy_option_forfeit":"Forfeit at termination","termination_policy_option_refund_prorated":"Pro-rata refund","termination_policy_option_transition_window":"Transition window","toast_termination_terms_saved":"Termination terms saved.","terminate_off_contract_warning":"⚠ Off-contract mode: this deviates from the exit the signed agreement prescribes and may BREACH the contract. Prefer the recommended option unless there is a documented basis.","terminate_breach_confirm_warning":"⚠ BREACH RISK: you are terminating in a mode the signed contract does not prescribe. Confirm only with a documented basis (written agreement or breach).","terminate_consequence_scheduled_consume_only":"Runs normally until the chosen date; the final billing month's commitment is invoiced in full and no new cycle starts after it. Per the signed contract, remaining credits stay in the account and expire on their original 90-day clocks; the account reverts to self-serve pay-as-you-go at list price right away.","terminate_consequence_scheduled_forfeit":"Runs normally until the chosen date; the final billing month's commitment is invoiced in full and no new cycle starts after it. Per the signed contract, any unused enterprise credits are revoked at the moment of termination; customer top-ups are untouched.","terminate_consequence_scheduled_refund_prorated":"Runs normally until the chosen date; the final billing month's commitment is invoiced in full and no new cycle starts after it. Per the signed contract, prepaid fees must be refunded pro-rata — handled manually, outside this dialog.","terminate_consequence_scheduled_transition_window":"Runs normally until the chosen date; the final billing month's commitment is invoiced in full and no new cycle starts after it. Per the signed contract, usage may continue at frozen pre-termination pricing for the contractual transition window — handled manually.","terminate_consequence_scheduled_unspecified":"Runs normally until the chosen date; the final billing month's commitment is invoiced in full and no new cycle starts after it. Termination terms are not classified yet — read the signed PDF before proceeding.","terminate_consequence_wind_down_consume_only":"The current cycle bills fully, then a burn-off window lets remaining credits be consumed before automatic finalization. Per the signed contract, remaining credits stay in the account and expire on their original 90-day clocks; the account reverts to self-serve pay-as-you-go at list price right away.","terminate_consequence_wind_down_forfeit":"The current cycle bills fully, then a burn-off window lets remaining credits be consumed before automatic finalization. Per the signed contract, any unused enterprise credits are revoked at the moment of termination; customer top-ups are untouched.","terminate_consequence_wind_down_refund_prorated":"The current cycle bills fully, then a burn-off window lets remaining credits be consumed before automatic finalization. Per the signed contract, prepaid fees must be refunded pro-rata — handled manually, outside this dialog.","terminate_consequence_wind_down_transition_window":"The current cycle bills fully, then a burn-off window lets remaining credits be consumed before automatic finalization. Per the signed contract, usage may continue at frozen pre-termination pricing for the contractual transition window — handled manually.","terminate_consequence_wind_down_unspecified":"The current cycle bills fully, then a burn-off window lets remaining credits be consumed before automatic finalization. Termination terms are not classified yet — read the signed PDF before proceeding.","terminate_consequence_immediate_consume_only":"Ends now: mid-cycle usage is settled immediately and team overrides are retired at once. Per the signed contract, remaining credits stay in the account and expire on their original 90-day clocks; the account reverts to self-serve pay-as-you-go at list price right away.","terminate_consequence_immediate_forfeit":"Ends now: mid-cycle usage is settled immediately and team overrides are retired at once. Per the signed contract, any unused enterprise credits are revoked at the moment of termination; customer top-ups are untouched.","terminate_consequence_immediate_refund_prorated":"Ends now: mid-cycle usage is settled immediately and team overrides are retired at once. Per the signed contract, prepaid fees must be refunded pro-rata — handled manually, outside this dialog.","terminate_consequence_immediate_transition_window":"Ends now: mid-cycle usage is settled immediately and team overrides are retired at once. Per the signed contract, usage may continue at frozen pre-termination pricing for the contractual transition window — handled manually.","terminate_consequence_immediate_unspecified":"Ends now: mid-cycle usage is settled immediately and team overrides are retired at once. Termination terms are not classified yet — read the signed PDF before proceeding.","paper_pinned_title":"Value is fixed in the signed contract","paper_pinned_body":"The signed contract text spells out: {fields}. Changing it here does NOT amend the contract.","paper_pinned_amend_hint":"Recommended path: record a signed amendment (Amendments card below), then apply it.","paper_pinned_need_senior":"Overriding requires the senior (enterprise-admin) permission.","paper_pinned_override_btn":"Override manually anyway","paper_pinned_ack_btn":"Got it","paper_pinned_cancel":"Cancel","paper_pinned_save_failed":"Failed to update contract settings","pin_section_title":"Paper-pin status","pin_section_description":"Whether each setting's value counts as paper-stipulated (changes then need the amendment flow or a senior override). Manual pin/unpin is senior-only and audited; unpin corrects the template heuristic but never releases an amendment-set key.","pin_state_amendment":"Pinned (amendment)","pin_state_manual":"Pinned (manual)","pin_state_template":"Pinned (template)","pin_state_released":"Released (manual)","pin_state_free":"Not pinned","pin_opt_auto":"Auto (heuristic)","pin_opt_pinned":"Force pinned","pin_opt_unpinned":"Force unpinned","pin_toast_updated":"Pin state updated.","pin_toast_failed":"Pin update failed — senior permission required.","toast_activate_failed":"Activation failed.","check_invoices":"View invoices","btn_activate_now_scheduled":"Activate now (scheduled)"},"detail_v2":{"signed_archive_banner":"Signed archive / verbatim contract — the stored document is a faithful copy of the signed file. Editing fields below drives billing and entitlements only and never regenerates the document text.","scheduled_banner_title":"Scheduled to activate on {date}","trialing_banner_title":"Trial until {date}","trialing_banner_no_date":"This contract is in its trial period.","contract_terms_title":"Contract terms (from the signed document)","contract_terms_description":"These reflect the signed agreement. On an active contract they are locked and change only via an amendment.","operational_settings_title":"Platform operational settings (not in the contract)","operational_settings_description":"Billing-safety and operations controls. Editable on active contracts; changing them never alters the contract document.","facts_status":"Status","facts_pricing":"Pricing","facts_payment":"Payment","facts_term":"Term","facts_governing_msa":"Governing MSA","governing_msa_auto_on_activation":"Created on activation","governing_msa_not_linked":"Not linked","governing_msa_link":"MSA {version} · {id}","btn_unlink_msa":"Unlink","toast_unlink_msa":"Governing MSA unlinked","error_unlink_msa":"Could not unlink the governing MSA","btn_split_partner_agreement":"Record as partner agreement","btn_split_msa":"Split MSA from this contract","toast_split_msa_created":"MSA record created and linked","toast_split_msa_linked":"Linked to the existing MSA record","error_split_msa":"Failed to split the MSA from this contract.","field_commitment_term":"Commitment term","commitment_term_value":"{months} months — ends {date} — auto-renew {autoRenew}","field_legal_document":"Legal document","facts_concurrency":"Concurrency","facts_zdr":"ZDR","facts_membership":"Membership","min_commit_value":"Min commit · {amount}/mo","payg_discount_value":"PAYG · {percent}% off list","on":"On","off":"Off","pricing_locked_note":"Locked — pricing changes on an active contract require an amendment.","pricing_follows_list_note":"Follows-list pricing: rates derive from the live price list at the contract discount; leave per-unit rate and tiers empty.","activate_dialog_title":"Activate this contract?","activate_dialog_description":"Activation is a billing go-live: it may draft the first invoice and grant first-cycle credits, sync team pricing/entitlements.","activate_skip_credit_label":"First-cycle credit already granted manually — skip auto-grant","activate_skip_credit_helper":"(only affects minimum-commitment/bonus contracts; PAYG grants nothing at activation)","badge_non_billing":"Non-billing","badge_ai_reviewing":"AI reviewing","badge_ai_issues":"{count, plural, =1 {# AI issue} other {# AI issues}}","badge_ai_ok":"AI OK","btn_ai_review":"AI Review","btn_view_ai_review":"View AI Review","btn_enter_review":"Enter Review","btn_approve_publish":"Approve & Publish Preview","btn_back_to_legal_review":"Back to Legal Review","btn_void_signing":"Void Signing","toast_status_legal_review":"Status updated to Legal Review","toast_status_ready_published":"Approved version published to the customer review page.","toast_status_reverted":"Status reverted to Legal Review","toast_docusign_voided":"DocuSign voided, status reverted to Legal Review","error_transition":"Failed to transition status","error_void_signing":"Failed to void signing","signed_after_start_warning":"This contract was signed after its start date. Confirm that the signed OF should keep this start date before activating, or send it back to Legal Review and re-issue the OF with a new start date.","field_primary_account":"Primary account","field_agreement":"Agreement","draft_number":"Draft","field_billing_anchor":"Billing anchor","field_pro_membership":"Pro membership","field_membership_plan":"Membership plan","review_snapshot_title":"Customer review snapshot","review_published_revision":"Published revision {revision}","review_no_revision":"No published revision yet","review_unpublished_changes":"Unpublished changes","review_url_label":"Review URL:","review_expires":"Expires: {date}","no_expiry":"No expiry","review_no_url":"No customer review URL is currently available.","btn_preview_draft":"Preview Draft","btn_publish_customer":"Publish to Customer","btn_copy_link":"Copy Link","btn_refresh_link":"Refresh Link","btn_generate_review_url":"Generate Review URL","review_legal_note":"The existing customer URL shows the last approved snapshot. Signing is blocked until this contract is published again.","toast_review_url_copied":"Review URL copied","toast_review_url_refreshed":"Review URL refreshed and copied","error_refresh_url":"Failed to refresh URL","field_included_credits":"Included credits","field_rollover":"Rollover","rollover_days_value":"{days} days","field_discount":"Discount","field_overage_premium":"Overage premium","field_pro_rata_refund":"Pro-rata refund rate","pro_rata_auto":"Auto","field_credits_granted":"Credits granted","input_included_credits":"Included credits ($)","input_overage_premium":"Overage premium (%)","input_pro_rata_placeholder":"Auto: commit / included credits","input_discount":"Discount (%)","input_credits_granted":"Credits granted ($)","pricing_helper_payg":"No activation invoice or credits; cycle invoices bill prior natural-month API usage.","pricing_helper_monthly_bonus":"Invoice amount is the monthly commit; included credits can be higher, and refund rate defaults to commit / included credits.","pricing_helper_one_time":"Activation invoices the purchase amount and grants credits once; no monthly cron runs for this order form.","pricing_helper_default":"Activation invoices the monthly commit and grants included credits; later cycle invoices follow the start-date anchor.","non_billing_title":"Non-billing agreement","non_billing_description":"Pricing, invoices, credits, and billing-cycle controls are skipped for this contract type.","field_agreement_type":"Agreement type","field_behavior_category":"Behavior category","document_snapshot_title":"Document customer snapshot","field_customer_msa":"Customer MSA","entitlements_title":"Enterprise entitlements","entitlements_description":"Runtime account settings applied when the contract is activated.","field_primary_user":"Primary user","field_consumption_priority":"Consumption priority","field_auto_recharge":"Auto recharge","pricing_tiers_backend_note":"Product and backend drive API price overrides; leave backend as all for product-wide pricing.","label_api_backend":"API backend","option_all_backends":"All API backends","tier_end_placeholder":"inf","payment_term_days_short":"{days}d","toast_published_review":"Published latest version to the customer review page.","error_no_template_preview":"This contract has no linked template to preview.","error_update_pricing":"Failed to update contract pricing.","fee_payg":"Pay-as-you-go API usage","draft_preview_title":"Draft preview","draft_preview_empty":"No draft preview generated yet.","activate_sweep_label":"Convert existing wallet balance to invoice credit","activate_sweep_helper":"Any pre-contract self-serve balance moves into the invoice-credit pool and offsets invoices dollar-for-dollar. Recommended for subscription contracts (leaving it would double-charge); one-time contracts spend it natively and default to off.","activate_replace_label":"Replace the currently active contract on the effective date","activate_replace_helper":"For renewal/upgrade order forms imported ahead of time: this contract parks as pending activation while the current one keeps running; on the effective date the system terminates the old contract (unused credits return to the wallet and carry over) and activates this one automatically.","activate_preview_loading":"Loading activation impact…","activate_preview_unavailable":"Couldn't load the activation preview; the options below show their generic descriptions.","activate_preview_status_active":"Confirming activates this contract immediately.","activate_preview_status_trialing":"Confirming starts the trial now; paid billing begins {date}.","activate_preview_status_parked":"Confirming only schedules the contract: it parks as pending activation and goes live automatically on {date}.","activate_preview_invoice_now":"Creates a {amount} activation invoice for the first cycle {start} – {end}.","activate_preview_invoice_one_time":"Creates the {amount} one-time invoice immediately.","activate_preview_invoice_one_time_deferred":"The {amount} one-time invoice is generated automatically at go-live on {date}.","activate_preview_invoice_deferred_start":"The {amount} first-cycle invoice ({start} – {end}) is generated automatically at go-live.","activate_preview_invoice_deferred_trial":"The {amount} first-cycle invoice ({start} – {end}) is generated when the trial converts to paid.","activate_preview_invoice_awaiting_user":"No invoice yet: the {amount} first-cycle invoice ({start} – {end}) is generated once the customer's primary account is bound and activated.","activate_preview_invoice_occupied":"Invoice {number} already covers the first period ({start} – {end}) — no new invoice or credit grant will be created.","activate_preview_invoice_payg":"No upfront invoice — pay-as-you-go bills actual usage at the end of each cycle.","activate_preview_invoice_none":"This contract type has no billing; activation only changes status and entitlements.","activate_preview_credit":"Includes a {amount} credit grant for the first cycle.","activate_preview_credit_one_time":"Includes a {amount} prepaid credit grant.","activate_preview_credit_on_payment":"Credits are granted once the invoice is paid (on-payment timing).","activate_skip_credit_helper_preview":"Only for takeovers where ops already granted this cycle by hand: the {amount} auto-grant is then marked as satisfied instead of granted twice. Leave unchecked for new customers.","activate_skip_credit_na":"No automatic credit grant happens in this activation, so this option has no effect.","activate_sweep_balance":"Current team wallet balance: {amount}.","activate_sweep_helper_preview":"On: {amount} moves into this contract's invoice-credit pool and offsets upcoming invoices dollar-for-dollar (money the customer already paid is not billed again). Off: it stays in the wallet and is burned by usage the invoices also bill.","activate_sweep_empty":"The wallet is empty, so this choice currently has no effect.","activate_sweep_done":"Already swept into the invoice-credit pool earlier — nothing more to move.","activate_sweep_na":"Not applicable to this contract type.","activate_sweep_deferred_on":"Parked activation: whatever is in the wallet at go-live ({date}) is swept automatically (subscription default); this switch is not used.","activate_sweep_deferred_off":"Parked activation: the balance stays in the wallet at go-live ({date}) (one-time default). Adjust the prepaid offset afterwards if it should offset invoices.","activate_replace_helper_now":"Terminates “{name}” ({status}) immediately on confirm; its unused invoice-credit pool ({amount}) returns to the wallet and carries into this contract.","activate_replace_helper_scheduled":"“{name}” ({status}) keeps running until go-live on {date}; the system then terminates it automatically (its unused invoice-credit pool of {amount} carries over via the wallet) and activates this contract.","activate_replace_na":"No other live contract of this type on this team — leave unchecked.","activate_replace_required_hint":"“{name}” is still live: activation will be rejected unless replacement is enabled.","activate_signed_doc_missing":"No signed PDF is uploaded yet — activation will be rejected until one is attached (or an operator overrides the check).","activate_replace_already_scheduled":"Replacement is already scheduled on this contract — confirming performs the handover when due regardless of this switch.","rename_title":"Rename agreement","rename_name_label":"Agreement name","rename_number_label":"Agreement number","rename_saved":"Agreement renamed.","rename_failed":"Rename failed.","rename_aria":"Rename agreement"},"team_page":{"title":"Enterprise Contract","description":"View the currently active enterprise contract for the selected team.","open_invoices":"Open invoices","open_usage":"Open usage","loading":"Loading enterprise contract...","no_contract":"No active enterprise contract for the selected team.","team":"Team {teamId}","label_type":"Type","label_pricing_model":"Pricing model","label_monthly_commit":"Monthly commit","label_billing":"Billing","label_signing_entity":"Signing entity","label_effective":"Effective","label_current_term":"Current term","label_concurrency":"Concurrency","additional_terms_title":"Additional terms","additional_terms_description":"Terms currently applied on the active contract.","no_additional_terms":"No additional terms configured.","pricing_tiers_title":"Pricing tiers","pricing_tiers_description":"Tiers are cumulative per product. Usage in each band is billed incrementally, and any usage above a capped final tier is billed at the standard published price.","no_pricing_tiers":"No pricing tiers configured.","th_service":"Service","th_usage_end":"Usage end","th_unit_price":"Unit price","no_cap":"No cap","per_million":"/ 1M","date_range_separator":"to","th_model":"Model","all_models":"All models"},"enterprise_usage":{"title":"Enterprise Contract Usage","billing_cycle":"Billing cycle: {start} – {end}","next_invoice":"Next invoice on {date}","days_left":"{days, plural, one {# day left} other {# days left}}","usage_summary":"{used} of {allowance} used","allowance_label":"Cycle allowance","rollover_suffix":"(+{amount} rollover)","used_label":"Used this cycle","remaining_label":"Remaining","monthly_commit_label":"Monthly commitment","base_rate_label":"Base rate","rate_per_million":"{rate}/M","overage_title":"Overage","overage_usage_label":"Overage usage (at base rate)","overage_rate_note":"Billed at the standard rate of {rate}/M","overage_billed_label":"Overage billed","projected_total_label":"Projected invoice this cycle","prepaid_offset":"−{amount} applied from your prepaid balance","wallet_note":"The wallet balance ({balance}) is a real-time meter at your contract rates; a negative balance means accumulated overage.","wallet_note_manual":"Some or all usage under this contract is recorded offline and is not deducted from the wallet balance; the balance may not reflect your total usage.","invoice_note":"Your invoice is based on the projected total shown on this card.","overage_rate_label":"Overage rate","above_allowance_note":"Above the allowance","current_rate_badge":"Current","payg_badge":"Pay-as-you-go","payg_discount_note":"Your contract rate: {percent}% off standard list rates","payg_wallet_note":"The wallet balance ({balance}) counts down from 0 at your contract rates; a negative balance is simply this cycle's usage that has not been invoiced yet.","topup_blocked_title":"Billed monthly by enterprise contract","topup_blocked_description":"Your team is billed monthly under an enterprise contract, so self-serve top-ups are neither needed nor available. See the enterprise contract usage card on the API Billing page for your allowance and projected invoice.","go_to_billing":"Go to API Billing","auto_recharge_blocked":"Unavailable under enterprise contract billing","usage_banner":"Enterprise contract account · View this cycle's allowance and projected invoice on the API Billing page","contract_rates_title":"Contract rates","all_models":"All models","up_to_millions":"up to {end}M","derived_rates_note":"Current list prices with your {percent}% contract discount applied; they track list-price changes.","prepaid_credits_label":"Prepaid credits","prepaid_credits_pending":"{amount} pending — delivered when the funding invoice is settled per grant timing","invoice_credit_remaining":"Invoice credit remaining: {amount}","chain_usage_title":"Usage by model this cycle","chain_usage_amount":"{amount} · {units}M","chain_over_cap":"over cap","rates_usage_title":"Rates & usage by model","table_model":"Model","table_rate":"Contract rate","table_used":"Used this cycle","table_cost":"Cost","list_price":"List price","prepaid_offset_hint":"Your earlier account balance was moved into this contract's prepaid credit and is applied to each invoice.","projected_breakdown":"= {charges} charges − {credit} prepaid credit","billing_cycle_preset":"Billing cycle","cycle_current":"Current"},"enterprise_invoices":{"title":"Invoices","invoice_number":"Invoice #","type":"Type","billing_period":"Billing period","period_range":"{start} – {end}","amount":"Amount","status":"Status","download_pdf":"Download PDF","download_error":"Failed to download the invoice PDF","empty":"Your first invoice will appear here once it has been generated.","status_labels":{"sent":"Sent","paid":"Paid","overdue":"Overdue"},"type_labels":{"activation":"Activation","cycle":"Billing cycle","final_settlement":"Final settlement","imported":"Imported","one_time":"One-time","direct":"Manual"},"view_usage":"View itemized usage"},"templates":{"tab_templates":"Templates","tab_clauses":"Clause Library","tab_contract_types":"Contract Types","clear":"Clear","load_error":"Failed to load template","created_toast":"Template created","create_error":"Failed to create template","deleted_toast":"Template deleted","delete_error":"Failed to delete template","import_start_error":"Failed to start import","open_imported_error":"Failed to open imported template","activated_toast":"Template activated","deactivated_toast":"Template deactivated","toggle_active_error":"Failed to update template status","list_title":"Contract Templates","list_description":"Reusable contract templates with dynamic variables","import_document":"Import Document","import_dialog_title":"Import a contract document","import_library_title":"Shared library template","import_library_description":"Reusable across customers. Appears in auto-fill matching. Use for a new standard contract shape.","import_signed_archive_title":"Signed archive (verbatim, no summarization)","import_signed_archive_description":"For an already-signed contract kept as-is. Preserves every paragraph exactly (a coverage check enforces no content loss); no variables or clause library. Pick the owning customer below.","import_customer_title":"Customer-specific (bespoke)","import_customer_description":"Tailored to one customer's signed contract. Kept out of the shared library and auto-fill matching, so the library stays clean.","import_customer_label":"Customer *","import_customer_placeholder":"Pick the customer…","import_fork_label":"Based on library template (optional)","import_fork_none":"None — standalone","import_fork_hint":"Links this bespoke template under a library parent for grouping. Content still comes from the uploaded file.","choose_file_import":"Choose file & import","new_template":"New Template","create_dialog_title":"Create Contract Template","template_name_placeholder":"Template name","purpose_contract":"Contract","purpose_amendment":"Amendment","need_another_type":"Need another type? Create it first, then return here.","create_new_type":"+ Create New Type","pricing_minimum_commitment":"Minimum Commitment","pricing_one_time_purchase":"One-time Purchase","pricing_monthly_bonus":"Monthly Bonus","pricing_payg":"PAYG","pricing_month_to_month":"Month-to-Month","non_billing_hint":"Non-billing templates skip pricing, invoices, and credit grants.","empty_title":"No templates yet","empty_hint":"Create a new template or import a DOCX file","filter_types":"Types","filter_customer":"Customer","filter_status":"Status","filter_search":"Search","all_types":"All types","types_selected":"{count, plural, =1 {# type} other {# types}}","statuses_selected":"{count, plural, =1 {# status} other {# statuses}}","all_customers":"All customers","select_customer":"Select customer","search_customers":"Search customers","no_customers_match":"No customers match.","show_forks":"Show forks","status_needs_fix":"Needs fix","status_in_use":"In use","status_unused":"Unused","status_active":"Active","status_inactive":"Inactive","billing_agreement":"Billing agreement","legal_agreement":"Legal agreement","th_name":"Name","th_type":"Type","th_pricing":"Pricing","th_variables":"Variables","th_version":"Version","th_usage":"Usage","th_status":"Status","collapse_forks":"Collapse custom versions","expand_forks":"Expand custom versions","invalid_count":"{count} invalid","badge_custom_version":"Custom version","badge_standard":"Standard","badge_customer_specific":"Customer-specific","badge_retired":"Retired · parent covers","badge_amendment":"Amendment","custom_versions":"{count, plural, =1 {# custom version} other {# custom versions}}","missing_parent":"Missing parent {id}","fork_of":"Fork of {name}","usage_contracts":"{count, plural, =1 {# contract} other {# contracts}}","toggle_active_title":"Click to activate / deactivate this template","unlinked_custom":"Unlinked custom templates","no_templates_match":"No templates match the current filters."},"template_editor":{"back":"Back","description_placeholder":"Description","active_toggle_title":"Active templates can be used to create contracts. Imports start inactive (draft) until you activate them.","fork":"Fork","fork_dialog_title":"Fork template","fork_name_placeholder":"Customer or custom version name","create_fork":"Create fork","preview":"Preview","ai_review_button":"AI Review","saving":"Saving...","saved_toast":"Template saved (v{version})","save_error":"Failed to save template","docx_regenerate_error":"Failed to regenerate contract documents","regenerate_description":"This template was opened from a contract clause edit flow. Regenerate the contract DOCX before marking it ready for signature.","regenerate_and_refresh":"Regenerate and refresh","fork_created_toast":"Template fork created","fork_error":"Failed to fork template","preview_failed":"{format} preview failed","css_generated_toast":"CSS generated","css_generation_failed":"CSS generation failed","editor_not_ready":"Editor is not ready","no_matching_text":"No matching text found in WYSIWYG","ai_review_fallback_label":"AI review","proposed_clause_created":"Clause \"{name}\" created","proposed_clause_error":"Failed to create proposed clause","review_found":"{count, plural, =1 {AI review found # item} other {AI review found # items}}","review_no_issues":"AI review found no issues","review_failed":"Template AI review failed","amend_add_input_first":"Add instructions or an attachment first","amend_generated":"{count, plural, =1 {AI amend generated # reviewable action} other {AI amend generated # reviewable actions}}","amend_no_changes":"AI amend found no changes","amend_failed":"AI amend generation failed","attachment_read_error":"Failed to read {name}","attachment_read_failed":"Failed to read attachment","pasted_images_attached":"{count, plural, =1 {Pasted image attached} other {# pasted images attached}}","rename_prompt":"Rename variable key \"{key}\" to:\n\nThis updates all references in the template and saves immediately.","rename_invalid_key":"Key must be letters, digits, or underscore and not start with a digit","renamed_toast":"Renamed \"{oldKey}\" → \"{newKey}\"","rename_failed":"Rename failed","text_edit_applied":"Text edit applied","text_deleted":"Text deleted","review_no_parameter_key":"AI review action has no parameter key","applied_parameter":"Applied {parameter}","clause_not_in_library":"Clause is not in the clause library","clause_enabled_toast":"Clause enabled: {name}","review_replace_with":"Replace with: {text}","review_delete_highlighted":"Delete the highlighted text.","review_set_value":"Set {target} to {value}","review_enable_clause":"Enable clause {key}","tab_vars":"Vars","tab_clauses":"Clauses","tab_ai_review":"AI Review","tab_ai_amend":"AI Amend","variables_title":"Variables","click_to_insert":"Click to insert","badge_used":"used","badge_unused":"unused","rename_key_title":"Rename internal key (updates all references)","no_label":"No label","edit_metadata":"Edit metadata","help_text_placeholder":"Help text for this field","customer_placeholder_placeholder":"Customer form placeholder","default_value_placeholder":"Default value","type_text":"text","type_number":"number","type_number_short":"num","type_date":"date","type_currency":"currency","type_currency_symbol":"$","type_enum":"enum","type_list":"list","source_customer":"customer","source_admin":"admin","source_select_title":"Who fills this value","system_binding_title":"Bind to system variable","no_system_binding":"No system binding","sub_fields":"Sub-fields","edit_sample_data":"Edit sample data","add_custom_field_title":"Add a custom field (system fields stay locked)","add_sub_field_title":"Add sub-field","system_field_locked":"System field — locked","custom_field_key_title":"Custom field key","field_placeholder":"field","badge_sys":"sys","insert_iter_field_title":"Insert {name}","place_cursor_in_loop":"Place cursor inside a loop block first","system_field_cannot_remove":"System field — cannot remove","remove_custom_field_title":"Remove custom field","no_sub_fields":"No sub-fields defined","system_fields_locked_hint":"System fields are locked; you can add custom fields.","sample_row_count":"{count, plural, =1 {# sample row} other {# sample rows}}","clause_blocks_title":"Clause blocks","clause_blocks_description":"These blocks come from the Clause Library. The switches here are the same controls shown in the WYSIWYG clause cards and now determine whether the clause appears in HTML/PDF/DOCX preview output.","proposed_clauses_title":"Proposed clauses from import","proposed_clauses_description":"Gemini found reusable clauses that are not in the library yet. Create them here after reviewing the generated text.","add_clause_placeholder":"Add clause...","add":"Add","no_clauses_linked":"No clauses are linked to this template.","remove_clause_title":"Remove clause from this template","param_count":"{count, plural, =1 {# param} other {# params}}","rule_count":"{count, plural, =1 {# rule} other {# rules}}","insert_clause_condition":"Insert clause condition","ai_review_title":"AI review","run":"Run","run_review_hint":"Run AI review to check placeholders, clauses, and inconsistent terms.","badge_review_fallback":"review","where_label":"Where:","suggested_action_label":"Suggested action:","action_type_label":"action: {type}","show_diff":"Show diff","ai_amend_title":"AI amend","amend_prompt_placeholder":"Customer proposal, redline notes, instructions, or paste screenshots here","generating":"Generating...","generate_diff":"Generate diff","amend_results_hint":"Generated actions appear in AI Review, where each diff can be highlighted and applied.","mode_source":"Source","insert_page_break_title":"Insert page break","loop":"Loop","row":"Row","col":"Col","header":"Header","merge":"Merge","split":"Split","page_break_marker":"Page break","generate_with_ai":"Generate with AI","rendering_preview":"Rendering {format} preview...","html_preview_title":"Template HTML Preview","pdf_preview_title":"Template PDF Preview","click_preview_to_render":"Click Preview to render","sample_data_label":"Sample Data:","add_sub_fields_first":"Add sub-fields first before editing sample data.","no_sample_data":"No sample data. Click \"+ Add Row\" to start.","add_row":"Add Row","generate_css_title":"Generate CSS with AI","requirements":"Requirements","css_prompt_placeholder":"Describe the visual style you want — e.g. 'Professional legal document with serif fonts, 1-inch margins, blue headers, clean table borders'","reference_images":"Reference images (optional)","reference_image_alt":"Reference {index}","upload_or_paste_hint":"Upload or paste (Ctrl+V in the text area) reference images","generate_css":"Generate CSS","clause_info":{"credit_rollover_title":"Credit Rollover","credit_rollover_description":"Unused credits roll to next cycle (D90 FIFO expiry)","auto_renewal_title":"Auto-Renewal","auto_renewal_description":"Auto-renew after term expires","termination_for_convenience_title":"Termination for Convenience","termination_for_convenience_description":"Either party can exit with notice","resale_title":"Resale Rights","resale_description":"Customer can resell API credits","zero_data_retention_title":"Zero Data Retention","zero_data_retention_description":"No data stored after processing","model_hosting_title":"Model Hosting","model_hosting_description":"Custom model hosting by Fish Audio","exhibit_sla_title":"Service Level Agreement","exhibit_sla_description":"SLA exhibit or schedule attached to the order form"}},"clause_library":{"description":"Reusable contract clauses for Additional Terms and Schedules","type_additional_term":"Additional Term","type_schedule":"Schedule","type_msa_section":"MSA Section","filter_additional_terms":"Additional Terms","filter_schedules":"Schedules","new_clause":"New Clause","create_dialog_title":"Create Clause","name_placeholder":"Clause name (e.g., Credit Rollover)","key_placeholder":"Key (e.g., credit_rollover)","created_toast":"Clause created","create_error":"Failed to create clause","deleted_toast":"Clause deleted","delete_error":"Failed to delete clause","load_error":"Failed to load clause","empty":"No clauses yet. They will be auto-seeded on first API boot.","th_key":"Key","th_parameters":"Parameters"},"clause_library_editor":{"saved_toast":"Clause saved (v{version})","save_error":"Failed to save clause","parameters_title":"Parameters","no_parameters":"No parameters. Add one if this clause needs configurable values.","parameter_fallback":"Parameter","advanced_edit_definitions":"Advanced: Edit parameter definitions","col_key":"Key","col_type":"Type","key_placeholder":"key","label_label":"Label","label_placeholder":"Label","default_label":"Default","default_placeholder":"Default value","insert_variable":"Insert variable","insert_loop":"Insert loop","insert_loop_title":"Insert loop — or use sidebar Loop button for specific list params","add_parameter":"Add parameter","param_type_text":"Text","param_type_number":"Number","param_type_currency":"Currency","param_type_boolean":"On/off","param_type_select":"Choice","param_type_list":"List","system_behavior_title":"System Behavior","system_behavior_hint":"Configure rules with safe controls. These save as structured behavior for billing and entitlement automation.","no_system_behavior":"No system behavior. Pure legal text only.","rule_title":"Rule {index}","rule_set_field":"Set contract setting: {setting} = {value}","rule_map_param":"Sync parameter to contract: {parameter} -> {setting}","rule_activate_cron":"Enable billing automation: {automation}","rule_enable_feature":"Enable team feature: {feature}","rule_unsupported":"Unsupported rule: {type}","missing_type":"missing type","unsupported_option":"Unsupported: {type}","unsupported_rule_warning":"This saved rule uses an unsupported type. It will be preserved unless removed or changed.","behavior_set_field":"Set contract setting","behavior_map_param":"Sync parameter to contract","behavior_activate_cron":"Enable billing automation","behavior_enable_feature":"Enable team feature","setting_term_auto_renew":"Auto-renewal","setting_notice_period_days":"Notice period days","setting_rollover_days":"Rollover expiry days","setting_overage_rate":"Overage rate","setting_concurrency_limit":"Concurrency limit","setting_zero_data_retention":"Zero data retention","setting_auto_recharge_enabled":"Auto-recharge","setting_pro_membership_enabled":"Pro membership","setting_pricing_model":"Pricing model","cron_credit_rollover":"Credit rollover expiration","feature_credit_rollover":"Credit rollover","feature_resale":"Resale billing","feature_zero_data_retention":"Zero data retention","feature_custom_concurrency":"Custom concurrency","feature_auto_recharge":"Auto-recharge","feature_pro_membership":"Pro membership","setting_label":"Setting","choose_setting":"Choose setting","parameter_label":"Parameter","choose_parameter":"Choose parameter","contract_setting_label":"Contract setting","automation_label":"Automation","choose_automation":"Choose automation","feature_label":"Feature","choose_feature":"Choose feature","saved_as":"Saved as {type}","condition_key_prompt":"Condition key:","choose_default":"Choose default","value_label":"Value","value_on":"On","value_off":"Off","value_not_set":"not set","unit_days":"days"},"import_job":{"dialog_title":"Importing contract template","processing_document":"Processing document…","step_extract":"Extract","step_review":"Review","step_repair":"Repair","step_ready":"Ready","status_failed":"Import failed","status_ready":"Import ready","status_ready_findings":"{count, plural, =1 {Import ready — # finding} other {Import ready — # findings}}","status_importing":"Importing…","status_importing_stage":"Importing… {status}","load_error":"Failed to load import job","unknown_error":"Unknown error","reopen_title":"Reopen import progress","view":"view","dismiss":"Dismiss","autorepair_applied":"Auto-repair applied","autorepair_skipped":"Auto-repair skipped","autorepair_no_changes":"Auto-repair made no changes","remaining_issues":"{count, plural, =1 {# mechanical issue remaining} other {# mechanical issues remaining}}","repair_note":"Note: {error}","review_findings_title":"Review findings ({count})","no_findings":"No findings — the draft looks clean.","finding_fallback":"Finding","keep_in_background":"Keep in background","open_draft":"Open draft in editor","run_in_background":"Run in background","status_gate_failed":"{count, plural, =1 {Draft differs from the signed paper — # violation} other {Draft differs from the signed paper — # violations}}","gate":{"failed_title":"{count, plural, =1 {The draft differs from the signed paper in # place} other {The draft differs from the signed paper in # places}}","passed_title":"The draft mirrors the signed paper — every source paragraph, heading and rate survived.","failed_next":"The template was saved as a DRAFT. Fix these in the editor (the findings below say exactly what is missing) before creating a contract from it — a contract generated now would not match the paper.","code_missing_paragraph":"{count, plural, =1 {# paragraph of the paper is missing from the draft} other {# paragraphs of the paper are missing from the draft}}","code_missing_heading":"{count, plural, =1 {# exhibit/schedule heading is missing} other {# exhibit/schedule headings are missing}}","code_pricing_tier_open_ended":"{count, plural, =1 {# pricing tier has no upper bound where the paper sets one} other {# pricing tiers have no upper bound where the paper sets one}}","code_strict_render_failed":"The draft does not render yet (a referenced variable is undefined)","code_entity_mismatch":"{count, plural, =1 {# party/entity detail differs from the paper} other {# party/entity details differ from the paper}}","code_email_mismatch":"{count, plural, =1 {# email address differs from the paper} other {# email addresses differ from the paper}}","code_other":"{count} × {code}","use_anyway_tip":"This draft differs from the signed paper — review and fix it in the editor before creating contracts from it.","code_invented_legal_entity":"{count, plural, =1 {# party name is not a registered Fish Audio signing entity} other {# party names are not registered Fish Audio signing entities}}"},"autorepair_title":"What auto-repair did","autorepair_restored":"{count, plural, =1 {Put # lost paragraph of the paper back verbatim} other {Put # lost paragraphs of the paper back verbatim}}","autorepair_passes":"{count, plural, =1 {# model repair pass} other {# model repair passes}} — {remaining} mechanical issues remaining","autorepair_narrative_show":"Show the model's own change log","autorepair_narrative_hide":"Hide the model's change log","findings_intro":"These are defects of the mined draft, not steps for you here — each one is fixed by editing the draft in the template editor (or resolved by a re-import). Nothing needs ticking.","group_title":"{name} ({count})","group_expand":"show","group_collapse":"hide","group":{"fidelity":"Draft ≠ signed paper — text the paper has that the draft lost or changed. Fix: restore it in the draft HTML.","placeholders":"The draft references a variable that does not exist — it would render blank. Fix: define the variable or remove the reference.","structure":"Contract-type / variable structure problems the engine cannot accept as-is.","source_consistency":"The draft renders a value (price, party, date) that does not match the signed paper.","parameter_adjustment":"AI legal/commercial review — suggested parameter changes.","clause_text_change":"AI legal/commercial review — suggested wording changes.","missing_clause":"AI legal/commercial review — clause the paper implies but the draft lacks.","inconsistency":"AI legal/commercial review — internal inconsistencies."}},"parent_diff":{"compare_button":"Compare with parent","dialog_title":"Compare with parent template","dialog_description":"What this customer's version changed vs the library template it was based on. When the parent has evolved to cover these, retire this bespoke copy — it stays for existing contracts but disappears from pickers for new ones.","computing_diff":"Computing diff…","load_error":"Failed to load diff","identical_badge":"Identical to parent","wording_changes":"{count, plural, =1 {# wording change} other {# wording changes}}","clauses_added":"Clauses added","clauses_removed":"Clauses removed","variables_added":"Variables added","variables_removed":"Variables removed","identical_note":"This bespoke template no longer differs from its parent — safe to retire.","retire_note":"Retiring never deletes: existing contracts keep rendering from this template.","unretire_button":"Un-retire (make selectable)","retire_button":"Retire — parent covers this","retired_toast":"Retired — the parent template now covers this customer.","restored_toast":"Restored — this bespoke template is selectable again.","update_error":"Update failed"},"overdraft":{"title":"Overdraft & credit grant","description":"Post-paid debt breaker: when unpaid usage exceeds the cap, the team's 402 bypass is suspended and requests are rejected until an operator re-enables it here.","suspended_banner":"402 bypass SUSPENDED — this team is being rejected like a prepaid user.","suspended_at":"Suspended at {date}","reenable_button":"Re-enable bypass","reenable_dialog_title":"Re-enable the 402 bypass?","reenable_dialog_description":"The team will immediately be able to run post-paid usage again, up to the effective debt cap. Make sure the outstanding balance situation is resolved (or the cap is raised) first — this is the only way to clear a breaker trip.","multiplier_label":"Overdraft cap multiplier","multiplier_helper":"Debt cap = multiplier × monthly volume (commit or last cycle; $1000 floor). 0 disables the breaker.","override_label":"Overdraft cap override ($)","override_helper":"Absolute cap; overrides the multiplier when > 0.","timing_label":"Credit grant timing","timing_on_invoice":"Default (standard rules)","timing_on_payment":"On payment received","timing_on_issue":"When invoice is created — even if unpaid","timing_on_issue_warning":"Credits are delivered as soon as the invoice exists — before the customer pays. If the invoice is never paid, the credits have already been given.","timing_on_send":"When invoice is sent — even if unpaid","timing_on_send_warning":"Credits are delivered when the invoice is sent to the customer — before payment. If it is never paid, the credits have already been given. (Mercury “Don't send” deliveries are invisible to us; credits then arrive on payment.)","timing_effective_created":"For this contract: credits are delivered when the invoice is created.","timing_effective_paid":"For this contract: credits are delivered when the invoice is paid.","timing_effective_created_unpaid":"For this contract: credits are delivered the moment the invoice is created, before payment.","timing_effective_sent_unpaid":"For this contract: credits are delivered when the invoice is sent to the customer, before payment.","timing_effective_prepaid_safety":"For this contract: credits are delivered when the invoice is PAID — prepaid safety for one-time, due-upon-receipt deals.","timing_helper":"When monthly included credits are granted to the team.","current_reference_volume":"Current reference volume: {amount}","effective_debt_cap":"Effective debt cap: {value}","disabled_no_cap":"disabled (no cap)","force_suspend_button":"Force suspend bypass","force_suspend_dialog_title":"Force-suspend the 402 bypass?","force_suspend_dialog_description":"The team will immediately be rejected like a prepaid user (402) on every request that would incur post-paid usage. Only a manual re-enable here clears it.","suspend_action":"Suspend bypass","save_settings":"Save settings","toast_settings_updated":"Overdraft settings updated","toast_force_suspended":"402 bypass force-suspended","toast_reenabled":"402 bypass re-enabled — team can incur post-paid usage again","allow_card_label":"Credit card payments","allow_card_helper":"Off: bank transfer only (ACH / wire to the virtual account). On: new Mercury invoices also offer card payment — enable only when the signed contract allows it. Already-sent invoices are unchanged.","allow_card_fee_note":"Card fees are absorbed by us at 0% surcharge — set a surcharge % to pass them on.","surcharge_label":"Card surcharge %","surcharge_helper":"0% = single invoice with card enabled (we absorb the card fees). Above 0% = two invoices are sent: a bank-only one at face value plus a card-enabled \"-CC\" one with the surcharge added — the customer pays one, the other cancels automatically.","surcharge_dual_note":"Dual-invoice mode: every Mercury send creates a bank-only invoice + a card invoice at +{pct}%."},"quality_guard":{"title":"Quality guard","description":"Inference-side filter that suppresses most hallucinated or noisy output, at the cost of slightly higher latency. This is an operational switch — it can be changed at any time while the contract is live.","switch_label":"Quality guard","switch_description":"Enterprise contracts default to ON. Turning it off trades output quality for lower latency.","inactive_hint":"This contract is no longer active, so the quality guard can no longer be changed.","toast_enabled":"Quality guard enabled","toast_disabled":"Quality guard disabled","toast_error":"Failed to update the quality guard"},"manual_usage":{"title":"Manual usage (self-hosted / off-platform)","description":"Off-platform usage counts toward the monthly commitment and overage. With reporting mode \"required\", the monthly invoice is held until records are entered or the deadline passes.","enable_hint":"Off-platform (self-hosted) usage reporting is disabled for this contract. Set the mode to Required to record usage manually.","reporting_mode_label":"Reporting mode","mode_not_required":"Not required","mode_required":"Required (hold invoice)","deadline_days_label":"Reporting deadline (days after period end)","deadline_policy_label":"Deadline policy","policy_bill_and_carry":"Bill anyway, late usage rides next invoice","policy_hold_and_escalate":"Keep holding and escalate","generate_invoice_now":"Generate cycle invoice now","save_settings":"Save settings","records_title":"Usage records","records_empty":"No off-platform usage recorded for this contract yet.","badge_billed_prior":"Billed (prior period)","badge_billed":"Billed","badge_unbilled":"Unbilled","record_form_title":"Record usage for a period","period_start_label":"Period start","period_end_label":"Period end","amount_label":"Amount (USD)","amount_placeholder":"e.g. 3200.00","description_label":"Description","description_placeholder":"Self-hosted cluster usage","add_record":"Add record","toast_settings_updated":"Manual usage settings updated","error_fields_required":"Period start, period end and amount are required","toast_record_added":"Usage record added","toast_record_deleted":"Usage record deleted","toast_invoice_generated":"Cycle invoice generated — total ${total}","window_awaiting":"Awaiting entry","window_current":"Current period","custom_period_toggle":"Custom period (advanced)","custom_period_hint":"For a period that was already invoiced, the record is not lost — it bills on the NEXT invoice as a prior-period line.","add_record_custom":"Add for custom period"},"invoice_holds":{"title":"Invoices awaiting manual usage entry","description":"These contracts require off-platform usage to be recorded before the cycle invoice goes out. Enter the usage on the contract page, then generate — or wait for the deadline policy.","deadline_line":"Deadline {date} · {policy} · {count, plural, =1 {# record} other {# records}}, ${total}","policy_holds":"holds until released","policy_bills":"bills automatically after deadline","badge_past_deadline":"Past deadline","badge_awaiting":"Awaiting entry","enter_usage":"Enter usage","generate_now":"Generate now","toast_invoice_generated":"Cycle invoice generated — total ${total}","generate_confirm_title":"Generate the cycle invoice now?","generate_confirm_with_usage":"Releases the hold and bills immediately, including {count} manual usage record(s) totaling ${total}.","generate_confirm_no_usage":"No manual usage is recorded for this period — the invoice will bill WITHOUT the off-platform usage (late entries carry to the next invoice). Confirm the reports really are zero before generating."},"clause_card":{"title":"Clauses","manual_source":"Manual","btn_template":"Template","loading_linked":"Loading linked clauses","type_additional_term":"Additional term","type_schedule":"Schedule","type_msa_section":"MSA section","parameter_count":"{count, plural, =1 {# parameter} other {# parameters}}","rule_count":"{count, plural, =1 {# rule} other {# rules}}","badge_enabled":"Enabled","badge_linked":"Linked","badge_default":"Default","btn_edit_text":"Edit text","edit_dialog_title":"Edit clause text for this contract?","edit_dialog_description":"This opens a clause text editor. If this contract still uses a standard template, a customer-specific fork will be created and assigned first so the global template stays unchanged. After saving, regenerate the DOCX before marking it ready for signature.","btn_open_editor":"Open clause editor","no_clauses":"No clauses linked.","label_additional_terms":"Additional terms","label_schedules":"Schedules","btn_save_params":"Save clause parameters","toast_params_saved":"Clause parameters saved"},"clause_params":{"credit_rollover":"Credit Rollover","overage":"Overage","auto_renewal":"Auto-Renewal","resale":"Resale Authorization","termination_for_convenience":"Termination for Convenience","end_customer_access":"End Customer Access","model_hosting":"Model Hosting","price_lock":"Price Lock","exhibit_sla":"SLA Exhibit","schedule_end_customer_access":"End Customer Access Schedule","zero_data_retention":"Zero Data Retention","rollover_days":"Rollover Expiry Days","rollover_expiry_text":"Rollover Expiry Policy","rollover_transfer_text":"Transfer Policy","notice_days":"Notice Period (days)","termination_msa_sections":"MSA Section References","resale_msa_sections":"MSA Section References","minimum_resale_price":"Minimum Resale Price ($/M)","product_name":"Product Name","overage_rate":"Overage Rate ($/M)","uptime_target":"Uptime Target","pricing_tiers":"Pricing Tiers"},"clause_editor":{"title_named":"Edit {name}","title":"Edit clause text","contract_fork_note":"Saving updates the customer template fork assigned to this contract.","amendment_fork_note":"This text is stored on a customer template fork and applies only after the amendment is signed.","mode_wysiwyg":"WYSIWYG","tool_bold":"Bold","tool_italic":"Italic","tool_underline":"Underline","btn_save_text":"Save text","btn_save_clause_text":"Save clause text","error_load_template_first":"Load the linked template before editing clause text","toast_fork_created":"Customer template fork created and assigned","toast_text_saved":"Clause text saved to customer template","regenerate_dialog_title":"Regenerate contract documents?","regenerate_dialog_description":"Clause text changed on the customer template fork. Regenerate the DOCX before marking this version ready for signature.","btn_later":"Later","btn_regenerate_docx":"Regenerate DOCX","toast_docx_regenerated":"Contract DOCX regenerated"},"signature":{"block_title":"Signature","manual_packet_sent":"Manual packet sent · {date}","manual_mode":"Manual signature mode","no_envelope":"No envelope sent","btn_send_docusign":"Send DocuSign","btn_manual_send":"Manual send","btn_sync":"Sync","completed_at":"Completed {date}","toast_docusign_sent":"DocuSign envelope sent.","toast_manual_marked":"Manual signature packet marked as sent.","toast_docusign_synced":"DocuSign status synced.","btn_open_redline":"Open redline record","label_attach_executed":"Attach executed PDF evidence","btn_attach_executed":"Attach executed PDF","label_redline":"Counterparty redline record","btn_attach_redline":"Attach counterparty redline","error_choose_redline":"Choose a redline document first.","toast_redline_uploaded":"Redline uploaded.","redline_history_title":"Redline record history","redline_fallback_name":"Counterparty redline","redline_status_revision":"Status {status} · Revision {revision}","redline_based_on":"Based on {key}","customer_requested":"Customer requested signing · {date} — send the packet, then attach the executed PDF"},"ai_review":{"sheet_title":"AI review","sheet_description":"Cross-contract review results for this customer.","running":"AI review is running.","open_issues":"Open issues","none_unresolved":"No unresolved AI review issues.","sources":"Sources: {list}","btn_dismiss":"Dismiss","btn_accept":"Accept resolution","resolved_count":"Resolved ({count})","dismissed_count":"Dismissed ({count})","fallback_issue":"Review issue","toast_started":"AI review started.","toast_dismissed":"AI review issue dismissed.","toast_resolved":"AI review issue marked as resolved.","error_no_customer":"This contract is not linked to a customer."},"amendments":{"packets_title":"Published amendment packets","status_ready_for_signature":"Published for signature","status_sent_for_signature":"Sent for signature","status_signed":"Signed","status_signed_needs_start_date_review":"Signed - review start date","status_active":"Applied","status_fulfilled":"Fulfilled","status_unknown":"Unknown","published_at":"Published {date}","generated_key":"Generated: {key}","signed_key":"Signed: {key}","docusign_ref":"DocuSign: {value}","btn_open_review":"Open published review","btn_copy_review_url":"Copy published URL","toast_review_url_copied":"Published amendment review URL copied","btn_sync":"Sync amendment","toast_synced":"Amendment DocuSign status synced.","empty":"No published amendment packets yet","btn_open_dialog":"Approve & publish amendment","dialog_title":"Approve & publish amendment packet","label_effective_date":"Effective date","suggested_billing_day":"Suggested: align to the billing day (this contract bills on day {day} of the month)","label_template":"Amendment template","option_default_packet":"Default amendment packet","label_select_changes":"Select changes","non_billing_hidden":"Billing fields are hidden for this non-billing agreement.","current_value":"Current: {value}","placeholder_new_value":"New value","modify_clause_text":"Modify clause text","no_clauses_linked":"No clauses are linked to this contract template.","badge_modified":"Modified","no_changes":"No changes","fork_note":"Creates a customer template fork and applies it only after the amendment is signed.","btn_approve_publish":"Approve & publish","error_load_templates":"Failed to load amendment templates","error_effective_date_required":"Effective date is required","error_select_change":"Select at least one field or clause text to amend","error_load_template_first":"Load the linked contract template before editing clauses","error_edit_one_clause":"Edit at least one clause before generating the amendment","error_enter_values":"Enter new values for selected fields","error_enter_changes":"Enter new values for selected changes","error_clause_unlinked":"A selected clause is no longer linked to this contract","toast_published":"Amendment packet approved and published","toast_approved":"Amendment packet approved","toast_clause_after_signature":"Clause text amendment will apply after signature","error_create":"Failed to create amendment","fields":{"monthly_commit":"Monthly commit","included_credits_value":"Included credits value","per_unit_rate":"Per unit rate (TTS, $/1M)","term_duration_months":"Term duration (months)","end_date":"End date","overage_premium_pct":"Overage premium %","discount_percent":"Discount %","concurrency_limit":"Concurrency limit","zero_data_retention":"Zero data retention","rollover_days":"Rollover days","data_region":"Data region","logging_policy":"Logging policy","sub_processors":"Sub-processors","payment_term":"Payment term","payment_term_days":"Payment term days","billing_frequency":"Billing frequency","term_auto_renew":"Auto-renew","notice_period_days":"Notice period (days)","quality_guard":"Quality guard","revenue_share_active":"Revenue share active","revenue_share_rate_per_million":"Revenue share rate / M","retention_policy":"Retention policy","enabled_features":"Enabled features","billing_anchor_day":"Billing anchor day (1-31)","one_time_amount":"One-time amount ($)","one_time_credits_value":"One-time credits value ($)"},"btn_apply":"Apply amendment","apply_dialog_title":"Apply amendment","apply_dialog_desc":"Records the signed changes on the contract and syncs team overrides (pricing rows, concurrency, flags). Use for amendments signed outside DocuSign, or for record alignment with the signed original.","apply_effective_line":"Contractual effective date: {date}","apply_future_effective_note":"The effective date is in the future. With signed evidence attached, the amendment auto-applies on that date — you can simply wait. Tick 'Apply now' only to bring it forward: contract fields update immediately, while billing still follows the contractual date.","apply_no_signed_pdf_note":"No signed PDF is attached to this amendment yet. Attach the customer-signed PDF first so the execution evidence lives with the record.","apply_note_label":"Attestation note (required)","apply_note_placeholder":"e.g. Signed Amendment No. 2 received by email on 2026-08-01; PDF attached.","apply_note_hint":"At least 8 characters. Cite the signed source (which document, where it lives). Stored on the amendment and audited.","toast_applied":"Amendment applied to the contract","btn_attach_signed":"Attach signed PDF","toast_signed_uploaded":"Signed amendment PDF attached","btn_download_signed":"Download signed PDF","btn_download_draft":"Download draft DOCX","manual_note":"Note: {note}","import_btn":"Import from signed PDF","import_hint":"Upload the customer-signed amendment — the extracted changes pre-fill this form for your review, and the PDF is attached to the amendment on create. Nothing is saved until you approve.","import_summary":"Extractor summary: {summary}","import_unmapped_title":"Seen in the document but NOT pre-filled — handle manually:","import_toast_prefilled":"Pre-filled {count} field(s) from the signed PDF — review before approving","import_toast_nothing":"No mappable field changes found in the document — check the findings list","import_error":"Failed to analyze the amendment document","import_toast_pdf_attached":"Signed PDF attached to the new amendment","import_toast_pdf_attach_failed":"Amendment created, but attaching the signed PDF failed — attach it from the amendment card","import_apply_now":"Already executed — apply immediately after creating","import_apply_note":"Signed amendment imported: {name}","import_toast_applied":"Amendment applied — the new terms are in force","import_toast_apply_failed":"Amendment created with evidence, but APPLY failed — apply it from the packet row","import_toast_not_applied":"Amendment created but NOT applied yet — billing ignores it until you apply","badge_not_in_force":"NOT IN FORCE","btn_void":"Void","void_dialog_title":"Void this amendment?","void_dialog_desc":"Terminal and audited: the customer review link stops working and a completed DocuSign envelope will no longer apply the fields. Applied amendments cannot be voided.","void_note_placeholder":"Why is it voided? (min 8 chars, audited)","toast_voided":"Amendment voided","toast_void_failed":"Failed to void the amendment","amend_tiers":"Amend per-model pricing tiers (full replacement)","amend_tiers_hint":"Rows replace the ENTIRE tier table. backend 'all' = catch-all chain; 'end' = graduated segment boundary in units (blank = open-ended); rate = $ per 1M units.","tier_backend":"backend (all)","tier_end":"end (units, optional)","tier_rate":"$/M","tier_add_row":"Add tier row","error_tier_rows":"Enter at least one tier row with a rate","import_toast_scheduled":"Amendment recorded with evidence — it will auto-apply on its effective date","apply_record_alignment":"Record alignment (authority = the already-signed original; no separate signature)","apply_allow_early":"Apply now even if the effective date is in the future","apply_evidence_required":"Attach the signed PDF first, or tick record alignment","apply_future_effective_hint":"Effective date is in the future — it will auto-apply on that date, or tick 'apply now' to override","toast_apply_failed":"Failed to apply the amendment","import_sig_signed":"Execution evidence detected — the PDF will be attached as signed proof. ({note})","import_sig_unsigned":"No execution evidence — signature blocks look unsigned ({note}). The amendment will be created AWAITING SIGNATURE; send the customer the review link. The file will NOT be attached as proof.","import_sig_unknown":"Could not judge execution status ({note}). Defaulting to the signature flow — the file will NOT be attached as proof unless you verify it below.","import_force_signed":"Treat as signed (I verified the document manually)","import_toast_unsigned_created":"Amendment created awaiting signature — send the customer the review link to sign","import_replacement_title":"This looks bigger than an amendment","import_replacement_advisory":"The document rewrites the agreement beyond the amendable parameters ({reason}). Recommended: import it as a NEW contract and schedule it to replace the current one on its effective date (the old contract terminates automatically; unused credits carry over) — instead of squeezing it into an amendment.","import_replacement_cta":"Go to contract import"},"effective_behaviors":{"title":"Effective behaviors","title_compact":"Effective settings","description":"Merged settings from active customer agreements.","loading":"Loading effective settings","empty":"No effective behavior settings were found for this customer.","col_setting":"Setting","col_value":"Value","col_source":"Source","aria_explain":"Explain {name}","help_zdr":"Controls whether the customer account is configured for zero data retention.","help_logging":"Controls how much request or usage detail may be retained for this customer.","help_region":"Controls the expected data or service region for enterprise processing.","help_rollover":"Controls whether unused enterprise credits carry forward and when they expire.","help_pricing":"Controls customer-specific enterprise pricing behavior.","help_default":"Merged from this customer's active enterprise contracts using the configured behavior priorities.","count":"{count} settings","col_actions":"Actions","provenance_paper":"In contract","provenance_amendment":"Amended {date}","provenance_operational":"Operator-set","provenance_operational_dated":"Operator-set {date}","provenance_default":"Default (not in contract)","provenance_paper_help":"The signed paper stipulates this value — changes go through an amendment.","provenance_operational_help":"Set by an operator; the contract paper does not pin this value.","provenance_default_help":"Untouched system/template default; the contract paper does not stipulate it.","aria_edit":"Edit {name}","action_amend":"Amend","edit_title":"Edit {name}","edit_description":"Operational setting — the paper does not pin this value. Saves to the source contract and syncs the team entitlement immediately.","edit_invalid_number":"Enter a positive whole number.","toast_updated":"Setting updated.","toast_update_failed":"Update failed — check permissions and try again.","edit_paper_pinned":"The signed paper pins this value — change it via an amendment, or a senior can override on the contract page.","edit_paper_pinned_confirm":"Senior confirmation required — use the contract page's operational settings card to override.","pin_btn_pinned":"Paper-locked — click to unlock (senior, audited)","pin_btn_unpinned":"Not locked — click to lock as paper-stipulated","pin_btn_amendment":"Locked by a signed amendment — cannot be unlocked","pin_btn_aria":"Toggle paper lock for {name}"},"onboarding":{"status_labels":{"open":"open","completed":"completed","revoked":"revoked","expired":"expired"},"account_mode_labels":{"auto_create_or_bind":"Auto-create or bind","existing_account":"Existing account only","manual_registration":"Manual registration"},"groups":{"company":"Company","signer":"Signer","billing":"Billing","legal_notice":"Legal Notice","technical":"Technical","usage":"Usage","additional":"Additional Information"},"binding_labels":{"company_legal_name":"Company legal name","company_legal_address":"Company legal address","signer_name":"Authorized signer name","signer_title":"Authorized signer title","signer_email":"Authorized signer email","billing_contact_name":"Billing contact","billing_email":"Billing email","billing_address_line1":"Billing address line 1","billing_address_line2":"Billing address line 2","billing_city_state_zip":"Billing city/state/ZIP","legal_notice_email":"Legal notice email","use_case":"Use case"},"field_help":{"company_legal_name":"Legal company name that will be rendered into the selected contract templates.","company_name_caps":"Uppercase legal company name. This is usually derived from the company name.","company_legal_address":"Registered or business address used by legal notices and signature blocks.","signer_name":"Person who will sign the generated agreement.","signer_title":"Signer title shown in the signature block.","signer_email":"Signer email used for review/signing metadata.","billing_contact_name":"Full name of the billing or accounts-payable contact, not a phone number.","billing_email":"Invoice delivery email.","billing_address_line1":"Street address for the billing account or accounts payable team.","billing_city_state_zip":"City, state or province, postal code, and country for the billing address.","legal_notice_email":"Legal notice email, usually a legal or contract operations inbox.","contact_email":"Operational contact for onboarding and support.","use_case":"Customer-provided use case that helps determine legal/security handling.","estimated_monthly_characters":"Customer estimate for API usage sizing.","default_customer_variable":"Customer-sourced variable from the selected template.","with_example":"{help} Example: {sample}"},"placeholders":{"billing_contact_example":"Jane Doe, AP Manager"},"variable_editor":{"add_row":"Add row","pricing_tiers_help":"<code>billing_scope</code> decides system behavior. <code>api_usage</code> rows sync API price overrides and usage invoices through <code>product</code>, <code>backend</code>, <code>price_per_million</code>, and <code>end</code>. Platform subscription rows are contract display rows in this table; team seats, subscription level, and platform entitlements are not configured here yet. <code>service_name</code>, <code>rate</code>, <code>unit</code>, and <code>fee_description</code> are contract display fields.","allowed_values":"Allowed values","pricing_warnings_title":"Pricing mapping warnings","row_warning":"Row {row}: {messages}","no_rows":"No rows yet.","remove":"Remove","value_column":"Value","enum_blank":"(blank)","enum_unsupported":"Unsupported: {label}"},"create_title":"Create onboarding link","create_description":"Email is the enterprise primary account. A pre-created account can be password-reset by the customer when they submit the form.","primary_email":"Primary email","account_mode":"Account mode","expires_in_days":"Expires in days","customer":"Customer","select_customer":"Select customer","search_customers":"Search customers","no_customers_match":"No customers match.","no_customer_yet":"No customer yet","template_package":"Template package","template_package_help":"Choose the exact templates that will be instantiated after the customer submits onboarding. Use search/type filters when the template library grows.","search_templates":"Search templates","all_types":"All types","selected_only":"Selected only","template_table":{"template":"Template","type":"Type","behavior":"Behavior"},"template_name_version":"{name} (v{version})","no_description":"No description","billing_credits":"Billing / credits","legal_only":"Legal only","no_templates_match":"No templates match the current filters.","no_templates_selected":"No templates selected.","template_package_limit":"Select up to {count} templates per onboarding package.","template_parameters":"Template parameters","preview":"Preview","monthly_commit":"Monthly commit ($)","per_unit_rate":"Per unit rate (TTS, $/1M)","term_months":"Term (months)","non_billing_note":"Non-billing agreement. Pricing and invoice fields are not collected for this template.","precreate_title":"Create Fish Audio account now","precreate_description":"Useful when the contract needs a primary account before the customer has signed in.","dpa_included_title":"DPA template included","dpa_included_description":"The onboarding link will instantiate the selected Data Processing Agreement template with the rest of the package.","fill_now_title":"Fill onboarding form now","fill_now_description":"Submit the customer information immediately after creating the link.","fill_now_empty":"Select a template package first. The fields shown here are derived from customer-sourced variables in the selected templates.","reused_by_variables":"{count, plural, one {Reused by # template variable.} other {Reused by # template variables.}}","internal_notes":"Internal notes","notes_placeholder":"Sales context, requested DPA, reseller use case...","copy":"Copy","create_link":"Create link","links_description":"Active, completed, expired, and revoked onboarding links.","no_links":"No onboarding links yet.","table":{"email":"Email","status":"Status","customer_contract":"Customer / Contract","expires":"Expires","actions":"Actions"},"revoke":"Revoke","toast_form_submitted":"Onboarding form submitted.","toast_link_created":"Onboarding link created.","toast_copy_failed":"Link created, but copying to clipboard failed.","toast_link_revoked":"Onboarding link revoked.","toast_revoke_failed":"Failed to revoke link","toast_preview_failed":"Template preview failed.","error_token_missing":"Onboarding token was not returned.","preview_title":"Preview: {name}","preview_iframe_title":"Template preview","no_preview":"No preview generated.","no_templates_match_hidden":"{hidden, plural, =1 {# template is} other {# templates are}} not listed here (inactive or customer-specific forks) — manage them in the Templates tab.","signed_divert_title":"Already have a signed contract?","signed_divert_body":"This page creates pre-signature onboarding links. For paper that is already signed, import the PDF instead — the system extracts everything.","signed_divert_cta":"Import signed contract","rebind_title":"Rebind customer to a different account?","rebind_warning":"This customer's usage metering and billing follow its bound team. Continuing will point the customer at the new email once the link is claimed; the current binding stays active until then. Only proceed if you are deliberately moving this customer to a different account.","rebind_cancel":"Keep current binding","rebind_confirm":"Rebind customer"},"settings":{"behavior_priority":{"title":"Behavior priorities","description":"Resolve conflicts when multiple active contracts set the same runtime behavior.","loading":"Loading priority rules","empty":"No behavior priority rules found.","toast_updated":"Behavior priority updated","toast_update_error":"Failed to update behavior priority","category_hint":"This is the conflict-resolution bucket. Contract types assigned to this bucket are ordered below, and only the selected behavior keys use this bucket.","type_order_label":"Type priority order","type_order_help":"When multiple active contracts set the same behavior key in this category, the first contract type in this list wins.","aria_move_earlier":"Move type earlier","aria_move_later":"Move type later","aria_remove_type":"Remove type","add_type":"Add type","btn_add":"Add","behavior_keys_label":"Behavior keys","behavior_keys_help":"Only these behavior keys are resolved by this priority category. This replaces the old comma-separated input so Walter can see the valid key list.","btn_add_custom":"Add custom","custom_key_help":"Custom behavior key already stored in this priority category.","fields":{"zero_data_retention":{"label":"Zero data retention","help":"Whether Enterprise runtime storage/logging should be disabled."},"logging_policy":{"label":"Logging policy","help":"The contractual logging policy used by support and runtime systems."},"data_region":{"label":"Data region","help":"Contractual region or residency requirement."},"sub_processors":{"label":"Sub-processors","help":"Sub-processor restrictions or disclosure obligations."},"pricing_model":{"label":"Pricing model","help":"Minimum commit, PAYG, one-time purchase, or non-billing mode."},"per_unit_rate":{"label":"Per-unit rate","help":"Default API price per configured unit."},"monthly_commit":{"label":"Monthly commit","help":"Recurring minimum spend for the billing period."},"included_credits_value":{"label":"Included credits","help":"Credits granted at the start of the period."},"rollover_days":{"label":"Rollover days","help":"FIFO credit expiry window from the contract terms."},"overage_rate":{"label":"Overage rate","help":"Rate used when usage exceeds included credits or commit."},"term_auto_renew":{"label":"Auto-renewal","help":"Whether the contract renews automatically."},"notice_period_days":{"label":"Notice period","help":"Days required for non-renewal or termination notice."},"concurrency_limit":{"label":"Concurrency limit","help":"Enterprise runtime concurrency entitlement."},"pro_membership_enabled":{"label":"Pro membership","help":"Whether the primary enterprise account receives Pro membership."},"auto_recharge_enabled":{"label":"Auto-recharge","help":"Whether account recharge automation should be enabled."}}},"contract_types":{"title":"Contract types","description":"Dynamic agreement types used by templates, contracts, billing, and behavior priority rules.","toast_updated":"Contract type updated","toast_update_error":"Failed to update type","toast_deleted":"Contract type deleted","toast_delete_error":"Failed to delete type","toast_required":"Contract type key and label are required","toast_created":"Contract type created","toast_create_error":"Failed to create type","system_delete_forbidden":"System contract types cannot be deleted","confirm_delete":"Delete contract type \"{label}\"? This only works when no template or contract references it.","delete_hint":"Delete this type if it is unused","billing_on":"Billing","billing_off":"Non-billing","billing_row_hint":"Billing types create contracts that can generate invoices, grant credits, and configure account entitlements. Non-billing types are legal or operational documents only.","badge_system":"System","label_label":"Label","label_key":"Key","label_placeholder":"Security Addendum","billing_label":"Billing","billing_help":"Turn this on only for agreements that should affect invoices, credits, or account entitlements. MSA/DPA/NDA-style legal documents normally leave it off.","switch_on":"On","switch_off":"Off","priority_category_label":"Priority category","priority_category_help":"Controls which behavior priority table resolves conflicts for this contract type. For example, DPA belongs to Data & Privacy while Order Form belongs to Pricing & Billing.","btn_add_type":"Add type","th_description":"Description","th_billing_hint":"Billing means this type participates in invoice generation, credits, and entitlement configuration.","th_priority_hint":"Used by behavior priorities to decide which active contract wins when multiple contracts set the same behavior key.","categories":{"pricing":"Pricing & Billing","data_privacy":"Data & Privacy","service":"Service & Features"}}},"usage_card":{"topup_locked":"Billing runs on invoices for your enterprise contract — top-ups are disabled."},"payment_settings":{"title":"Payment collection","description":"How invoices for this contract are collected. Operational — editable while the contract is active.","method_label":"Payment method","mercury_hint":"Invoices stay internal until you click “Send via Mercury” on the invoice; Mercury emails the customer and payments reconcile automatically.","prepaid_hint":"The customer tops up their own wallet in the platform; no invoices are ever generated for this contract.","cc_emails_label":"Invoice cc recipients","cc_email_placeholder":"billing@customer.com","cc_emails_hint":"ar@fish.audio is always cc'd; add customer-side recipients here.","cc_email_invalid":"Enter a valid email address","cc_email_remove":"Remove","save":"Save payment settings","saved_toast":"Payment settings saved","save_error":"Failed to save payment settings"},"mercury_send_dialog":{"title":"Send via Mercury — review","description":"Review every detail below. Sending is final: the customer is emailed immediately.","recipient":"Recipient","no_email":"No billing email on file","cc_label":"cc","invoice_number":"Invoice number","period":"Billing period","due_date":"Due date","lines_title":"What the customer will see","line_commitment":"Minimum commitment","line_overage":"Overage fee — usage above included allowance","line_single":"Enterprise services (single line)","total":"Total","warning":"Clicking Send creates the invoice in Mercury and emails it to the customer immediately. A same-numbered QuickBooks mirror invoice is created at the same time.","confirm":"Send invoice","already_sent_warning":"This invoice is already marked sent — sending again emails the customer another payment page.","dual_title":"Card surcharge — two invoices will be created","dual_body":"{number} (bank transfer only, {base}) + {number}-CC (card enabled, {card} incl. {pct}% surcharge). The customer pays exactly one; the other is cancelled automatically on payment."},"mercury_pairing":{"title":"Mercury AR pairing","paired":"Paired","pair":"Pair","unpair":"Unpair","sync":"Push name/email to Mercury","candidates":"Candidates in Mercury","email_match":"Email match","no_candidates":"No matching Mercury AR customer found.","candidates_taken_hint":"{count} likely match(es) are already paired to another customer — find them under Browse all.","create":"Create in Mercury","create_name":"Legal entity name","create_email":"Billing email","create_confirm":"Create & pair","paired_toast":"Paired with Mercury customer","created_toast":"Created in Mercury and paired","unpaired_toast":"Unpaired","synced_toast":"Mercury record updated","missing_remote":"Paired Mercury customer no longer exists remotely — re-pair below.","email_out_of_sync":"Mercury has a different email than our billing email ({ours}) — invoices would go to the old address.","email_ours_label":"Our billing email","email_mercury_label":"Mercury email","email_push_button":"Push ours → Mercury","email_pull_button":"Use Mercury's","email_pull_toast":"Billing email updated from Mercury","email_pull_error":"Adopting the Mercury email failed","action_error":"Pairing action failed","browse_all":"Browse all Mercury customers ({count})","browse_placeholder":"Filter by name or email…","browse_empty":"No Mercury AR customers exist yet.","taken":"Paired · {name}"},"enterprise_credit_expiry":{"title":"Expiring credits","caption":"These enterprise-granted credits expire on the schedule set by your agreement. Usage consumes the earliest-expiring credits first.","total":"Total expiring: {amount}","expires_on":"expires {date}"},"audit":{"title":"Audit trail","description":"Who did what across contracts, customers and invoices. System rows are automated jobs.","filter_resource_type":"Resource","resource_all":"All","resource_contract":"Contract","resource_customer":"Customer","resource_invoice":"Invoice","filter_resource_id":"Resource ID","filter_resource_id_placeholder":"contract / customer / invoice id","filter_action":"Action","filter_action_placeholder":"e.g. invoice. or contract.terminate","filter_actor":"Actor user ID","filter_actor_placeholder":"admin user id (exact)","apply":"Apply","col_time":"Time","col_actor":"Actor","col_action":"Action","col_resource":"Resource","empty":"No audit entries match these filters.","page_label":"Page {page}","prev":"Previous","next":"Next","detail_before":"Before","detail_after":"After","detail_metadata":"Metadata"},"prepaid_offset":{"title":"Prepaid offset","description":"One-shot pool deducted automatically from this contract's invoices as a negative line item until exhausted — for one-time service credits and pre-contract top-ups. Never granted as usage credits.","balance_label":"Remaining pool","note_placeholder":"Where does this figure come from? (signed OF section, top-up records, as-of balance)","note_help":"The note is the pool's only provenance record and is required (min 8 characters). Setting is absolute, not incremental.","save":"Save pool","cancel":"Cancel","edit":"Set pool…","saved":"Prepaid offset updated"},"invoice_usage":{"title":"Itemized usage · Invoice #{number}","usage_period":"Usage period: {start} – {end}","advance_note":"This invoice also bills the {start} – {end} commitment in advance; the usage below settles the period shown above.","table_model":"Model","table_usage":"Usage","table_rate":"Effective rate","table_amount":"Amount","manual_row":"Off-platform (reported) usage","usage_total_label":"Usage at contract rates","credits_applied_label":"Covered by cycle allowance","overage_base_label":"Overage at base rate","overage_billed_label":"Overage billed (incl. {percent}% premium)","overage_billed_plain":"Overage billed","no_overage_label":"Overage","commitment_label":"Monthly commitment","commitment_advance_label":"Monthly commitment (upcoming cycle, billed in advance)","overage_line_label":"Overage (from usage above)","prior_adjustment_label":"Prior-period adjustment","other_adjustments_label":"Other adjustments","prepaid_label":"Prepaid credit applied","total_label":"Invoice total","not_available":"This invoice has no itemized usage breakdown.","load_error":"Failed to load the usage breakdown.","table_share":"Share","total_metered_row":"Total metered usage","covered_commitment_label":"Covered by prepaid commitment","overage_charge_label":"Overage charge","segment_prepaid":"prepaid commitment","segment_committed":"committed","segment_overage":"overage"},"assessment":{"title":"Quarterly assessment","description":"Contractual quarterly minimums: consumption, banked excess, true-up invoices and §3.6 credits","run_now":"Run assessment","run_done":"Assessment run complete","run_failed":"Assessment run failed","load_failed":"Failed to load assessment data","blocked_prefix":"Assessment blocked:","exclusivity_warning":"Exclusivity performance test met for {quarters} consecutive quarters — the 60-day conversion notice window is open (§8.4)","current_quarter":"Current quarter (Q{q})","banked_balance":"Banked excess","commitment_drawdown":"Commitment drawdown","credits_title":"True-up credits","credit_from_quarter":"Credit from Q{q} true-up","credit_expires":"expires {date}","no_minimum_row":"No minimum scheduled","no_quarters_yet":"No quarters assessed yet.","col_quarter":"Quarter","col_window":"Window","col_minimum":"Minimum","col_consumption":"Consumption","col_banked":"Banked applied","col_trueup":"True-up","col_surplus":"Surplus","waiver_title":"§3.8 minimum waiver (optional)","waiver_hint":"Pending quarterly minimums keep assessing after termination unless the paper exempts them (evaluation-period exit or Fish's material breach). Recording a waiver reason suppresses them — audited.","waiver_placeholder":"e.g. §13.1 evaluation-period exit"}}}