This commit is contained in:
Desktop
2025-11-12 04:54:12 +05:00
parent b132099e66
commit 4373657147
4 changed files with 190 additions and 80 deletions

View File

@@ -182,29 +182,25 @@ def process_image_generation_queue(self, image_ids: list, account_id: int = None
logger.error("Image generation settings not found")
return {'success': False, 'error': 'Image generation settings not found'}
# Get provider API key
# Get provider API key (using same approach as test image generation)
# Note: API key is stored as 'apiKey' (camelCase) in IntegrationSettings.config
try:
if provider == 'openai':
provider_settings = IntegrationSettings.objects.get(
account=account,
integration_type='openai',
is_active=True
)
api_key = provider_settings.config.get('api_key') if provider_settings.config else None
elif provider == 'runware':
provider_settings = IntegrationSettings.objects.get(
account=account,
integration_type='runware',
is_active=True
)
api_key = provider_settings.config.get('api_key') if provider_settings.config else None
else:
return {'success': False, 'error': f'Unknown provider: {provider}'}
provider_settings = IntegrationSettings.objects.get(
account=account,
integration_type=provider, # 'openai' or 'runware'
is_active=True
)
api_key = provider_settings.config.get('apiKey') if provider_settings.config else None
if not api_key:
return {'success': False, 'error': f'{provider} API key not configured'}
logger.error(f"[process_image_generation_queue] {provider.upper()} API key not found in config")
return {'success': False, 'error': f'{provider.upper()} API key not configured'}
logger.info(f"[process_image_generation_queue] {provider.upper()} API key retrieved successfully")
except IntegrationSettings.DoesNotExist:
return {'success': False, 'error': f'{provider} integration not found'}
logger.error(f"[process_image_generation_queue] {provider.upper()} integration settings not found")
return {'success': False, 'error': f'{provider.upper()} integration not found or not active'}
except Exception as e:
logger.error(f"[process_image_generation_queue] Error getting {provider} API key: {e}", exc_info=True)
return {'success': False, 'error': f'Error retrieving {provider} API key: {str(e)}'}
# Get image prompt template (has placeholders: {image_type}, {post_title}, {image_prompt})
try:
@@ -291,8 +287,12 @@ def process_image_generation_queue(self, image_ids: list, account_id: int = None
logger.warning(f"Prompt template formatting failed: {e}, using image prompt directly")
formatted_prompt = image.prompt
# Generate image
logger.info(f"Generating image {index}/{total_images} (ID: {image_id})")
# Generate image (using same approach as test image generation)
logger.info(f"[process_image_generation_queue] Generating image {index}/{total_images} (ID: {image_id})")
logger.info(f"[process_image_generation_queue] Provider: {provider}, Model: {model}")
logger.info(f"[process_image_generation_queue] Prompt length: {len(formatted_prompt)}")
logger.info(f"[process_image_generation_queue] Image type: {image_type}")
result = ai_core.generate_image(
prompt=formatted_prompt,
provider=provider,
@@ -303,6 +303,8 @@ def process_image_generation_queue(self, image_ids: list, account_id: int = None
function_name='generate_images_from_prompts'
)
logger.info(f"[process_image_generation_queue] Image generation result: has_url={bool(result.get('url'))}, has_error={bool(result.get('error'))}")
# Check for errors
if result.get('error'):
logger.error(f"Image generation failed for {image_id}: {result.get('error')}")