{"id":13794907,"url":"https://github.com/capacitor-community/media","last_synced_at":"2026-05-14T12:02:06.445Z","repository":{"id":38216211,"uuid":"178725699","full_name":"capacitor-community/media","owner":"capacitor-community","description":"Capacitor plugin for saving and retrieving photos and videos, and managing photo albums.","archived":false,"fork":false,"pushed_at":"2024-10-02T02:32:35.000Z","size":1675,"stargazers_count":105,"open_issues_count":1,"forks_count":51,"subscribers_count":17,"default_branch":"main","last_synced_at":"2024-10-12T14:43:46.697Z","etag":null,"topics":["angular","capacitor","capacitor-plugin","ionic","media","plugin"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@capacitor-community/media","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/capacitor-community.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-31T18:23:03.000Z","updated_at":"2024-10-02T02:32:38.000Z","dependencies_parsed_at":"2023-02-18T19:45:43.305Z","dependency_job_id":"902c8354-1ae0-4355-a3ba-615e99251d77","html_url":"https://github.com/capacitor-community/media","commit_stats":{"total_commits":60,"total_committers":10,"mean_commits":6.0,"dds":0.3666666666666667,"last_synced_commit":"2119a16d14a614a4e5e848bf320af2414b9df786"},"previous_names":["stewwan/capacitor-media"],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capacitor-community%2Fmedia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capacitor-community%2Fmedia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capacitor-community%2Fmedia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capacitor-community%2Fmedia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/capacitor-community","download_url":"https://codeload.github.com/capacitor-community/media/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247980837,"owners_count":21027808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","capacitor","capacitor-plugin","ionic","media","plugin"],"created_at":"2024-08-03T23:00:49.929Z","updated_at":"2026-05-14T12:02:06.438Z","avatar_url":"https://github.com/capacitor-community.png","language":"TypeScript","funding_links":[],"categories":["Plugins","TypeScript","Community plugins"],"sub_categories":["Community Plugins"],"readme":"\u003cp align=\"center\"\u003e\u003cbr\u003e\u003cimg src=\"https://user-images.githubusercontent.com/236501/85893648-1c92e880-b7a8-11ea-926d-95355b8175c7.png\" width=\"128\" height=\"128\" /\u003e\u003c/p\u003e\n\u003ch3 align=\"center\"\u003eCapacitor Media\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\u003cstrong\u003e\u003ccode\u003e@capacitor-community/media\u003c/code\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  Capacitor plugin for saving and retrieving photos and videos, and managing photo albums.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/maintenance/yes/2026?style=flat-square\" /\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@capacitor-community/media\"\u003e\u003cimg src=\"https://img.shields.io/npm/l/@capacitor-community/media?style=flat-square\" /\u003e\u003c/a\u003e\n\u003cbr\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@capacitor-community/media\"\u003e\u003cimg src=\"https://img.shields.io/npm/dw/@capacitor-community/media?style=flat-square\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@capacitor-community/media\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@capacitor-community/media?style=flat-square\" /\u003e\u003c/a\u003e\n  \u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n\u003ca href=\"#contributors\"\u003e\u003cimg src=\"https://img.shields.io/badge/all%20contributors-14-orange?style=flat-square\" /\u003e\u003c/a\u003e\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n\u003c/p\u003e\n\n## Maintainers\n\n| Maintainer        | GitHub                                        | Social                                    |\n| ----------------- | --------------------------------------------- | ----------------------------------------- |\n| Nisala Kalupahana | [nkalupahana](https://github.com/nkalupahana) |                                           |\n| Stewan Silva      | [stewones](https://github.com/stewones)       | [@stewones](https://twitter.com/stewones) |\n\n## Installation\n\n```bash\nnpm install @capacitor-community/media\n```\n\nThis plugin is currently maintained for Capacitor 8 (plugin version 9). Add an `@8` at the end to install for Capacitor 7, or `@7` for Capacitor 6. There are currently no API changes between these three versions, so if you're migrating between plugin v7 - v9 (Capacitor 6 - 8), no code changes should be required. SPM is only supported for plugin v9.\n\nAfter installing, be sure to sync by running `npx cap sync`.\n\n## Migrating from Plugin v6 to v7+\n\nThere has been a breaking change to the way permissions are handled on Android.\n- If your app is not a \"gallery\" app (does not need access to all photo albums on the device, just its own), you no longer need the `READ_EXTERNAL_STORAGE`, `WRITE_EXTERNAL_STORAGE`, `READ_MEDIA_IMAGES`, or `READ_MEDIA_VIDEO` permissions. You can remove them from your `AndroidManifest.xml` file. The plugin will no longer request any permissions to save images to your app's albums.\n- If your app is a gallery app and you need access to all albums on the device, you'll need to update your `capacitor.config.ts` file (and keep all of the above permissions) -- see the setup instructions below.\n\nYou will need to update to v7 to publish an app with this plugin on the Google Play Store.\n\n## Migrating from Plugin v5 to v6\n\nThere are a few breaking changes to take note of:\n- `saveGif` no longer exists. Use `savePhoto` for images and GIFs.\n- Error text has been changed. If you were checking for specific error messages, you should now use `error.code`, which will be `accessDenied`, `argumentError`, `downloadError`, or `filesystemError`.\n\n## Setup\n\n### iOS\n\nYou'll need to add the following to your app's `Info.plist` file:\n\n```xml\n\u003cdict\u003e\n  ...\n  \u003ckey\u003eNSPhotoLibraryUsageDescription\u003c/key\u003e\n  \u003cstring\u003eDescribe why you need access to user's photos (getting albums and media)\u003c/string\u003e\n  \u003ckey\u003eNSPhotoLibraryAddUsageDescription\u003c/key\u003e\n  \u003cstring\u003eDescribe why you need to add photos to user's photo library\u003c/string\u003e\n  ...\n\u003c/dict\u003e\n```\n\n### Android\n\nBy default, this plugin only has access to the albums associated with the\napp it's installed in. This should be enough for most use cases.\nFor this basic level of access, you only need to add the following permission:\n\n```xml\n\u003cmanifest\u003e\n  ...\n  \u003cuses-permission android:name=\"android.permission.INTERNET\" /\u003e\n  ...\n\u003c/manifest\u003e\n```\n\nIf you're building an app that needs to access all photos and videos on the device\n(e.g. a photo gallery app), you'll need the following permissions:\n\n```xml\n\u003cmanifest\u003e\n  ...\n  \u003cuses-permission android:name=\"android.permission.INTERNET\" /\u003e\n  \u003cuses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\" /\u003e\n  \u003cuses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" /\u003e\n  \u003cuses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\" /\u003e\n  \u003cuses-permission android:name=\"android.permission.READ_MEDIA_VIDEO\" /\u003e\n  ...\n```\n\nYou'll also need to add the following configuration to `capacitor.config.ts`:\n\n```ts\nplugins: {\n  Media: {\n    androidGalleryMode: true\n  }\n}\n```\n\nYou can find an example of how this should look in the `example/` folder.\n\n## Demo\n\nGo the the `example/` folder to play with an example app that should show all functionality of this plugin.\n\n\u003cimg style=\"width: 250px\" src=\"https://github.com/capacitor-community/media/blob/main/example_app.png?raw=true\" /\u003e\n\n## API\n\nUnless otherwise noted, there should be full feature parity between iOS and Android. Web is not supported.\n\n\u003cdocgen-index\u003e\n\n* [`getMedias(...)`](#getmedias)\n* [`getMediaByIdentifier(...)`](#getmediabyidentifier)\n* [`getAlbums()`](#getalbums)\n* [`savePhoto(...)`](#savephoto)\n* [`saveVideo(...)`](#savevideo)\n* [`createAlbum(...)`](#createalbum)\n* [`getAlbumsPath()`](#getalbumspath)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n* [Enums](#enums)\n\n\u003c/docgen-index\u003e\n\n\u003cdocgen-api\u003e\n\u003c!--Update the source file JSDoc comments and rerun docgen to update the docs below--\u003e\n\n### getMedias(...)\n\n```typescript\ngetMedias(options?: MediaFetchOptions | undefined) =\u003e Promise\u003cMediaResponse\u003e\n```\n\nGet filtered thumbnails from camera roll. iOS only.\n\n[Code Examples](https://github.com/capacitor-community/media/blob/main/example/src/components/GetMedias.tsx)\n\n| Param         | Type                                                            |\n| ------------- | --------------------------------------------------------------- |\n| **`options`** | \u003ccode\u003e\u003ca href=\"#mediafetchoptions\"\u003eMediaFetchOptions\u003c/a\u003e\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#mediaresponse\"\u003eMediaResponse\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### getMediaByIdentifier(...)\n\n```typescript\ngetMediaByIdentifier(options?: { identifier: string; } | undefined) =\u003e Promise\u003cMediaPath\u003e\n```\n\nGet a filesystem path to a full-quality media asset by its identifier. iOS only.\nThis is not included for Android because on Android, a media asset's identifier IS its path!\nYou can simply use the Filesystem plugin to work with it. On iOS, you have to turn the identifier into a path\nusing this function. After that, you can use the Filesystem plugin, same as Android.\n\n[Code Examples](https://github.com/capacitor-community/media/blob/main/example/src/components/GetMedias.tsx)\n\n| Param         | Type                                 |\n| ------------- | ------------------------------------ |\n| **`options`** | \u003ccode\u003e{ identifier: string; }\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#mediapath\"\u003eMediaPath\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### getAlbums()\n\n```typescript\ngetAlbums() =\u003e Promise\u003cMediaAlbumResponse\u003e\n```\n\nGet list of albums.\n\n[Code Examples](https://github.com/capacitor-community/media/blob/main/example/src/components/GetAlbums.tsx)\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#mediaalbumresponse\"\u003eMediaAlbumResponse\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### savePhoto(...)\n\n```typescript\nsavePhoto(options?: MediaSaveOptions | undefined) =\u003e Promise\u003cPhotoResponse\u003e\n```\n\nSaves a still photo or GIF to the camera roll.\n\nOn Android and iOS, this supports web URLs, base64 encoded images\n(e.g. data:image/jpeg;base64,...), and local files.\nOn Android, all image formats supported by the user's photo viewer are supported.\nOn iOS, most common image formats are supported.\n\n[Code Examples](https://github.com/capacitor-community/media/blob/main/example/src/components/SaveMedia.tsx)\n\n| Param         | Type                                                          |\n| ------------- | ------------------------------------------------------------- |\n| **`options`** | \u003ccode\u003e\u003ca href=\"#mediasaveoptions\"\u003eMediaSaveOptions\u003c/a\u003e\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#photoresponse\"\u003ePhotoResponse\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### saveVideo(...)\n\n```typescript\nsaveVideo(options?: MediaSaveOptions | undefined) =\u003e Promise\u003cPhotoResponse\u003e\n```\n\nSaves a video to the camera roll.\n\nOn Android and iOS, this supports web URLs, base64 encoded videos\n(e.g. data:image/mp4;base64,...), and local files.\nOn Android, all video formats supported by the user's photo viewer are supported.\nOn iOS, the supported formats are based on whatever iOS supports at the time.\n\n[Code Examples](https://github.com/capacitor-community/media/blob/main/example/src/components/SaveMedia.tsx)\n\n| Param         | Type                                                          |\n| ------------- | ------------------------------------------------------------- |\n| **`options`** | \u003ccode\u003e\u003ca href=\"#mediasaveoptions\"\u003eMediaSaveOptions\u003c/a\u003e\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#photoresponse\"\u003ePhotoResponse\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### createAlbum(...)\n\n```typescript\ncreateAlbum(options: MediaAlbumCreate) =\u003e Promise\u003cvoid\u003e\n```\n\nCreates an album.\n\n[Code Examples](https://github.com/capacitor-community/media/blob/main/example/src/components/CreateDemoAlbum.tsx)\n\n| Param         | Type                                                          |\n| ------------- | ------------------------------------------------------------- |\n| **`options`** | \u003ccode\u003e\u003ca href=\"#mediaalbumcreate\"\u003eMediaAlbumCreate\u003c/a\u003e\u003c/code\u003e |\n\n--------------------\n\n\n### getAlbumsPath()\n\n```typescript\ngetAlbumsPath() =\u003e Promise\u003cAlbumsPathResponse\u003e\n```\n\nGets the path where album folders and their corresponding photos\nare stored on the Android filesystem. This can be used to identify\nyour album by more than just its name on Android, in case there\nare multiple albums with the same name, which is possible on Android.\nJust compare the albums path to the start of the album identifier when\ngetting albums.\n\nOnly available on Android.\n\nCode Examples: [basic](https://github.com/capacitor-community/media/blob/main/example/src/components/CreateDemoAlbum.tsx), [when saving media](https://github.com/capacitor-community/media/blob/main/example/src/components/SaveMedia.tsx)\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#albumspathresponse\"\u003eAlbumsPathResponse\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### Interfaces\n\n\n#### MediaResponse\n\n| Prop         | Type                      |\n| ------------ | ------------------------- |\n| **`medias`** | \u003ccode\u003eMediaAsset[]\u003c/code\u003e |\n\n\n#### MediaAsset\n\n| Prop                  | Type                                                    | Description                                                             |\n| --------------------- | ------------------------------------------------------- | ----------------------------------------------------------------------- |\n| **`identifier`**      | \u003ccode\u003estring\u003c/code\u003e                                     | Platform-specific identifier                                            |\n| **`data`**            | \u003ccode\u003estring\u003c/code\u003e                                     | Data for a photo asset as a base64 encoded string (JPEG only supported) |\n| **`creationDate`**    | \u003ccode\u003estring\u003c/code\u003e                                     | ISO date string for creation date of asset                              |\n| **`duration`**        | \u003ccode\u003enumber\u003c/code\u003e                                     | Duration of asset in seconds, only returned for videos                  |\n| **`fullWidth`**       | \u003ccode\u003enumber\u003c/code\u003e                                     | Full width of original asset                                            |\n| **`fullHeight`**      | \u003ccode\u003enumber\u003c/code\u003e                                     | Full height of original asset                                           |\n| **`thumbnailWidth`**  | \u003ccode\u003enumber\u003c/code\u003e                                     | Width of thumbnail preview                                              |\n| **`thumbnailHeight`** | \u003ccode\u003enumber\u003c/code\u003e                                     | Height of thumbnail preview                                             |\n| **`location`**        | \u003ccode\u003e\u003ca href=\"#medialocation\"\u003eMediaLocation\u003c/a\u003e\u003c/code\u003e | Location metadata for the asset                                         |\n\n\n#### MediaLocation\n\n| Prop            | Type                | Description                              |\n| --------------- | ------------------- | ---------------------------------------- |\n| **`latitude`**  | \u003ccode\u003enumber\u003c/code\u003e | GPS latitude image was taken at          |\n| **`longitude`** | \u003ccode\u003enumber\u003c/code\u003e | GPS longitude image was taken at         |\n| **`heading`**   | \u003ccode\u003enumber\u003c/code\u003e | Heading of user at time image was taken  |\n| **`altitude`**  | \u003ccode\u003enumber\u003c/code\u003e | Altitude of user at time image was taken |\n| **`speed`**     | \u003ccode\u003enumber\u003c/code\u003e | Speed of user at time image was taken    |\n\n\n#### MediaFetchOptions\n\n| Prop                   | Type                                                             | Description                                                                                                                                                              |\n| ---------------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| **`quantity`**         | \u003ccode\u003enumber\u003c/code\u003e                                              | The number of photos to fetch, sorted by last created date descending. To paginate, just request a higher quantity -- OS caching should make this relatively performant. |\n| **`thumbnailWidth`**   | \u003ccode\u003enumber\u003c/code\u003e                                              | The width of thumbnail to return                                                                                                                                         |\n| **`thumbnailHeight`**  | \u003ccode\u003enumber\u003c/code\u003e                                              | The height of thumbnail to return                                                                                                                                        |\n| **`thumbnailQuality`** | \u003ccode\u003enumber\u003c/code\u003e                                              | The quality of thumbnail to return as JPEG (0-100)                                                                                                                       |\n| **`types`**            | \u003ccode\u003e'photos' \\| 'videos' \\| 'all'\u003c/code\u003e                       | Which types of assets to return thumbnails for.                                                                                                                          |\n| **`albumIdentifier`**  | \u003ccode\u003estring\u003c/code\u003e                                              | Which album identifier to query in (get identifier with getAlbums())                                                                                                     |\n| **`sort`**             | \u003ccode\u003e\u003ca href=\"#mediafield\"\u003eMediaField\u003c/a\u003e \\| MediaSort[]\u003c/code\u003e | Sort order of returned assets by field and ascending/descending                                                                                                          |\n\n\n#### MediaSort\n\n| Prop            | Type                                              |\n| --------------- | ------------------------------------------------- |\n| **`key`**       | \u003ccode\u003e\u003ca href=\"#mediafield\"\u003eMediaField\u003c/a\u003e\u003c/code\u003e |\n| **`ascending`** | \u003ccode\u003eboolean\u003c/code\u003e                              |\n\n\n#### MediaPath\n\n| Prop             | Type                | Description                |\n| ---------------- | ------------------- | -------------------------- |\n| **`path`**       | \u003ccode\u003estring\u003c/code\u003e | Path to media asset        |\n| **`identifier`** | \u003ccode\u003estring\u003c/code\u003e | Identifier for media asset |\n\n\n#### MediaAlbumResponse\n\n| Prop         | Type                      |\n| ------------ | ------------------------- |\n| **`albums`** | \u003ccode\u003eMediaAlbum[]\u003c/code\u003e |\n\n\n#### MediaAlbum\n\n| Prop             | Type                                                      |\n| ---------------- | --------------------------------------------------------- |\n| **`identifier`** | \u003ccode\u003estring\u003c/code\u003e                                       |\n| **`name`**       | \u003ccode\u003estring\u003c/code\u003e                                       |\n| **`type`**       | \u003ccode\u003e\u003ca href=\"#mediaalbumtype\"\u003eMediaAlbumType\u003c/a\u003e\u003c/code\u003e |\n\n\n#### PhotoResponse\n\n| Prop             | Type                | Description                                                                                                    |\n| ---------------- | ------------------- | -------------------------------------------------------------------------------------------------------------- |\n| **`filePath`**   | \u003ccode\u003estring\u003c/code\u003e | Available on Android only.                                                                                     |\n| **`identifier`** | \u003ccode\u003estring\u003c/code\u003e | Available on iOS only. To get a file path for an image on iOS, pass this identifier to `getMediaByIdentifier`. |\n\n\n#### MediaSaveOptions\n\n| Prop                  | Type                | Description                                                                                                                                                                                                                                                                                                                                                              |\n| --------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| **`path`**            | \u003ccode\u003estring\u003c/code\u003e | Web URL, base64 encoded URI, or local file path to save.                                                                                                                                                                                                                                                                                                                 |\n| **`albumIdentifier`** | \u003ccode\u003estring\u003c/code\u003e | Album identifier from getAlbums(). Since 5.0, identifier is used on both Android and iOS. Identifier is required on Android but not on iOS. On iOS 14+, if the identifier is not specified and no permissions have been requested yet, add-only permissions will be requested instead of full permissions (assuming NSPhotoLibraryAddUsageDescription is in Info.plist). |\n| **`fileName`**        | \u003ccode\u003estring\u003c/code\u003e | File name to save the image as in the album. Do not include extension. Android only.                                                                                                                                                                                                                                                                                     |\n\n\n#### MediaAlbumCreate\n\n| Prop       | Type                |\n| ---------- | ------------------- |\n| **`name`** | \u003ccode\u003estring\u003c/code\u003e |\n\n\n#### AlbumsPathResponse\n\n| Prop       | Type                |\n| ---------- | ------------------- |\n| **`path`** | \u003ccode\u003estring\u003c/code\u003e |\n\n\n### Type Aliases\n\n\n#### MediaField\n\nAttributes to sort media by.\n\n[iOS Source](https://developer.apple.com/documentation/photokit/phfetchoptions)\n\n\u003ccode\u003e'mediaType' | 'mediaSubtypes' | 'sourceType' | 'pixelWidth' | 'pixelHeight' | 'creationDate' | 'modificationDate' | 'isFavorite' | 'burstIdentifier'\u003c/code\u003e\n\n\n### Enums\n\n\n#### MediaAlbumType\n\n| Members      | Value                 | Description                                                    |\n| ------------ | --------------------- | -------------------------------------------------------------- |\n| **`Smart`**  | \u003ccode\u003e'smart'\u003c/code\u003e  | Album is a \"smart\" album (such as Favorites or Recently Added) |\n| **`Shared`** | \u003ccode\u003e'shared'\u003c/code\u003e | Album is a cloud-shared album                                  |\n| **`User`**   | \u003ccode\u003e'user'\u003c/code\u003e   | Album is a user-created album                                  |\n\n\u003c/docgen-api\u003e\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://twitter.com/stewones\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/719763?v=4?s=75\" width=\"75px;\" alt=\"stewones\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003estewones\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/capacitor-community/media/commits?author=stewones\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/capacitor-community/media/commits?author=stewones\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#maintenance-stewones\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://github.com/zakton5\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/7013396?v=4?s=75\" width=\"75px;\" alt=\"Zachary Keeton\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZachary Keeton\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/capacitor-community/media/commits?author=zakton5\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://github.com/pgrimaud\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1866496?v=4?s=75\" width=\"75px;\" alt=\"Pierre Grimaud\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePierre Grimaud\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/capacitor-community/media/commits?author=pgrimaud\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://www.kuau.com.br/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/14003158?v=4?s=75\" width=\"75px;\" alt=\"Talles Alves\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTalles Alves\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-tallesventura\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://www.zyadyasser.net/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/38470992?v=4?s=75\" width=\"75px;\" alt=\"Zyad Yasser\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZyad Yasser\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-zyad-yasser\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://github.com/dragermrb\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/11479696?v=4?s=75\" width=\"75px;\" alt=\"Manuel Rodríguez\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eManuel Rodríguez\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/capacitor-community/media/commits?author=dragermrb\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#maintenance-dragermrb\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://github.com/Gr1zlY\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/195971?v=4?s=75\" width=\"75px;\" alt=\"Michael\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMichael\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/capacitor-community/media/commits?author=Gr1zlY\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://linkedin.com/in/nisala\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/7347290?v=4?s=75\" width=\"75px;\" alt=\"Nisala Kalupahana\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNisala Kalupahana\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/capacitor-community/media/commits?author=nkalupahana\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/capacitor-community/media/commits?author=nkalupahana\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#example-nkalupahana\" title=\"Examples\"\u003e💡\u003c/a\u003e \u003ca href=\"#maintenance-nkalupahana\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://rdlabo.jp/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/9690024?v=4?s=75\" width=\"75px;\" alt=\"Masahiko Sakakibara\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMasahiko Sakakibara\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-rdlabo\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://ha6-6ru.hatenablog.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/20640973?v=4?s=75\" width=\"75px;\" alt=\"ha6-6ru\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eha6-6ru\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/capacitor-community/media/commits?author=ha6-6ru\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"http://www.mrfischer.de/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2657649?v=4?s=75\" width=\"75px;\" alt=\"Stephan Fischer\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eStephan Fischer\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/capacitor-community/media/commits?author=stephan-fischer\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://www.mtda.me/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2229994?v=4?s=75\" width=\"75px;\" alt=\"Matheus Davidson\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMatheus Davidson\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/capacitor-community/media/commits?author=matheusdavidson\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/capacitor-community/media/commits?author=matheusdavidson\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://github.com/mauricewegner\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/53715854?v=4?s=75\" width=\"75px;\" alt=\"Maurice Wegner\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMaurice Wegner\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/capacitor-community/media/commits?author=mauricewegner\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"20%\"\u003e\u003ca href=\"https://github.com/samurm\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/47331776?v=4?s=75\" width=\"75px;\" alt=\"Samuel Ramos Muñoz\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSamuel Ramos Muñoz\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/capacitor-community/media/commits?author=samurm\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapacitor-community%2Fmedia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcapacitor-community%2Fmedia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapacitor-community%2Fmedia/lists"}