Skip to content

A simple web application built with NextJS to extract tags from booru websites. Just paste the URL of a booru post, and this tool will fetch and display the associated tags, ready for you to copy.

License

Notifications You must be signed in to change notification settings

IRedDragonICY/booruprompt

Repository files navigation

BooruPrompt App Icon

BooruPrompt — Booru Tag Extractor & Image Metadata Toolkit

Extract, categorize, filter, and copy tags from popular booru sites — fast, accurate, and delightful.

Live Demo GitHub Repo Issues

License Status Platforms

Next.js React TypeScript Tailwind CSS Framer Motion Tauri

BooruPrompt Screenshot

Features · Supported Sites · API · Getting Started · Desktop & Android · FAQ


Why BooruPrompt?

Designed for creators, curators, and prompt engineers who need reliable tags quickly. Paste a post URL, get clean, categorized tags and a preview — ready to copy into your workflow.

Features

Auto Automatic Extraction
Paste a post URL and let the app extract tags instantly (auto/manual modes).
Tags Smart Categorization
Organized into Copyright, Character, General, Meta, and Other.
Filter Intuitive Filtering
Toggle categories and blacklist unwanted keywords.
Copy One‑Click Copy
Copy clean, comma‑separated tags in one click or via keyboard.
Responsive Responsive UI
Optimized for desktop, tablet, and mobile — fluid and fast.
Theme Dark Mode & Themes
System/dark mode plus color theme customization.
Metadata PNG Metadata
Extract Positive/Negative prompts and parameters from PNG files.
Proxy Flexible Fetching
Server proxy by default; optional client proxies (AllOrigins, etc.).

Highlights

  • Real‑world resilient: Handles site quirks, timeouts, referers (Pixiv), and fallback flows.
  • History: Optional local history for extractions and image metadata.
  • Privacy‑aware: No analytics; data stays on your device (server proxy only fetches, doesn’t store).

Supported Sites

The extractor currently supports these sites and post formats:

Site Status
Danbooru Supported
Safebooru (Donmai) Supported
Hijiribe (Donmai) Supported
Safebooru (Org) Supported
Gelbooru Supported
Rule34 Supported
TBIB Supported
Scatbooru Supported
Garycbooru Supported
e621 Supported
AIBooru Supported
Yande.re Supported
Konachan Supported
Anime‑Pictures Supported
Zerochan Supported
E‑Shuushuu Supported
Pixiv Supported (JSON/pximg fallbacks)
Fur Affinity Supported

Tip: You can enable a similarity fallback for some unsupported donmai.us subdomains in settings.

Architecture at a Glance

graph LR;
  A[Browser UI] -->|POST extract| B[Next API];
  B -->|Fetch HTML with UA and Referer| C[Target Site];
  B -->|Extract tags, image, title| D[JSON Response];
  A -->|GET image proxy| B;
  B -->|Stream media with cache| A;
Loading

API

Base URL: https://booruprompt.vercel.app/api/fetch-booru

1) Extract From Page (POST)

  • Endpoint: /api/fetch-booru
  • Method: POST
  • Headers: Content-Type: application/json
  • Body:
{ "targetUrl": "https://safebooru.org/index.php?page=post&s=view&id=12345" }
  • Success 200:
{ "siteName": "Gelbooru", "tags": { "general": ["1girl", "smile"], "character": ["..." ] }, "imageUrl": "https://...jpg", "title": "..." }
  • Errors: 400 | 422 | 502 | 504 with { error, status } message.

2) Proxy Image (GET)

  • Endpoint: /api/fetch-booru?imageUrl=... (URL‑encode the value)
  • Returns raw image/video with Content-Type and Cache-Control preserved.

Notes:

  • Uses a mainstream browser User‑Agent and sets Referer for i.pximg.net (Pixiv).
  • Request timeout: 25s.

Curl Examples

# POST: extract page
curl -X POST "https://booruprompt.vercel.app/api/fetch-booru" \
  -H "Content-Type: application/json" \
  -d '{"targetUrl":"https://gelbooru.com/index.php?page=post&s=view&id=123"}'

# GET: proxy image
curl "https://booruprompt.vercel.app/api/fetch-booru?imageUrl=https%3A%2F%2Fe621.net%2Fdata%2F...jpg" -o out.jpg

Getting Started

Prerequisites: Node.js ≥ 18

git clone https://github.com/IRedDragonICY/booruprompt.git
cd booruprompt
npm install
npm run dev

Open http://localhost:3000.

Usage

  1. Paste a booru post URL (e.g. https://danbooru.donmai.us/posts/123456).
  2. Auto‑extract will run (or click Extract Manually).
  3. Toggle categories and optional blacklist.
  4. Copy tags.

Keyboard: Ctrl/Cmd + C copies filtered tags when the extractor view is active.

Desktop & Android

This project ships with a Tauri app configuration and Android tooling.

Desktop (Tauri)

# Dev (opens a desktop window pointing to localhost)
npm run tauri:dev

# Production build (bundles app installers)
npm run tauri:build

Static export helper used by Tauri:

npm run tauri:export

Android (Experimental)

# One‑time setup
npm run android:init

# Run on device / emulator
npm run android:dev

# Build APK/AAB (debug)
npm run android:build

Tech Stack

  • Next.js 15 (App Router), React 19, TypeScript 5
  • Tailwind CSS 4, Framer Motion 12
  • Tauri 2 for desktop bundling

SEO — Keywords

booru tag extractor, danbooru tags, gelbooru tags, e621 tags, pixiv tags, rule34 tags, booru prompt generator, copy booru tags, booru tag parser, tag categorization, booru proxy api, anime tags extractor, ai prompt tags, image metadata prompt extractor

FAQ

  • Why do some pages fail? Some sites require login, use anti‑bot protections (e.g., Cloudflare), or return empty HTML via proxies.
  • Is my data stored? No server‑side storage. Optional local history is stored in your browser only.
  • Pixiv images don’t load? The proxy sets a Pixiv Referer and prefers i.pximg.net. See API image proxy notes.

Contributing

Issues and PRs are welcome. Please follow the linting rules and update documentation where relevant.

  1. Fork → 2. Feature branch → 3. Commit → 4. PR

License

MIT — see LICENSE.

Star History

Star History Chart


Built by IRedDragonICY • Hosted on Vercel • Desktop by Tauri

About

A simple web application built with NextJS to extract tags from booru websites. Just paste the URL of a booru post, and this tool will fetch and display the associated tags, ready for you to copy.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages