fix(image-studio): add asset library saving + 402 subscription error handling
Backend: - New POST /api/image-studio/save-to-library endpoint Saves generated base64 images to workspace disk and creates ContentAsset record for the unified asset library. Returns asset_id, file_url, filename. Frontend: - Added saveImageToLibrary() to useImageStudio hook - CreateStudio auto-saves generated images to asset library after creation - All 8 API operations now use _formatErrorMessage() helper for 402/429 subscription limit errors with upgrade prompts instead of generic error messages
This commit is contained in:
@@ -191,6 +191,7 @@ export const CreateStudio: React.FC<CreateStudioProps> = ({ onImageGenerated })
|
||||
estimateCost,
|
||||
loadTemplates,
|
||||
loadProviders,
|
||||
saveImageToLibrary,
|
||||
} = useImageStudio();
|
||||
|
||||
// Load meta data on mount
|
||||
@@ -317,6 +318,23 @@ export const CreateStudio: React.FC<CreateStudioProps> = ({ onImageGenerated })
|
||||
seed: providerForAdvanced ? parsedSeed : undefined,
|
||||
});
|
||||
|
||||
// Auto-save generated images to asset library
|
||||
if (result?.results?.length) {
|
||||
const resolvedProvider = result.request?.provider || provider;
|
||||
const resolvedModel = result.request?.model || effectiveModel;
|
||||
for (const imgResult of result.results) {
|
||||
if (imgResult.image_base64) {
|
||||
saveImageToLibrary({
|
||||
imageBase64: imgResult.image_base64,
|
||||
prompt,
|
||||
provider: resolvedProvider,
|
||||
model: resolvedModel,
|
||||
operation: 'image-generation',
|
||||
}).catch((e) => console.warn('Asset library save skipped:', e.message || e));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (onImageGenerated && (result?.results?.length ?? 0) > 0) {
|
||||
onImageGenerated(result);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user