{/* Platform API Keys Info */}
{/* Integration Cards with Validation Cards */}
{/* OpenAI Integration + Validation */}
}
title="OpenAI"
description="AI-powered content generation and analysis with DALL-E image generation"
validationStatus={validationStatuses.openai}
integrationId="openai"
onToggleSuccess={(enabled, data) => {
// Refresh status circle when toggle changes
const model = data?.model || integrations.openai.model;
// Validate with current enabled state and model
validateIntegration('openai', enabled, model);
}}
onSettings={() => handleSettings('openai')}
onDetails={() => handleDetails('openai')}
/>
}
/>
{/* Runware Integration + Validation */}
}
title="Runware"
description="High-quality AI image generation with Runware's models ($0.009 per image)"
validationStatus={validationStatuses.runware}
integrationId="runware"
modelName={
integrations.image_generation?.service === 'runware' && integrations.image_generation.runwareModel
? (() => {
// Map model ID to display name
const modelDisplayNames: Record = {
'runware:97@1': 'Hi Dream Full - Standard',
'civitai:618692@691639': 'Bria 3.2 - Premium',
};
return modelDisplayNames[integrations.image_generation.runwareModel] || integrations.image_generation.runwareModel;
})()
: undefined
}
onToggleSuccess={(enabled, data) => {
// Refresh status circle when toggle changes
// Validate with current enabled state
validateIntegration('runware', enabled);
}}
onSettings={() => handleSettings('runware')}
onDetails={() => handleDetails('runware')}
/>
}
/>
{/* Image Generation Service Card */}
}
title="Image Generation Service"
description="Default image generation service and model selection for app-wide use"
validationStatus={validationStatuses.image_generation}
onSettings={() => handleSettings('image_generation')}
onDetails={() => handleDetails('image_generation')}
/>
{/* AI Integration & Image Generation Testing Info Card */}