Home Articles Books Search About
日本語
Fixing Universal Viewer 4.x "Unknown content type" Error with Local Hosting

Fixing Universal Viewer 4.x "Unknown content type" Error with Local Hosting

The Problem In a Nuxt 3 project, I was using Universal Viewer (UV) embedded via iframe to display IIIF manifest images. The iframe source pointed to the external https://universalviewer.io/uv.html, but at some point the viewer stopped rendering entirely. The browser console showed these errors: SES Removing unpermitted intrinsics UV.js:2 Unknown content type Investigation universalviewer.io Redirect The first finding was that universalviewer.io now redirects to universalviewer.dev: <meta http-equiv="refresh" content="0; url=https://universalviewer.dev/uv.html"> Testing the same manifest URL on universalviewer.dev/uv.html produced the identical “Unknown content type” error. The issue was reproducible on the official site itself. ...

Auto-Generating Bilingual Video Subtitles with Claude Code and Publishing via IIIF v3 Manifests

Auto-Generating Bilingual Video Subtitles with Claude Code and Publishing via IIIF v3 Manifests

Adding subtitles to video content is time-consuming work. This article introduces how to efficiently generate multilingual subtitles (VTT) from video frame analysis to IIIF v3 manifest creation using Claude Code (CLI version of Claude). For the actual project, see the project introduction article. Overall Workflow 1. Prepare a video file (mp4) 2. Detect scene changes with ffmpeg 3. Extract frames at scene change points 4. Read frame images with Claude Code to understand content 5. Create VTT files based on scene change timestamps 6. Create English subtitles similarly 7. Create IIIF v3 manifests 8. Sync video, subtitles, and speech in HTML player Prerequisites Claude Code (CLI version) ffmpeg / ffprobe Video file (mp4) to add subtitles to # macOS brew install ffmpeg Step 1: Scene Change Detection Auto-detect the timing of screen transitions in the video. These become the basis for subtitle timestamps. ...

Digital Tale of Genji Video Subtitle Project: Publishing Bilingual Subtitles with IIIF v3 Manifests

Digital Tale of Genji Video Subtitle Project: Publishing Bilingual Subtitles with IIIF v3 Manifests

We created a project that adds Japanese and English bilingual subtitles to the Digital Tale of Genji tutorial videos and publishes them as IIIF v3 manifests. Demo: https://nakamura196.github.io/genji-movie/ GitHub: https://github.com/nakamura196/genji-movie Target Videos We added subtitles to the following three tutorial videos: Video Duration Description Viewing Images and Text Together 2:42 How to use the Parallel Text Viewer with TEI & IIIF AI Image Search (Revised) 4:19 Cross-searching manuscript images using kuzushiji OCR and similarity scoring Patapata Face Comparison 1:38 Comparing Genji Hyakunin Isshu illustrations using vdiff.js Bilingual Subtitles Each video has Japanese and English WebVTT subtitle files. Subtitles are split into single-sentence units for readability. ...

Achieving Up to 7.6x Faster Image Delivery by Optimizing Cantaloupe IIIF Server Cache

Achieving Up to 7.6x Faster Image Delivery by Optimizing Cantaloupe IIIF Server Cache

Introduction I run Cantaloupe, an IIIF-compliant image server, in a Docker environment with S3 as the image source. IIIF viewers (such as Mirador and OpenSeadragon) generate dozens to hundreds of simultaneous tile requests every time the user zooms or pans. By reviewing the cache settings and tuning parameters, I was able to speed up tile delivery by up to 7.6x. In this article, I share the methods and results. Environment Server: AWS EC2 (2 vCPU, 7.6GB RAM) Cantaloupe: islandora/cantaloupe:2.0.10 (based on Cantaloupe 5.0.7) Image Source: Amazon S3 (S3Source) Test Image: 25167×12483px TIFF (512×512 tiles) Reverse Proxy: Traefik v3.2 Setup: Docker Compose Problem: Cache Is Disabled by Default After investigating the default settings of the islandora/cantaloupe image, I found the following state: ...

FromThePage: Crowdsourcing Transcription for Historical Documents

FromThePage: Crowdsourcing Transcription for Historical Documents

Introduction FromThePage is a web platform specialized for crowdsourced transcription of historical documents. It enables efficient management of the process of converting handwritten manuscripts and printed materials into text data with the help of volunteers. Adopted by libraries, museums, and archives worldwide—including the Library of Congress and the Smithsonian Institution—FromThePage has become a core tool for document digitization in Digital Humanities (DH). Key Features of FromThePage Crowdsourced Transcription The defining feature of FromThePage is the ability to conduct large-scale transcription projects through crowdsourcing. ...

