Skip to content

iscc/iscc-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

221 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ISCC - Generator Microservice

CI

About iscc-web

iscc-web is a microservice for generating International Standard Content Codes (ISCC) for media files. A public instance of this service is available at https://web.iscc.io

Full documentation is published at https://web.iscc.codes and release history is tracked in the changelog.

Quickstart

Run the service with Docker (images are published to ghcr.io with main and semver tags):

docker run -p 8000:8000 ghcr.io/iscc/iscc-web:main

Each tag also has an opt-in -gpu variant (e.g. :main-gpu) on a CUDA base that runs the experimental semantic codes on an NVIDIA GPU. Most deployments want the smaller default image; see the deployment guide for GPU requirements.

Overview

REST API

The microservice provides a REST API for generating ISCCs. The endpoints support file upload/download, metadata extraction/embedding and ISCC processing.

Files uploaded for processing are automatically deleted after a configurable timeout. An interactive API documentation is available at /docs

Experimental features (not part of ISO 24138, algorithms may change before their v1.0 release):

  • POST /api/v1/iscc?semantic=true generates an experimental Semantic-Code ISCC-UNIT for text (iscc-sct) and image (iscc-sci) content that becomes part of the composite ISCC-CODE - 5 units (Meta, Semantic, Content, Data, Instance) instead of 4. The resulting ISCC-CODE is not a standard ISO 24138 identifier. Off by default.
  • POST /api/v1/iscc includes granular simprint features in the features field by default (text content; with semantic=true also semantic simprints). Simprints are 256-bit fingerprints with UTF-8 byte based offsets and sizes. Opt out per request with ?granular=false.
  • POST /api/v1/simprint generates granular simprints from plain text - byte-identical to iscc-search's local simprint generation, so search services can delegate text processing to this service.

Demo Frontend

The service also hosts a Vue.js based demo frontend that shows how to upload media files, generate ISCCs, embed metadata, and compare ISCCs.


Configuration

The service is configured through ISCC_WEB_* environment variables and overridable ISCC processing defaults (ISCC_SDK_*, ISCC_SCT_*, ISCC_SCI_*). See the configuration guide for the complete reference.

Deployment

A docker-compose based standalone deployment with automatic SSL/TLS configuration is documented in the deployment guide.

Development

Both the backend and frontend servers need to run in parallel.

Backend

Having uv installed do:

git clone https://github.com/iscc/iscc-web.git
cd iscc-web
uv sync
uv run iscc-web

Access the app at http://localhost:8000 API documentation is at /docs

Before committing any changes run code formatting and tests with:

uv run poe all

Frontend

Install Node.js with asdf or see .tool-versions for the correct version. Packages are managed by pnpm.

Run pnpm install to install the frontend dependencies.

Run pnpm run dev to run the development server.

Run pnpm run test to run the frontend test suite (vitest).

Documentation

The documentation site at https://web.iscc.codes is built with Zensical from the docs/ directory. Serve it locally with uv run poe docs-serve and build it with uv run poe docs-build. See the contribution guide for details.

Special thanks to the developers of

About

Minimal ISCC Generator Web Application

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors