A simple web application built with SvelteKit that allows you to easily upload images to your Label Studio projects.
Github Copilot built this page btw, i have little to no time for writing a readme for a simple project that I published just to use cloudflare pages.
I should also mention that this project is only meant to be used privately, your tokens are not really that secure so please do not trust this app.
npm install
# or
yarn
# or
pnpm install
npm run dev
# or
npm run dev -- --open (to automatically open in browser)
You can configure the application using a .env
file with the following variables:
# public
VITE_LABEL_STUDIO_ADDRESS=http://localhost:8080
VITE_LABEL_STUDIO_PERSONAL_ACCESS_TOKEN=your_token_here
VITE_LABEL_STUDIO_PROJECT_ID=your_project_id_here
Alternatively, you can configure these settings through the UI on the configurator page.
docker build -t label-studio-uploader .
# and
docker run -p 3000:3000 --name label-uploader label-studio-uploader
# You can now access it on http://localhost:3000
On first run, you'll need to configure your Label Studio connection:
To create a production version of your app:
npm run build # Default build
npm run build:docker # Build for Docker with Node adapter
npm run build:static # Build for static hosting with static adapter
You can preview the production build with:
npm run preview
This project includes Capacitor integration for Android:
# Install Capacitor CLI if not already installed
npm install -g @capacitor/cli
# Add Android platform (already configured in this project)
npx cap add android
# Sync web code with native project
npx cap sync
# Open in Android Studio to build and run
npx cap open android
src/routes/+page.svelte
- Main page with file upload functionalitysrc/routes/configurator/+page.svelte
- Configuration page for Label Studio settingssrc/lib/
- Reusable components and utilitiessrc/app.css
- Global stylesstatic/
- Static assets like faviconandroid/
- Capacitor Android project filesbuild/
- Output directory for production buildsfunctions/
- Server functions (for deployment platforms like Cloudflare)The application uses: