b07ff439f3
All four image tools (套图, 详情图, 模特图, 爆款图复刻) previously used setTimeout + static sample images. Now they: 1. Upload product images to OSS via uploadAssetBinary 2. Build contextual prompts including platform/ratio/language/market + user text 3. Call aiGenerationClient.createImageTask with model=gpt-image-2 4. Poll task status via waitForTask (SSE + fallback polling) 5. Display the generated result URL in the preview grid Key changes: - Add ServerRequestError + waitForTask imports - Add imageAbortRef for task cancellation - Add uploadCloneImages() (generic version of uploadProductImages) - Add buildEcommerceImagePrompt() with output-type-specific instructions - Add generateEcommerceImage() orchestrating upload → prompt → API → result - Replace all 5 mock handlers (handleGenerate, handleSetGenerate, handleDetailGenerate, handleTryOnGenerate, handleGenerateModel) with real async API calls - Handle 402 (Payment Required) with user-friendly error message Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>