Files
aigen/nuxt.config.ts
T
TowstyandCursor 0ab42f488b Show Send to Backup on AIGen output and library stills.
The control was hidden until BACKUP_STUDIO_URL was set, so it never appeared next to Send to Refine.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 18:53:37 -05:00

88 lines
4.0 KiB
TypeScript

const xaigenStudio = /^xaigen$/i.test(String(process.env.NUXT_PUBLIC_STUDIO || '').trim())
|| /xaigen/i.test(String(process.env.NUXT_PUBLIC_INSTANCE_NAME || '').trim())
export default defineNuxtConfig({
compatibilityDate: '2025-08-01',
modules: ['@nuxtjs/tailwindcss'],
css: ['~/assets/css/main.css'],
app: {
head: {
title: 'AIGen — MiniMax H3',
htmlAttrs: { lang: 'en', class: 'dark' },
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1, viewport-fit=cover' },
{ name: 'theme-color', content: '#09090b' },
{ name: 'description', content: 'Headless MiniMax H3 image-to-video studio relayed to local ComfyUI.' }
],
link: [
{ rel: 'icon', type: 'image/svg+xml', href: xaigenStudio ? '/favicon.svg' : '/favicon-aigen.svg' },
{ rel: 'preconnect', href: 'https://fonts.googleapis.com' },
{ rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' },
{
rel: 'stylesheet',
href: 'https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Syne:wght@600;700;800&display=swap'
}
]
}
},
runtimeConfig: {
comfyHost: process.env.COMFY_HOST || '',
comfyPort: process.env.COMFY_PORT || '',
comfyLaunchCmd: process.env.COMFY_LAUNCH_CMD || '',
comfyControlUrl: process.env.COMFY_CONTROL_URL || '',
comfyControlToken: process.env.COMFY_CONTROL_TOKEN || '',
monitorToken: process.env.MONITOR_TOKEN || '',
imageComfyHost: process.env.IMAGE_COMFY_HOST || '',
imageComfyPort: process.env.IMAGE_COMFY_PORT || '',
imageComfyPrimaryHost: process.env.IMAGE_COMFY_PRIMARY_HOST || '',
imageComfyFallbackHost: process.env.IMAGE_COMFY_FALLBACK_HOST || '',
imageComfyLaunchCmd: process.env.IMAGE_COMFY_LAUNCH_CMD || '',
imageComfyControlUrl: process.env.IMAGE_COMFY_CONTROL_URL || '',
imageComfyControlToken: process.env.IMAGE_COMFY_CONTROL_TOKEN || '',
promptComfyHost: process.env.PROMPT_COMFY_HOST || '',
sessionSecret: process.env.NUXT_SESSION_SECRET || '',
oidcClientId: process.env.NUXT_OIDC_CLIENT_ID || '',
oidcClientSecret: process.env.NUXT_OIDC_CLIENT_SECRET || '',
oidcIssuer: process.env.NUXT_OIDC_ISSUER || '',
oidcAuthorizeUrl: process.env.NUXT_OIDC_AUTHORIZE_URL || '',
oidcTokenUrl: process.env.NUXT_OIDC_TOKEN_URL || '',
oidcUserinfoUrl: process.env.NUXT_OIDC_USERINFO_URL || '',
libraryDir: process.env.LIBRARY_DIR || (process.env.NODE_ENV === 'production' ? '/data/library' : '.data/library'),
authMode: process.env.NUXT_AUTH_MODE || process.env.AUTH_MODE || '',
authUsername: process.env.AUTH_USERNAME || '',
authPassword: process.env.AUTH_PASSWORD || '',
backupStudioUrl: process.env.BACKUP_STUDIO_URL || '',
backupStudioToken: process.env.BACKUP_STUDIO_TOKEN || '',
backupIngestToken: process.env.BACKUP_INGEST_TOKEN || '',
purgeComfyOutputs: process.env.PURGE_COMFY_OUTPUTS !== 'false',
comfyFilenamePrefix: process.env.COMFY_FILENAME_PREFIX || 'video/MiniMax_H3',
kreaConceptLora: process.env.NUXT_KREA_CONCEPT_LORA || '',
public: {
authEnabled: process.env.NUXT_PUBLIC_AUTH_ENABLED === 'true',
authMode: process.env.NUXT_PUBLIC_AUTH_MODE || process.env.AUTH_MODE || '',
instanceName: process.env.NUXT_PUBLIC_INSTANCE_NAME || 'AIGen',
// NUXT_PUBLIC_STUDIO=xaigen on the xAIGen Coolify app (LTX Pink Cherry + xAIGen-prefixed LoRAs)
studio: process.env.NUXT_PUBLIC_STUDIO || '',
kreaConceptLora: process.env.NUXT_PUBLIC_KREA_CONCEPT_LORA || process.env.NUXT_KREA_CONCEPT_LORA || '',
backupStudioEnabled: !xaigenStudio
}
},
nitro: {
preset: 'node-server',
routeRules: {
'/api/generate/**': {
headers: {
'Cache-Control': 'no-cache, no-store, no-transform',
'X-Accel-Buffering': 'no'
}
},
'/api/prompt/**': {
headers: {
'Cache-Control': 'no-cache, no-store, no-transform'
}
}
}
}
})