Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

53 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ NOMETA - Intelligent AI Metadata Generator (2026)

⚑ Turn any image into marketplace-ready metadata with AI

Generate SEO title, description, keyword stack, social copy, alt text, structured data, and embedded metadata files from one workflow.

NOMETA advertising preview - clean and professional metadata generator interface

GitHub stars GitHub forks Last commit Open issues

Platform Runtime Build Tailwind Electron


✨ Why NOMETA

NOMETA is a client-side AI metadata studio for creators, stock contributors, and SEO teams.

Instead of manually writing image metadata field-by-field, NOMETA generates a complete package with:

  • marketplace-aware metadata strategy
  • editable structured outputs
  • export-ready formats for delivery workflows

πŸ“¦ What It Generates Per Image

  • 🏷️ SEO title
  • πŸ“ Meta description
  • πŸ”‘ Keyword list (exact target count support)
  • πŸ—‚οΈ Category suggestion
  • πŸ“£ Social caption and hashtags
  • β™Ώ Alt text
  • 🧩 JSON-LD structured data
  • πŸ“Š AI technical stats
  • 🧠 Advanced strategy object with scoring and ordering plan
  • 🎨 Local technical analysis: dimensions, quality heuristics, color palette, SEO head snippet

πŸ”Œ Provider Layer

NOMETA currently supports three active providers in the UI:

  • Google Gemini
  • Groq
  • OpenRouter

Built-in model presets include:

  • Gemini 3.1/3 Flash preview series
  • Gemini 2.5 Pro / Flash / Flash-Lite
  • Groq Llama 4 Scout vision
  • OpenRouter presets: GPT-4o, Claude 3.7 Sonnet, Gemini 2.0 Flash, Llama 3.2 Vision

Note:

  • A grok module exists in source for legacy compatibility, but the active provider registry uses gemini, groq, and openrouter.

🌍 Marketplace Strategy Modes

NOMETA ships with strategy packs for:

  • General
  • Adobe Stock
  • Shutterstock
  • iStock
  • Getty Images
  • Pond5
  • Vecteezy
  • Freepik
  • Creative Fabrica

Default constraint presets per marketplace:

Marketplace Title Description Keywords
General 100 200 40
Adobe Stock 70 150 45
Shutterstock 120 200 50
iStock 60 250 40
Getty Images 60 250 40
Pond5 100 300 50
Vecteezy 80 200 40
Freepik 80 200 50
Creative Fabrica 80 200 40

🧭 Core Workflow

  1. Choose provider + model + API key.
  2. Select marketplace strategy mode.
  3. Tune generation controls (temperature, speed, constraints, tone, target keywords, custom prompt).
  4. Upload one or many images.
  5. Generate metadata.
  6. Review/edit tabs (SEO, strategy, social, technical).
  7. Export JSON, CSV, or embedded files.

πŸ”₯ Power Features

πŸ“ Single + Batch Processing

  • Queue-based multi-file processing
  • Status lifecycle: pending, processing, done, error
  • Retry failed batch items only
  • Batch CSV export

πŸŽ›οΈ Generation Controls

  • Temperature control (0.0 to 1.0)
  • Speed modes (1x, 2x, 3x, 4x) with token/delay tuning
  • Advanced constraints:
    • title length
    • description length
    • exact keyword count
  • Target keyword chip input with forced inclusion support
  • Persistent custom prompt manager

🧠 Advanced Output Intelligence

  • Strategy summary and buyer persona hints
  • Keyword clusters and top keyword scoring
  • Title score breakdown (CTR/SEO/clarity/uniqueness)
  • Keyword ordering plan per marketplace intent
  • Compliance notes and checks

πŸ“₯ Embedded Metadata Export

  • JPEG: APP1 XMP embed
  • PNG: iTXt XMP embed
  • SVG: <metadata> block injection
  • Unsupported image types are converted to PNG for compatibility during embed export
  • Batch embedded export as ZIP with optional notes/failure report files

πŸ”¬ Local Technical Analysis

  • Image properties (size, dimensions, ratio, transparency)
  • Heuristic quality metrics (sharpness, exposure, contrast, saturation)
  • Color palette extraction
  • Ready-to-copy SEO <head> snippet with JSON-LD

