image strugles 2

This commit is contained in:
IGNY8 VPS (Salman)
2026-01-10 11:54:31 +00:00
parent 1246f8ac5d
commit 6fb0411f56
10 changed files with 1230 additions and 25 deletions

View File

@@ -50,6 +50,7 @@ class SystemAISettings(models.Model):
QUALITY_TIER_CHOICES = [
('basic', 'Basic'),
('quality', 'Quality'),
('quality_option2', 'Quality-Option2'),
('premium', 'Premium'),
]
@@ -191,6 +192,30 @@ class SystemAISettings(models.Model):
return str(override)
return cls.get_instance().image_size
@classmethod
def get_effective_quality_tier(cls, account=None) -> str:
"""Get quality_tier, checking account override first (from ai_settings key)"""
if account:
# Check consolidated ai_settings first
try:
from igny8_core.modules.system.settings_models import AccountSettings
setting = AccountSettings.objects.filter(
account=account,
key='ai_settings'
).first()
if setting and setting.value:
tier = setting.value.get('quality_tier')
if tier:
return str(tier)
except Exception as e:
logger.debug(f"Could not get quality_tier from ai_settings: {e}")
# Fall back to individual key
override = cls._get_account_override(account, 'ai.quality_tier')
if override is not None:
return str(override)
return cls.get_instance().default_quality_tier
@staticmethod
def _get_account_override(account, key: str):
"""Get account-specific override from AccountSettings"""

View File

@@ -594,10 +594,12 @@ class ContentGenerationSettingsViewSet(viewsets.ViewSet):
tier = model.quality_tier or 'basic'
# Avoid duplicates
if not any(t['tier'] == tier for t in quality_tiers):
# Format label: quality_option2 -> "Quality-Option2"
tier_label = tier.replace('_', '-').title() if tier else 'Basic'
quality_tiers.append({
'tier': tier,
'credits': model.credits_per_image or 1,
'label': tier.title(),
'label': tier_label,
'description': f"{model.display_name} quality",
'model': model.model_name,
})