Style Sync is a lightweight PHP web app (folder-only uploads) that helps you prepare image-based "jobs" from local design folders (albums). It currently runs locally (XAMPP recommended) and lets you:
- Upload a folder of images (via the browser's folder picker/webkitdirectory).
- Select an uploaded folder (an "album") and create generation jobs referencing that folder.
- Preview albums and use a simple mocked workflow to mark jobs done and regenerate them with notes.
This repository is an entrypoint for adding an image-to-image model (for example, a Hugging Face image-to-image pipeline) that will process images in an album using prompts/notes and the selected options.
- Language: PHP + bootstrap (single-page UI)
- Run with: XAMPP (Apache + PHP) on Windows
- Files of interest:
index.php— main template; includesinc/bootstrap.php,inc/album.php,inc/actions.phpinc/bootstrap.php— initialization and helper functionsinc/album.php— album scanning and helpersinc/actions.php— POST handlers and job creation logicdata/jobs.json— persisted job queue/statedata/uploads_meta.json— metadata for uploaded filesuploads/— uploaded albums (created automatically)
- XAMPP (Apache + PHP). Tested with PHP 7.4+; newer versions should work.
- Modern browser (Chrome, Edge) for folder uploads (
webkitdirectorysupport).
- Put the project folder inside your XAMPP
htdocsdirectory, e.g.:
# from PowerShell (example; adapt the paths)
# Copy-Item -Path 'C:\path\to\2025---StyleSync' -Destination 'C:\xampp\htdocs\' -Recurse- Start Apache from the XAMPP control panel.
Style Sync is a small PHP web app that helps you turn a folder of images into a "job" you can later process with an image model. It's meant to run locally (XAMPP is easiest).
Quick start
- Put this project folder inside your XAMPP
htdocs(for exampleC:\xampp\htdocs\2025---StyleSync). - Start Apache from the XAMPP control panel.
- Open: http://localhost/2025---StyleSync/ in your browser.
How to use
- Upload a folder using the "Upload folder" card. The top-level folder name becomes the album.
- Click the album on the left to preview images.
- Use the Generation form to create a job that references that album.
- For testing, you can mark jobs as complete with the "Mark Complete (mock)" button.
Important files
index.php— UI and template (loadsinc/files).inc/bootstrap.php,inc/album.php,inc/actions.php— app logic split into small files.uploads/— where your albums are stored.data/jobs.jsonanddata/uploads_meta.json— simple JSON data stores.
Hugging Face / model plans (short)
- The app doesn't run a model yet. The plan is to add a background worker that reads queued jobs and runs an image-to-image model (Hugging Face API or a local model).
- Worker idea: pick queued jobs, process each image in the album, save outputs to
uploads/<album>/_outputs/, then mark the jobdone.
Security note
- This is for local use. Don't expose it to the public without adding auth, CSRF protection, and file checks.
Next steps
- I can scaffold a simple
worker.phpthat shows how to process one job and call the Hugging Face Inference API.