{"id":13514847,"url":"https://github.com/capacitor-community/camera-preview","last_synced_at":"2025-04-14T02:58:17.304Z","repository":{"id":37407589,"uuid":"195606666","full_name":"capacitor-community/camera-preview","owner":"capacitor-community","description":"Capacitor plugin that allows camera interaction from HTML code","archived":false,"fork":false,"pushed_at":"2025-04-03T15:31:45.000Z","size":3218,"stargazers_count":206,"open_issues_count":80,"forks_count":176,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-14T02:58:11.130Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","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":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-07T03:43:18.000Z","updated_at":"2025-04-11T02:13:32.000Z","dependencies_parsed_at":"2024-01-05T21:05:00.903Z","dependency_job_id":"d44afa60-9924-4d0a-afc6-20fa369c76af","html_url":"https://github.com/capacitor-community/camera-preview","commit_stats":{"total_commits":293,"total_committers":47,"mean_commits":6.23404255319149,"dds":0.7849829351535836,"last_synced_commit":"2a82ed5f90c8daf2f305d99a463dae66e91b0152"},"previous_names":["arielhernandezmusa/capacitor-camera-preview"],"tags_count":51,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capacitor-community%2Fcamera-preview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capacitor-community%2Fcamera-preview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capacitor-community%2Fcamera-preview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capacitor-community%2Fcamera-preview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/capacitor-community","download_url":"https://codeload.github.com/capacitor-community/camera-preview/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248813790,"owners_count":21165633,"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":[],"created_at":"2024-08-01T05:01:02.652Z","updated_at":"2025-04-14T02:58:17.283Z","avatar_url":"https://github.com/capacitor-community.png","language":"Java","funding_links":[],"categories":["Java","Community plugins","Plugins"],"sub_categories":["Capacitor Community"],"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 Camera Preview\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\u003cstrong\u003e\u003ccode\u003e@capacitor-community/camera-preview\u003c/code\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cbr\u003e\n\u003cp align=\"center\"\u003e\u003cstrong\u003eCAPACITOR 7\u003c/strong\u003e\u003c/p\u003e\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  Capacitor plugin that allows camera interaction from Javascript and HTML\u003cbr\u003e(based on cordova-plugin-camera-preview).\n\u003c/p\u003e\n\u003cbr\u003e\nVersion 7 of this plugin requires Capacitor 7.\n\nIf you are using Capacitor 6, use [version 6.1](https://github.com/capacitor-community/camera-preview/releases/tag/v6.0.1)\n\nIf you are using Capacitor 5, use [version 5](https://github.com/capacitor-community/camera-preview/releases/tag/v5.0.0)\n\nIf you are using Capacitor 4, use [version 4](https://github.com/capacitor-community/camera-preview/releases/tag/v4.0.0)\n\nIf you are using Capacitor 3, use [version 3](https://github.com/capacitor-community/camera-preview/releases/tag/v3.1.2)\n\nIf you are using Capacitor 2, use [version 1](https://github.com/capacitor-community/camera-preview/releases/tag/v1.2.1)\n\n**PR's are greatly appreciated.**\n\n-- [@arielhernandezmusa](https://github.com/arielhernandezmusa) and [@pbowyer](https://github.com/pbowyer), current maintainers\n\n\u003c!-- # Features\n\n\u003cul\u003e\n  \u003cli\u003eStart a camera preview from HTML code.\u003c/li\u003e\n  \u003cli\u003eMaintain HTML interactivity.\u003c/li\u003e\n  \u003cli\u003eDrag the preview box.\u003c/li\u003e\n  \u003cli\u003eSet camera color effect.\u003c/li\u003e\n  \u003cli\u003eSend the preview box to back of the HTML content.\u003c/li\u003e\n  \u003cli\u003eSet a custom position for the camera preview box.\u003c/li\u003e\n  \u003cli\u003eSet a custom size for the preview box.\u003c/li\u003e\n  \u003cli\u003eSet a custom alpha for the preview box.\u003c/li\u003e\n  \u003cli\u003eSet the focus mode, zoom, color effects, exposure mode, white balance mode and exposure compensation\u003c/li\u003e\n  \u003cli\u003eTap to focus\u003c/li\u003e\n\u003c/ul\u003e --\u003e\n\n# Installation\n\n```\nyarn add @capacitor-community/camera-preview\n\nor\n\nnpm install @capacitor-community/camera-preview\n```\n\nThen run\n\n```\nnpx cap sync\n```\n\n## Extra Android installation steps\n\n**Important** `camera-preview` 3+ requires Gradle 7. If you are using Gradle 4, please use [version 2](https://github.com/capacitor-community/camera-preview/tree/v2.1.0) of this plugin.\n\nOpen `android/app/src/main/AndroidManifest.xml` and above the closing `\u003c/manifest\u003e` tag add this line to request the CAMERA permission:\n\n```xml\n\u003cuses-permission android:name=\"android.permission.CAMERA\" /\u003e\n```\n\nFor more help consult the [Capacitor docs](https://capacitorjs.com/docs/android/configuration#configuring-androidmanifestxml).\n\n### Variables\n\nThis plugin will use the following project variables (defined in your app's `variables.gradle` file):\n\n- `androidxExifInterfaceVersion`: version of `androidx.exifinterface:exifinterface` (default: `1.3.6`)\n\n## Extra iOS installation steps\n\nYou will need to add two permissions to `Info.plist`. Follow the [Capacitor docs](https://capacitorjs.com/docs/ios/configuration#configuring-infoplist) and add permissions with the raw keys `NSCameraUsageDescription` and `NSMicrophoneUsageDescription`. `NSMicrophoneUsageDescription` is only required, if audio will be used. Otherwise set the `disableAudio` option to `true`, which also disables the microphone permission request.\n\n## Extra Web installation steps\n\nAdd `import { CameraPreview } from '@capacitor-community/camera-preview';` in the file where you want to use the plugin.\n\nthen in html add `\u003cdiv id=\"cameraPreview\"\u003e\u003c/div\u003e`\n\nand `CameraPreview.start({ parent: \"cameraPreview\"});` will work.\n\n# Methods\n\n### start(options)\n\nStarts the camera preview instance.\n\n\u003cbr\u003e\n\n| Option                       | values        | descriptions                                                                                                                                                             |\n| ---------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| position                     | front \\| rear | Show front or rear camera when start the preview. Defaults to front                                                                                                      |\n| width                        | number        | (optional) The preview width in pixels, default window.screen.width (applicable to the android and ios platforms only)                                                   |\n| height                       | number        | (optional) The preview height in pixels, default window.screen.height (applicable to the android and ios platforms only)                                                 |\n| x                            | number        | (optional) The x origin, default 0 (applicable to the android and ios platforms only)                                                                                    |\n| y                            | number        | (optional) The y origin, default 0 (applicable to the android and ios platforms only)                                                                                    |\n| toBack                       | boolean       | (optional) Brings your html in front of your preview, default false (applicable to the android and ios platforms only)                                                   |\n| paddingBottom                | number        | (optional) The preview bottom padding in pixes. Useful to keep the appropriate preview sizes when orientation changes (applicable to the android and ios platforms only) |\n| rotateWhenOrientationChanged | boolean       | (optional) Rotate preview when orientation changes (applicable to the ios platforms only; default value is true)                                                         |\n| storeToFile                  | boolean       | (optional) Capture images to a file and return back the file path instead of returning base64 encoded data, default false.                                               |\n| disableExifHeaderStripping   | boolean       | (optional) Disable automatic rotation of the image, and let the browser deal with it, default true (applicable to the android and ios platforms only)                    |\n| enableHighResolution         | boolean       | (optional) Defaults to false - iOS only - Activate high resolution image capture so that output images are from the highest resolution possible on the device            |\n| disableAudio                 | boolean       | (optional) Disables audio stream to prevent permission requests, default false. (applicable to web and iOS only)                                                         |\n| lockAndroidOrientation       | boolean       | (optional) Locks device orientation when camera is showing, default false. (applicable to Android only)                                                                  |\n| enableOpacity                | boolean       | (optional) Make the camera preview see-through. Ideal for augmented reality uses. Default false (applicable to Android and web only)                                     |\n| enableZoom                   | boolean       | (optional) Set if you can pinch to zoom. Default false (applicable to the android and ios platforms only)                                                                |\n\n\u003c!-- \u003cstrong\u003eOptions:\u003c/strong\u003e\nAll options stated are optional and will default to values here\n\n* `x` - Defaults to 0\n* `y` - Defaults to 0\n* `width` - Defaults to window.screen.width\n* `height` - Defaults to window.screen.height\n* `camera` - See \u003ccode\u003e[CAMERA_DIRECTION](#camera_Settings.CameraDirection)\u003c/code\u003e - Defaults to front camera\n* `toBack` - Defaults to false - Set to true if you want your html in front of your preview\n* `tapPhoto` - Defaults to true - Does not work if toBack is set to false in which case you use the takePicture method\n* `tapFocus` - Defaults to false - Allows the user to tap to focus, when the view is in the foreground\n* `previewDrag` - Defaults to false - Does not work if toBack is set to false\n* `storeToFile` - Defaults to false - Capture images to a file and return back the file path instead of returning base64 encoded data.\n* `disableExifHeaderStripping` - Defaults to false - **Android Only** - Disable automatic rotation of the image, and let the browser deal with it (keep reading on how to achieve it) --\u003e\n\n```javascript\nimport { CameraPreview, CameraPreviewOptions } from '@capacitor-community/camera-preview';\n\nconst cameraPreviewOptions: CameraPreviewOptions = {\n  position: 'rear',\n  height: 1920,\n  width: 1080\n};\nCameraPreview.start(cameraPreviewOptions);\n```\n\nRemember to add the style below on your app's HTML or body element:\n\n```css\nion-content {\n  --background: transparent;\n}\n```\n\nTake into account that this will make transparent all ion-content on application, if you want to show camera preview only in one page, just add a custom class to your ion-content and make it transparent:\n\n```css\n.my-custom-camera-preview-content {\n  --background: transparent;\n}\n```\n\nIf the camera preview is not displaying after applying the above styles, apply transparent background color to the root div element of the parent component\nEx: VueJS \u003e\u003e App.vue component\n\n```html\n\u003ctemplate\u003e\n  \u003cion-app id=\"app\"\u003e\n    \u003cion-router-outlet /\u003e\n  \u003c/ion-app\u003e\n\u003c/template\u003e\n\n\u003cstyle\u003e\n#app {\n  background-color: transparent !important;\n}\n\u003cstyle\u003e\n```\n\n### stop()\n\n\u003cinfo\u003eStops the camera preview instance.\u003c/info\u003e\n\u003cbr /\u003e\n\n```javascript\nCameraPreview.stop();\n```\n\n### flip()\n\n\u003cinfo\u003eSwitch between rear and front camera only for android and ios, web is not supported\u003c/info\u003e\n```javascript CameraPreview.flip() ```\n\n\u003c!-- ### switchCamera([successCallback, errorCallback])\n\n\u003cinfo\u003eSwitch between the rear camera and front camera, if available.\u003c/info\u003e\u003cbr/\u003e\n\n```javascript\nCameraPreview.switchCamera();\n```\n\n### show([successCallback, errorCallback])\n\n\u003cinfo\u003eShow the camera preview box.\u003c/info\u003e\u003cbr/\u003e\n\n```javascript\nCameraPreview.show();\n```\n\n### hide([successCallback, errorCallback])\n\n\u003cinfo\u003eHide the camera preview box.\u003c/info\u003e\u003cbr/\u003e\n\n```javascript\nCameraPreview.hide();\n``` --\u003e\n\n### capture(options)\n\n| Option  | values | descriptions                                              |\n| ------- | ------ | --------------------------------------------------------- |\n| quality | number | (optional) The picture quality, 0 - 100, default 85       |\n| width   | number | (optional) The picture width, default 0 (Device default)  |\n| height  | number | (optional) The picture height, default 0 (Device default) |\n\n\u003c!-- \u003cinfo\u003eTake the picture. If width and height are not specified or are 0 it will use the defaults. If width and height are specified, it will choose a supported photo size that is closest to width and height specified and has closest aspect ratio to the preview. The argument `quality` defaults to `85` and specifies the quality/compression value: `0=max compression`, `100=max quality`.\u003c/info\u003e\u003cbr/\u003e --\u003e\n\n```javascript\nimport { CameraPreviewPictureOptions } from '@capacitor-community/camera-preview';\n\nconst cameraPreviewPictureOptions: CameraPreviewPictureOptions = {\n  quality: 50\n};\n\nconst result = await CameraPreview.capture(cameraPreviewPictureOptions);\nconst base64PictureData = result.value;\n\n// do sometime with base64PictureData\n\n```\n\n### captureSample(options)\n\n| Option  | values | descriptions                                        |\n| ------- | ------ | --------------------------------------------------- |\n| quality | number | (optional) The picture quality, 0 - 100, default 85 |\n\n\u003cinfo\u003e\n  Captures a sample image from the video stream. Only for Android and iOS, web implementation falls back to `capture`\n  method. This can be used to perform real-time analysis on the current frame in the video. The argument `quality`\n  defaults to `85` and specifies the quality/compression value: `0=max compression`, `100=max quality`.\n\u003c/info\u003e\n\u003cbr /\u003e\n\n```javascript\nimport { CameraSampleOptions } from '@capacitor-community/camera-preview';\n\nconst cameraSampleOptions: CameraSampleOptions = {\n  quality: 50\n};\n\nconst result = await CameraPreview.captureSample(cameraSampleOptions);\nconst base64PictureData = result.value;\n\n// do something with base64PictureData\n\n```\n\n### getSupportedFlashModes()\n\n\u003cinfo\u003e\n  Get the flash modes supported by the camera device currently started. Returns an array containing supported flash\n  modes. See \u003ccode\u003e[FLASH_MODE](#camera_Settings.FlashMode)\u003c/code\u003e for possible values that can be returned\n\u003c/info\u003e\n\u003cbr /\u003e\n\n```javascript\nimport { CameraPreviewFlashMode } from '@capacitor-community/camera-preview';\n\nconst flashModes = await CameraPreview.getSupportedFlashModes();\nconst supportedFlashModes: CameraPreviewFlashMode[] = flashModes.result;\n```\n\n### setFlashMode(options)\n\n\u003cinfo\u003e\n  Set the flash mode. See \u003ccode\u003e[FLASH_MODE](#camera_Settings.FlashMode)\u003c/code\u003e for details about the possible values\n  for flashMode.\n\u003c/info\u003e\n\u003cbr /\u003e\n\n```javascript\nconst CameraPreviewFlashMode: CameraPreviewFlashMode = 'torch';\n\nCameraPreview.setFlashMode(cameraPreviewFlashMode);\n```\n\n### startRecordVideo(options) ---- ANDROID and iOS only\n\n\u003cinfo\u003eStart capturing video\u003c/info\u003e\n\u003cbr /\u003e\n\n```javascript\nconst cameraPreviewOptions: CameraPreviewOptions = {\n  position: 'front',\n  width: window.screen.width,\n  height: window.screen.height,\n};\n\nCameraPreview.startRecordVideo(cameraPreviewOptions);\n```\n\n### stopRecordVideo() ---- ANDROID and iOS only\n\n\u003cinfo\u003eFinish capturing a video. The captured video will be returned as a file path and the video format is .mp4\u003c/info\u003e\n\u003cbr /\u003e\n\n```javascript\nconst resultRecordVideo = await CameraPreview.stopRecordVideo();\n```\n\n### setOpacity(options: CameraOpacityOptions): Promise\u003c{}\u003e; ---- ANDROID only\n\n\u003cinfo\u003eSet the opacity for the camera preview\u003c/info\u003e\n\u003cbr /\u003e\n\n```javascript\nconst myCamera = CameraPreview.start({ enableOpacity: true });\nmyCamera.setOpacity({ opacity: 0.4 });\n```\n\n### isCameraStarted() ---- ANDROID and iOS only\n\n\u003cinfo\u003eCheck or detect if the camera has been started\u003c/info\u003e\n\u003cbr /\u003e\n\n```javascript\nconst { value } = await CameraPreview.isCameraStarted();\n```\n\n# Settings\n\n\u003ca name=\"camera_Settings.FlashMode\"\u003e\u003c/a\u003e\n\n### FLASH_MODE\n\n\u003cinfo\u003eFlash mode settings:\u003c/info\u003e\n\u003cbr /\u003e\n\n| Name    | Type   | Default | Note         |\n| ------- | ------ | ------- | ------------ |\n| OFF     | string | off     |              |\n| ON      | string | on      |              |\n| AUTO    | string | auto    |              |\n| RED_EYE | string | red-eye | Android Only |\n| TORCH   | string | torch   |              |\n\n\u003c!--\n\n# Settings\n\n\u003ca name=\"camera_Settings.FocusMode\"\u003e\u003c/a\u003e\n\n### FOCUS_MODE\n\n\u003cinfo\u003eFocus mode settings:\u003c/info\u003e\u003cbr/\u003e\n\n| Name | Type | Default | Note |\n| --- | --- | --- | --- |\n| FIXED | string | fixed |  |\n| AUTO | string | auto |  |\n| CONTINUOUS | string | continuous | IOS Only |\n| CONTINUOUS_PICTURE | string | continuous-picture | Android Only |\n| CONTINUOUS_VIDEO | string | continuous-video | Android Only |\n| EDOF | string | edof | Android Only |\n| INFINITY | string | infinity | Android Only |\n| MACRO | string | macro | Android Only |\n\n\u003ca name=\"camera_Settings.FlashMode\"\u003e\u003c/a\u003e\n\n### FLASH_MODE\n\n\u003cinfo\u003eFlash mode settings:\u003c/info\u003e\u003cbr/\u003e\n\n| Name | Type | Default | Note |\n| --- | --- | --- | --- |\n| OFF | string | off |  |\n| ON | string | on |  |\n| AUTO | string | auto |  |\n| RED_EYE | string | red-eye | Android Only |\n| TORCH | string | torch |  |\n\n\u003ca name=\"camera_Settings.CameraDirection\"\u003e\u003c/a\u003e\n\n### CAMERA_DIRECTION\n\n\u003cinfo\u003eCamera direction settings:\u003c/info\u003e\u003cbr/\u003e\n\n| Name | Type | Default |\n| --- | --- | --- |\n| BACK | string | back |\n| FRONT | string | front |\n\n\u003ca name=\"camera_Settings.ColorEffect\"\u003e\u003c/a\u003e\n\n### COLOR_EFFECT\n\n\u003cinfo\u003eColor effect settings:\u003c/info\u003e\u003cbr/\u003e\n\n| Name | Type | Default | Note |\n| --- | --- | --- | --- |\n| AQUA | string | aqua | Android Only |\n| BLACKBOARD | string | blackboard | Android Only |\n| MONO | string | mono | |\n| NEGATIVE | string | negative | |\n| NONE | string | none | |\n| POSTERIZE | string | posterize | |\n| SEPIA | string | sepia | |\n| SOLARIZE | string | solarize | Android Only |\n| WHITEBOARD | string | whiteboard | Android Only |\n\n\u003ca name=\"camera_Settings.ExposureMode\"\u003e\u003c/a\u003e\n\n### EXPOSURE_MODE\n\n\u003cinfo\u003eExposure mode settings:\u003c/info\u003e\u003cbr/\u003e\n\n| Name | Type | Default | Note |\n| --- | --- | --- | --- |\n| AUTO | string | auto | IOS Only |\n| CONTINUOUS | string | continuous | |\n| CUSTOM | string | custom | |\n| LOCK | string | lock | IOS Only |\n\nNote: Use AUTO to allow the device automatically adjusts the exposure once and then changes the exposure mode to LOCK.\n\n\u003ca name=\"camera_Settings.WhiteBalanceMode\"\u003e\u003c/a\u003e\n\n### WHITE_BALANCE_MODE\n\n\u003cinfo\u003eWhite balance mode settings:\u003c/info\u003e\u003cbr/\u003e\n\n| Name | Type | Default | Note |\n| --- | --- | --- | --- |\n| LOCK | string | lock | |\n| AUTO | string | auto | |\n| CONTINUOUS | string | continuous | IOS Only |\n| INCANDESCENT | string | incandescent | |\n| CLOUDY_DAYLIGHT | string | cloudy-daylight | |\n| DAYLIGHT | string | daylight | |\n| FLUORESCENT | string | fluorescent | |\n| SHADE | string | shade | |\n| TWILIGHT | string | twilight | |\n| WARM_FLUORESCENT | string | warm-fluorescent | |\n\n# IOS Quirks\nIt is not possible to use your computers webcam during testing in the simulator, you must device test.\n\n# Customize Android Support Library versions (Android only)\nThe default `ANDROID_SUPPORT_LIBRARY_VERSION` is set to `26+`.\nIf you need a different version, add argument `--variable ANDROID_SUPPORT_LIBRARY_VERSION=\"{version}\"`.\n\nOr edit `config.xml` with following,\n\n```xml\n\u003cplugin name=\"cordova-plugin-camera-preview\" spec=\"X.X.X\"\u003e\n  \u003cvariable name=\"ANDROID_SUPPORT_LIBRARY_VERSION\" value=\"26+\" /\u003e\n\u003c/plugin\u003e\n```\n\n# Sample App\n\n\u003ca href=\"https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview-sample-app\"\u003ecordova-plugin-camera-preview-sample-app\u003c/a\u003e for a complete working Cordova example for Android and iOS platforms.\n\n# Screenshots\n\n\u003cimg src=\"https://raw.githubusercontent.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview/master/img/android-1.png\"/\u003e \u003cimg hspace=\"20\" src=\"https://raw.githubusercontent.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview/master/img/android-2.png\"/\u003e\n\n# Credits\n\nMaintained by [Weston Ganger](https://westonganger.com) - [@westonganger](https://github.com/westonganger)\n\nCreated by Marcel Barbosa Pinto [@mbppower](https://github.com/mbppower)\nÂ --\u003e\n\n# Demo/Example App\n\nA working example can be found at [Example App](https://github.com/capacitor-community/camera-preview/tree/master/example-app)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapacitor-community%2Fcamera-preview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcapacitor-community%2Fcamera-preview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapacitor-community%2Fcamera-preview/lists"}