Mirador: The Optimal Open-Source Viewer for IIIF Image Comparison and Analysis

Mirador: The Optimal Open-Source Viewer for IIIF Image Comparison and Analysis

Introduction In Digital Humanities research, comparing and examining multiple materials side by side is a common practice. A high-performance image viewer is essential for tasks such as comparing different manuscripts or examining artworks before and after restoration. This article introduces Mirador, a IIIF-compatible image viewer jointly developed by Stanford University and Harvard University. What is Mirador? Mirador is a web-based image viewer compatible with IIIF (International Image Interoperability Framework). Its most distinctive feature is its multi-window interface, which allows users to open multiple windows simultaneously to compare images. ...

Universal Viewer: The Definitive IIIF-Compliant Multimedia Viewer

Universal Viewer: The Definitive IIIF-Compliant Multimedia Viewer

Introduction In the world of digital archives, there is a growing need for systems that can uniformly display diverse media types — not just images, but also audio, video, and 3D models. IIIF (International Image Interoperability Framework) is an international standard specification for achieving interoperability of such digital content. This article introduces Universal Viewer (UV), an open-source multimedia viewer that is fully compliant with IIIF. What is Universal Viewer? Universal Viewer is a web-based viewer that loads IIIF manifests to display digital content such as images, audio, video, and 3D models. It is published under the MIT License and is adopted by libraries, museums, and universities worldwide. ...

TETRAS-IIIF: Annotation, Video, and Multi-User Extensions for Mirador 4

TETRAS-IIIF: Annotation, Video, and Multi-User Extensions for Mirador 4

What is TETRAS-IIIF? TETRAS-IIIF is a suite of plugins and tools for Mirador 4, developed primarily by Tetras Libre SARL, a French open-source company. The ecosystem extends Mirador with annotation editing, video support, and multi-user collaboration capabilities. These tools address limitations of the original mirador-annotations plugin and provide a modern foundation built on React 18/19 and MUI 5/7. Mirador Annotation Editor (MAE) Overview Mirador Annotation Editor (MAE) is an annotation creation and editing plugin for Mirador 4. It serves as a successor to mirador-annotations and is released under the Apache 2.0 license. ...

IIIF Georeference Viewer: Visualizing Georeferenced Content on Interactive Maps

IIIF Georeference Viewer: Visualizing Georeferenced Content on Interactive Maps

Introduction In the fields of digital archives and humanities research, there is a growing need to view historical maps, old photographs, and other materials within a geographic context. IIIF (International Image Interoperability Framework) is an international standard for enhancing image interoperability, and with the recent IIIF Georeference Extension, it is now possible to attach geographic coordinate information to IIIF images. The IIIF Georeference Viewer (iiif_geo) is a web application for visualizing such georeferenced IIIF content on interactive maps. ...

Mirador: A Feature-Rich IIIF Viewer for Comparing and Annotating Images

Mirador: A Feature-Rich IIIF Viewer for Comparing and Annotating Images

What Is Mirador? Mirador is an open-source image viewer built for the IIIF (International Image Interoperability Framework) ecosystem. Released under the MIT license, it is widely adopted by universities, libraries, museums, and archives worldwide, including Harvard, Stanford, and Yale. Mirador’s defining feature is its multi-window workspace, which allows users to display, compare, and analyze multiple images side by side. It has become an essential tool for Digital Humanities research and cultural heritage digital archives. ...

Tify: A Lightweight, Fast IIIF Document Viewer

Tify: A Lightweight, Fast IIIF Document Viewer

Introduction In the fields of digital archives and digital humanities, choosing the right IIIF (International Image Interoperability Framework) viewer is a critical decision. While feature-rich viewers like Mirador and Universal Viewer (UV) are widely used, there are many situations where a lighter, faster-loading viewer is preferable. This is where Tify comes in. Tify is a lightweight, fast IIIF document viewer developed primarily by the Goettingen State and University Library (SUB Goettingen) in Germany. ...

Universal Viewer: A Multi-Format IIIF Viewer for Images, Audio, Video, and 3D

Universal Viewer: A Multi-Format IIIF Viewer for Images, Audio, Video, and 3D

What Is Universal Viewer? Universal Viewer (UV) is an open-source viewer built on the IIIF (International Image Interoperability Framework) standards. As its name suggests, its defining characteristic is universality: it can display images, audio, video, 3D models, and PDFs through a single unified interface. It is released under the MIT license and implemented in TypeScript. While Mirador is perhaps the most well-known IIIF viewer, Universal Viewer stands out through its broad media format support. You can explore various content types on the examples page. ...

Animating IIIF Scroll Paintings with AI Video: A Video Annotation Approach

Animating IIIF Scroll Paintings with AI Video: A Video Annotation Approach

Introduction IIIF (International Image Interoperability Framework) is an international standard for publishing digital archive images in an interoperable format. Adopted by libraries and museums worldwide, it enables deep zoom of high-resolution images and cross-institutional browsing of collections. This article describes the development of “IIIF Animated Viewer,” which overlays AI-generated videos on specific regions of IIIF images. The subject is the “Hyakki Yako-zu” (Night Parade of One Hundred Demons) — a scroll painting depicting a procession of yokai (supernatural creatures) — published by the University of Tokyo. ...

Annotorious Drawing Mode Breaks Only in Production Build

Annotorious Drawing Mode Breaks Only in Production Build

Introduction One day, I noticed that annotations could no longer be created at all in a IIIF annotation editor deployed on Vercel. It worked correctly on the local development server, but in the production environment, drawing mode could not be entered. There were no console errors. The UI buttons switched correctly, but dragging on the image did nothing. The cause was an automatic upgrade of Annotorious due to caret (^) specification in package.json, and a state management library migration in v3.7.13 that caused issues with webpack’s production build. ...

Development of a Text Comparison Tool Using IIIF Manifests

Development of a Text Comparison Tool Using IIIF Manifests

Introduction As digitization of classical texts progresses, there is a growing need to compare and analyze texts from different manuscripts and critical editions. This article introduces “Text Comparison Tool,” a web application that leverages IIIF (International Image Interoperability Framework) manifests to display and compare images and text from two materials side by side. Demo site: https://iiif-text.vercel.app/ Background and Challenges Classical texts published in digital archives sometimes have text annotations attached to their IIIF manifests. However, there are few convenient tools for comparing the text of two materials side by side. ...

Replacing Only the Window Title of External Manifests in Mirador 4

Replacing Only the Window Title of External Manifests in Mirador 4

Background Mirador is an IIIF-compatible image viewer that allows side-by-side comparison of multiple IIIF manifests. When displaying manifests published by multiple institutions in a single view, each window title shows the manifest’s label as-is. However, there are cases where you want to display a custom name as the window title for your own project. For example, when the manifest’s label is a long string containing individual volume information, but you want to display a short name indicating the collection. ...

Mirador Viewer Embedding Configuration

Mirador Viewer Embedding Configuration

This article explains how to use the Mirador viewer to display IIIF images. Reference Implementation The embedding approach is based on the Stanford Digital Repository by Stanford University Libraries. The viewer is embedded above bibliographic information, allowing metadata and images to be viewed on the same page. File Structure apps/web/ ├── public/mirador/ │ └── index.html # Mirador viewer ├── src/components/item/ │ └── MiradorViewer.tsx # Embedding component └── .env.local # Environment variable settings URL Parameters /mirador/index.html accepts the following URL parameters: ...

Adding Linked Places Format Support to IIIF Georeference Viewer

Adding Linked Places Format Support to IIIF Georeference Viewer

Overview To improve the interoperability of geospatial data in IIIF Georeference Viewer, we added support for data structures compliant with the Linked Places Format (LPF). This article describes the overview of LPF and the implementation details. What is Linked Places Format (LPF)? Linked Places Format is an interoperability format for gazetteer data established by the Pelagios Network. By extending GeoJSON and incorporating Linked Data (JSON-LD) concepts, it enables sharing and linking of place information across different datasets. ...

Developing and Publishing a Rotation Plugin for Mirador 4 on npm

Developing and Publishing a Rotation Plugin for Mirador 4 on npm

Introduction We developed a rotation plugin called “mirador-rotation” compatible with the latest version of the IIIF viewer Mirador (Mirador 4) and published it on npm. This article covers the process from plugin development to publication, as well as integration methods for practical use. Background With the major update from Mirador 3 to Mirador 4, the following changes were made: React 16 to React 18 Material-UI v4 to MUI v7 Numerous other dependency updates As a result, existing plugins for Mirador 3 no longer work as-is. ...

Implementing IIIF Content Search API on Static Sites - Client-Side Search with Service Workers

Implementing IIIF Content Search API on Static Sites - Client-Side Search with Service Workers

Introduction IIIF (International Image Interoperability Framework) is an international standard for image delivery widely used in digital archives and museum collections. The IIIF Content Search API allows you to search annotations (notes and tags) within manifests. However, the IIIF Content Search API typically assumes server-side implementation, and it has been considered difficult to implement on static sites (GitHub Pages, Vercel, Netlify, etc.). In this article, I will introduce a method for implementing the IIIF Content Search API on the client side using Service Workers. This approach enables the use of search functionality in IIIF viewers such as Mirador even on static sites. ...