Spaces:
Sleeping
Sleeping
Commit History
-
Improve side portrait quality by using original face reference
Enhanced Stage 2 (side portrait generation) to preserve facial details: - Added original face image as second reference input - Updated prompt to instruct AI: "Use the details on the second image to fill in missing parts from the first image" - Preserves side details (ears, hair, jawline) that may be obscured in frontal view Changes only affect side portrait generation (Stage 2). All other stages remain unchanged. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>fdd8b6f -
Fix: Preserve uploaded images across UI interactions
Images were being cleared when clicking radio buttons or other UI elements because Streamlit re-runs the entire script on every interaction and the file uploader widget was being recreated without preserving uploaded files. This fix stores uploaded images in session_state with persistent keys, so they remain available across reruns. Now users can: - Upload an image - Change radio buttons, dropdowns, or other UI elements - The uploaded image stays visible and available Applied to both single and multi-image uploaders. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>d327dce
-
Fix: Skip non-Image items when saving character sheet stages
The stages dictionary contains both images and metadata (prompts, etc). When saving stages to disk, the code was trying to save prompt strings as images, which caused ensure_pil_image() to treat them as file paths and throw "Image path not found: {prompt text}" exceptions. This fix adds isinstance(item, Image.Image) check to only save actual PIL Images, skipping prompt strings and other metadata. Now character sheets display successfully even when safety filters trigger retries or individual stages fail with placeholders. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>6c4db38 -
Fix: Character Forge now completes with placeholders when stages fail
- Fixed Stage 0b (face extraction) to use grey placeholder instead of returning None - Fixed _generate_stage() to retry when backend returns invalid image type (text instead of image) - Character sheet generation now completes successfully even when individual stages fail - Added PUBLIC_DEPLOYMENT_GUIDE.md with security and cost information - Added create_examples.py helper script for generating documentation examples This ensures users get a complete character sheet with grey placeholders for any failed views, rather than seeing an error message when images were actually generated. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>4fac583 -
Fix: Character Forge now completes with blank placeholders for failed images
- Changed error handling to create grey placeholders instead of failing - All 4 generated views (front/side portrait, side/rear body) use placeholders if API fails - Character sheet will always complete, even if some images fail - Fixes issue with Gemini API sometimes returning text instead of imagesdcf8aa7 -
Add security improvements for public deployment
- Add warning banner when API key not set - Add helpful link to get free API key - Clarify that API keys are per-session only - Create comprehensive SECURITY.md documentation - Update license info in sidebar (Apache -> AGPL)c078ea1 -
Initial deployment of Character Forge
5b6e956