# ZoomHub API reference: Assets Part of the [ZoomHub API reference](https://zoomhub.net/docs/api.md), whose index covers authentication, errors and the other resources. > **Beta:** The v2 API is in beta: endpoints, attributes and error codes may still change before it is final. Questions or feedback: [daniel@zoomhub.net](mailto:daniel@zoomhub.net). Base URL: `https://api.zoomhub.net`. Send your API key as `Authorization: Bearer `; see [Authentication](https://zoomhub.net/docs/api.md#authentication). ## Assets An asset is a single zoomable image. Create one from an image or a PDF on the web by its URL, or from a file on your computer through an [upload](https://zoomhub.net/docs/api/uploads.md#uploads). ZoomHub turns it into tiles you can zoom into, with a page to share and a script to embed. A PDF becomes a [collection](https://zoomhub.net/docs/api/collections.md#collections) of its pages once it is processed. Processing takes from seconds to minutes. Poll [Retrieve an asset](https://zoomhub.net/docs/api/assets.md#assets-retrieve) until its `status` is `succeeded` or `failed`, waiting longer between attempts as you go. ### The asset object A zoomable image, its settings, and how far processing has come. **Attributes** - `object` (string): Always `asset`. - `id` (string): The asset’s ID, which collections and viewers name it by. - `title` (string, nullable): At most 250 characters, single line; surrounding whitespace is trimmed. - `caption` (string, nullable): At most 250 characters, single line; surrounding whitespace is trimmed. - `description` (string, nullable): At most 10000 characters, line breaks allowed; surrounding whitespace is trimmed. - `reference_id` (string, nullable): The owner’s own identifier for the image, such as a catalog or accession number: unique among the owner’s assets. At most 100 characters, single line; surrounding whitespace is trimmed. - `visibility` (enum): Who may view the asset. - `public`: Anyone may view it, and it may be listed on its owner’s profile. - `unlisted`: Anyone with its link may view it; it is listed nowhere. - `protected`: Viewing it needs its password, or its owner’s key. - `status` (enum): How processing went. `succeeded` and `failed` are final. - `unverified`: Submitted on ZoomHub’s site with an email address, and waiting for the link ZoomHub emailed to be followed. Assets created with a key skip this. - `queued`: Waiting to be processed. - `processing`: Being turned into tiles. - `succeeded`: Done: `kind` describes the tiles. - `failed`: Processing failed, and the asset has no tiles. Delete it and create it again to retry. - `progress` (number): How far processing has come, from `0` to `1`. - `source` (object, nullable): Where the image came from, or `null` for a few images from Zoom.it’s time, whose source isn’t known. - `type` (enum): The kind of source, which is also the key its details are under. - `url`: An image or PDF fetched from the web; its details are under `url`. - `upload`: A file uploaded through an upload. `upload` is an empty object: an upload’s file isn’t exposed. - `url` (object, optional): Present when `type` is `url`. - `original_url` (string): The URL the asset was created from. - `upload` (object, optional): Present, and empty, when `type` is `upload`. - `kind` (object): What kind of asset it is, known once it is processed. - `type` (enum): What kind of asset it is, which is also the key its details are under. - `unknown`: Not processed yet, or processing failed. - `image`: A zoomable image; its tiles are under `image`. - `image` (object, optional): Present when `type` is `image`. - `dzi` (object): The Deep Zoom Image to view. - `url` (string): The DZI manifest’s URL. Read the tiles through it, but don’t store it: it changes when the asset’s protection does. - `width` (integer): The image’s width in pixels. - `height` (integer): The image’s height in pixels. - `tile_size` (integer): The edge of a tile in pixels, overlap excluded. - `tile_overlap` (integer): How many pixels each tile overlaps its neighbors. - `tile_format` (enum): The tiles’ image format, which is also their file extension. - `jpeg`: JPEG tiles. - `jpg`: JPEG tiles, named with the older extension. - `png`: PNG tiles. - `webp`: WebP tiles. - `links` (object): Where the asset lives. - `self` (string): This asset in the API. - `share` (string): The asset’s page on ZoomHub. - `embed` (string): A script that embeds a viewer for the image where its `