Skip to Main Content

Digital Collection Toolkit: IIIF APIs

IIIF Image API

The IIIF Image API specifies a web service that returns an image in response to a standard HTTP or HTTPS request. The URI can specify the region, size, rotation, quality characteristics and format of the requested image. A URI can also be constructed to request basic technical information about the image to support client applications. This API was conceived of to facilitate systematic reuse of image resources in digital image repositories maintained by cultural heritage organizations. It could be adopted by any image repository or service, and can be used to retrieve static images in response to a properly constructed URI.

Image API URI formula: 

        https://[CONTENTdm Server Address]/digital/iiif/[Digital Collection ID]/[Item ID]/full/pct:10/0/default.jpg

        Information you will need to fill into the formula:

  • CONTENTdm server address: cdm17272.contentdm.oclc.org or collections.lib.uwm.edu
  • Digital Collection ID 
  • Item ID
  • Sequence of Parameters

 

Let's use an item in our digital collection as the example. 

https://collections.lib.uwm.edu/digital/collection/mke-polonia/id/33962

The IIIF Image API call will be

https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962/full/max/0/default.jpg

https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962/full/pct:10/0/default.jpg

Information you will need are

  • CONTENTdm server address: cdm17272.contentdm.oclc.org
  • Digital Collection ID: mke-polonia
  • Item ID: 33962
  • Notes: The original image file size is huge and will take awhile to download. We could specify the percentage of the image to display using "pct:10". 

https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962/1760,1880,1150,1000/pct:50/0/default.jpg

  • region: x,y,w,h
  • The region of the full image to be returned is specified in terms of absolute pixel values. The value of x represents the number of pixels from the 0 position on the horizontal axis. The value of y represents the number of pixels from the 0 position on the vertical axis. Thus the x,y position 0,0 is the upper left-most pixel of the image. w represents the width of the region and h represents the height of the region in pixels. 

https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962/info.json


   {
  "@context": "http://iiif.io/api/image/2/context.json",
  "@id": "https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962",
  "height": 4512,
  "width": 6340,
  "profile": [
    "http://iiif.io/api/image/2/level1.json"
  ],
  "protocol": "http://iiif.io/api/image",
  "tiles": [
    {
      "scaleFactors": [
        1,
        2,
        4,
        8,
        16
      ],
      "width": 1024
    }
  ],
  "sizes": [
    {
      "width": 6340,
      "height": 4512
    },
    {
      "width": 3170,
      "height": 2256
    },
    {
      "width": 1585,
      "height": 1128
    },
    {
      "width": 793,
      "height": 564
    },
    {
      "width": 396,
      "height": 282
    }
  ]
}

IIIF Presentation API

The objective of the IIIF Presentation API is to provide the information necessary to allow a rich, online viewing environment for compound digital objects to be presented to a human user, often in conjunction with the IIIF Image API

Implementations of the IIIF Presentation API will be able to:

  • display to the user digitized images, video, audio, and other content types associated with a particular physical or born-digital object;
  • allow the user to navigate between multiple views or time extents of the object, either sequentially or hierarchically;
  • display descriptive information about the object, view or navigation structure to provide context to the user;
  • and provide a shared environment in which both publishers and users can annotate the object and its content with additional information.

Presentation API URI formula: 

        https://[CONTENTdm Server Address]/iiif/info/[Digital Collection ID]/[Item ID]/manifest.json

        Information you will need to fill into the formula:

  • CONTENTdm Server Address: cdm17272.contentdm.oclc.org or collections.lib.uwm.edu
  • Dogital Collection ID
  • Item ID

https://cdm17272.contentdm.oclc.org/iiif/info/mke-polonia/33962/manifest.json

metadata + image information