πŸ—οΈ Architecture Snapshot

src/index.html
   -> src/js/app.js (orchestrator)
      -> providers/ (Gemini, Groq, OpenRouter)
      -> metadata-engine + marketplace strategies
      -> controls (temperature, speed, constraints, prompt)
      -> technical analyzer
      -> export/metadata embedder
      -> history manager + UI utilities

Build pipeline:

  • βš™οΈ tailwindcss compiles src/css/tailwind.generated.css
  • πŸ“¦ esbuild bundles src/js/app.js
  • 🧾 output assets are content-hashed
  • 🧹 html-minifier-terser minifies dist/index.html
  • πŸ›‘οΈ optional obfuscation via javascript-obfuscator

πŸ› οΈ Tech Stack

  • Frontend: HTML, Tailwind CSS, custom CSS, vanilla JavaScript (ES modules)
  • Build: esbuild, tailwindcss, html-minifier-terser
  • Optional hardening: javascript-obfuscator
  • Packaging: JSZip
  • Desktop wrapper: Electron + electron-builder (Windows NSIS x64)

πŸ—‚οΈ Project Structure

.
|-- src/
|   |-- index.html
|   |-- css/
|   |-- js/
|   |   |-- app.js
|   |   |-- metadata-engine.js
|   |   |-- providers/
|   |   |-- gemini/
|   |   |-- groq/
|   |   |-- OpenRouter/
|   |   |-- MicroStock-Market/
|   |   |-- speed-control/
|   |   |-- technical/
|   |   |-- export/
|   |   |-- custom-prompt/
|   |   |-- ui/
|   |   `-- utils/
|   |-- tag-input/
|   `-- Icon/
|-- scripts/
|-- electron/
|-- dist/
|-- vercel.json
|-- netlify.toml
|-- _headers
`-- README.md

🚦 Quick Start

πŸ“Œ Requirements

  • Node.js 18+
  • npm

πŸ“₯ Install

npm install

πŸ§ͺ Development

npm run dev

Default URL:

http://localhost:4173

🏭 Production Build

npm run build

βœ… Verify

npm run verify
npm run verify:dist

πŸͺŸ Windows Local Shortcut

Run-NOMETA-Localhost.bat

πŸ“œ NPM Scripts

Script Purpose
npm run dev Watch src, rebuild dist, serve local host with live reload
npm run dev:host Build once and host dist
npm run build:tailwind Rebuild Tailwind output CSS
npm run build Production build to dist
npm run build:secure Alias of build
npm run build:obfuscate Build with JS obfuscation
npm run verify Parser/provider/engine smoke checks
npm run verify:dist Build + dist synchronization checks
npm run electron:start Build then launch Electron app
npm run dist:win Build Windows NSIS installer package

πŸ” API Key Setup

Inside the app:

  1. Select provider
  2. Paste API key
  3. Pick model
  4. Save configuration

Provider key portals:


🌐 Deployment

Static-host ready with first-party configs included:

  • vercel.json
  • netlify.toml
  • _headers

Security headers include CSP, frame restrictions, referrer policy, and permissions policy.

Important runtime note:

  • This is a client-side app, so provider calls happen from the browser.

πŸ›‘οΈ Security and Data Notes

  • API keys are stored client-side (local storage via safe storage utility)
  • If browser local storage is unavailable, app falls back to in-memory storage
  • History keeps up to 5 recent items, with safeguards for storage size limits
  • For strict secret protection, use your own backend proxy

🧰 Troubleshooting

  • If output JSON fails to parse, providers include auto-repair retry logic for malformed responses
  • If model does not support vision (especially on OpenRouter), choose a vision-capable model preset
  • If embedded export fails for unusual formats, the app falls back to conversion-based compatibility paths

🀝 Contributing

  1. Fork the repository
  2. Create a branch
  3. Make your changes
  4. Push your branch
  5. Open a pull request

πŸ“„ License

A LICENSE file is not currently present in this repository. Add one to define official open-source usage terms.


Built for creators who want faster workflows and stronger metadata quality.

About

Intelligent Ai metadata generator Opensource Project

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages