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>
88 lines
4.0 KiB
TypeScript
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'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|