{
	"@context": "http://iiif.io/api/presentation/2/context.json",
	"@type": "sc:Manifest",
	"@id": "https://cdm17272.contentdm.oclc.org/iiif/info/mke-polonia/33962/manifest.json",
	"label": "Damaged Blochowiak Dairy Co. wagon on street corner",
	"metadata": [
		{
			"label": "Title",
			"value": "Damaged Blochowiak Dairy Co. wagon on street corner"
		},
		{
			"label": "Photographer",
			"value": "Kwasniewski, Roman B.J., 1886-1980"
		},
		{
			"label": "Date",
			"value": "01/31 [1925]"
		},
		{
			"label": "Address",
			"value": "Intersection of S 13th St and Hayes Ave"
		},
		{
			"label": "City",
			"value": "Milwaukee"
		},
		{
			"label": "State",
			"value": "Wisconsin"
		},
		{
			"label": "Description",
			"value": "Photograph taken to document vehicle accident."
		},
		{
			"label": "Photographer's Note",
			"value": "Blochowiak Dairy Co.; \"Accident at Hayes and 8\" / Wagon On Ne Corner, Hit from Se Corner"
		},
		{
			"label": "Rights",
			"value": "http://uwm.edu/libraries/digital-collections/copyright-digcoll/"
		},
		{
			"label": "Subject Term (TGM)",
			"value": "City & town life; Transportation; Vehicles; Traffic accidents; Carts & wagons"
		},
		{
			"label": "Subject Term (Local)",
			"value": "Urban scenes -- Transportation -- Insurance photos of wrecks and injuries"
		},
		{
			"label": "Topic Code",
			"value": "14C2"
		},
		{
			"label": "Item Number",
			"value": "24033"
		},
		{
			"label": "Job Number",
			"value": "24033"
		},
		{
			"label": "Type (DCMI)",
			"value": "Still Image"
		},
		{
			"label": "Quantity",
			"value": "4"
		},
		{
			"label": "Original Item Medium",
			"value": "Glass negatives"
		},
		{
			"label": "Original Item Size",
			"value": "5 x 7 in."
		},
		{
			"label": "Original Item Location",
			"value": "UWM Manuscript Collection 19. Box 154"
		},
		{
			"label": "Original Collection",
			"value": "Roman B.J. Kwasniewski Photographs"
		},
		{
			"label": "Repository",
			"value": "Archives. University of Wisconsin-Milwaukee Libraries"
		},
		{
			"label": "Digital ID",
			"value": "kw016110"
		},
		{
			"label": "Digital Collection",
			"value": "Milwaukee Polonia"
		},
		{
			"label": "Digital Publisher",
			"value": "University of Wisconsin-Milwaukee Libraries"
		},
		{
			"label": "Repository",
			"value": "UWM Libraries Digital Collections"
		},
		{
			"label": "Source",
			"value": "From: Damaged Blochowiak Dairy Co. wagon on street corner"
		}
	],
	"attribution": [
		"",
		"http://uwm.edu/libraries/digital-collections/copyright-digcoll/"
	],
	"within": "https://cdm17272.contentdm.oclc.org/iiif/info/mke-polonia/manifest.json",
	"sequences": [
		{
			"@id": "https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962/sequence/s0",
			"@type": "sc:Sequence",
			"label": "Damaged Blochowiak Dairy Co. wagon on street corner",
			"canvases": [
				{
					"@id": "https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962/canvas/c0",
					"@type": "sc:Canvas",
					"label": "Damaged Blochowiak Dairy Co. wagon on street corner",
					"images": [
						{
							"@id": "https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962/annotation/a0",
							"@type": "oa:Annotation",
							"motivation": "sc:painting",
							"resource": {
								"@id": "https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962/full/full/0/default.jpg",
								"@type": "dctypes:Image",
								"service": {
									"@context": "http://iiif.io/api/image/2/context.json",
									"@id": "https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962",
									"width": 6340,
									"height": 4512,
									"tiles": [
										{
											"width": 6340,
											"scaleFactors": [
												1,
												2,
												4,
												8,
												16
											]
										}
									],
									"profile": "http://iiif.io/api/image/2/level1.json",
									"protocol": "http://iiif.io/api/image"
								},
								"format": "image/jpeg",
								"width": 6340,
								"height": 4512
							},
							"on": "https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962/canvas/c0"
						}
					],
					"width": 6340,
					"height": 4512
				}
			]
		}
	],
	"structures": [
		{
			"@id": "https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962/range/r0",
			"@type": "sc:Range",
			"label": "Damaged Blochowiak Dairy Co. wagon on street corner",
			"ranges": [],
			"canvases": [
				"https://cdm17272.contentdm.oclc.org/digital/iiif/mke-polonia/33962/canvas/c0"
			]
		}
	]
}

OpenSeadragon

An open-source, web-based viewer for zoomable images, implemented in pure JavaScript.

UniversalViewer 

Initially developed by Digirati for the Wellcome Library, the UV can display most types of digital content, including cover-to-cover books, archives, works of art, video, audio and 3D. It also supports the IIIF Auth and Search APIs.

Mirador 

An open-source, web-based 'multi-up' viewer that supports zoom-pan-rotate functionality, ability to display/compare simple images, and images with annotations. UWM Libraries implemented a local instance of Mirador on our own server. For more details, please check the IIIF Viewer - Mirador page. 

We have an Mirador 3 instance implemented on libary's LAMP server. The address is http://liblamp.uwm.edu/IIIF/mirador3.html.