# Cloudinary-compatible API (/en/docs/api/compatible/cloudinary)



Manage a library with an official Cloudinary SDK. Configure these three values; the API Key is sent as a Bearer credential.

[Guide →](/en/docs/developers/services/media/quickstart)

`https://api.deepraxis.ai/cloudinary/v1_1/{library_id}`

| Setting | Value |
| --- | --- |
| cloud_name | library_id |
| oauth_token | API Key |
| upload_prefix | https://api.deepraxis.ai/cloudinary |

## Node.js [#nodejs]

```bash
npm install cloudinary@2
```

```javascript
import { v2 as cloudinary } from "cloudinary";

cloudinary.config({
  cloud_name: process.env.LIBRARY_ID,
  oauth_token: process.env.PRAXIS_API_KEY,
  upload_prefix: "https://api.deepraxis.ai/cloudinary",
});
```

## Python [#python]

```bash
python -m pip install cloudinary
```

```python
import os
import cloudinary
import cloudinary.uploader
import cloudinary.api

cloudinary.config(
    cloud_name=os.environ["LIBRARY_ID"],
    oauth_token=os.environ["PRAXIS_API_KEY"],
    upload_prefix="https://api.deepraxis.ai/cloudinary",
)
```

## Support matrix [#support-matrix]

| Operation | Support |
| --- | --- |
| GET /v1_1/&#123;library_id&#125;/resources/visual_search | supported |
| POST /v1_1/&#123;library_id&#125;/resources/visual_search | supported |
| POST /v1_1/&#123;library_id&#125;/&#123;resource_type&#125;/upload | supported |
| POST /v1_1/&#123;library_id&#125;/&#123;resource_type&#125;/destroy | supported |
| POST /v1_1/&#123;library_id&#125;/&#123;resource_type&#125;/rename | supported |
| POST /v1_1/&#123;library_id&#125;/&#123;resource_type&#125;/tags | supported |
| POST /v1_1/&#123;library_id&#125;/&#123;resource_type&#125;/context | supported |
| POST /v1_1/&#123;library_id&#125;/&#123;resource_type&#125;/explicit | supported |
| GET /v1_1/&#123;library_id&#125;/resources/search | supported |
| POST /v1_1/&#123;library_id&#125;/resources/search | supported |
| GET /v1_1/&#123;library_id&#125;/resources | supported |
| GET /v1_1/&#123;library_id&#125;/resources/&#123;resource_type&#125; | supported |
| GET /v1_1/&#123;library_id&#125;/resources/&#123;resource_type&#125;/upload | supported |
| GET /v1_1/&#123;library_id&#125;/resources/&#123;asset_id&#125; | supported |
| GET /v1_1/&#123;library_id&#125;/resources/by_asset_ids | supported |
| GET /v1_1/&#123;library_id&#125;/resources/by_asset_folder | supported |
| GET /v1_1/&#123;library_id&#125;/resources/&#123;resource_type&#125;/tags/&#123;tag&#125; | supported |
| GET /v1_1/&#123;library_id&#125;/resources/&#123;resource_type&#125;/context | supported |
| GET /v1_1/&#123;library_id&#125;/resources/&#123;resource_type&#125;/upload/&#123;public_id&#125; | supported |
| POST /v1_1/&#123;library_id&#125;/resources/by_asset_ids | supported |
| POST /v1_1/&#123;library_id&#125;/resources/&#123;resource_type&#125;/upload/&#123;public_id&#125; | supported |
| PUT /v1_1/&#123;library_id&#125;/resources/&#123;resource_type&#125;/upload/&#123;public_id&#125; | supported |
| DELETE /v1_1/&#123;library_id&#125;/resources/&#123;resource_type&#125;/upload | supported |
| DELETE /v1_1/&#123;library_id&#125;/resources/&#123;resource_type&#125;/tags/&#123;tag&#125; | supported |
| GET /v1_1/&#123;library_id&#125;/tags/&#123;resource_type&#125; | supported |
| GET /v1_1/&#123;library_id&#125;/folders | supported |
| GET /v1_1/&#123;library_id&#125;/folders/&#123;folder&#125; | supported |
| POST /v1_1/&#123;library_id&#125;/folders/&#123;folder&#125; | supported |
| PUT /v1_1/&#123;library_id&#125;/folders/&#123;folder&#125; | supported |
| DELETE /v1_1/&#123;library_id&#125;/folders/&#123;folder&#125; | supported |
| GET /v1_1/&#123;library_id&#125;/ping | supported |
| GET /v1_1/&#123;library_id&#125;/usage | partial |
| GET /v1_1/&#123;library_id&#125;/usage/&#123;date&#125; | partial |

usage returns current storage bytes and asset count only; dates do not select historical totals.

## Unsupported operations [#unsupported-operations]

| Endpoint | HTTP |
| --- | --- |
| upload_presets | 400 |
| metadata_fields | 400 |
| transformations | 400 |
| streaming_profiles | 400 |
| upload_mappings | 400 |
| triggers | 400 |
| derived_resources | 400 |
| relations | 400 |
| restore | 400 |
| backups | 400 |
| text | 400 |
| sprite | 400 |
| multi | 400 |
| explode | 400 |
| generate_archive | 400 |
| create_slideshow | 400 |
| download_backup_asset | 400 |
| folders/search | 400 |

These endpoint messages contain is not supported. Private and authenticated delivery types also return 400.

## Upload parameters [#upload-parameters]

| Parameter | Support |
| --- | --- |
| file | supported |
| public_id | supported |
| public_id_prefix | supported |
| display_name | supported |
| asset_folder | supported |
| use_filename | supported |
| unique_filename | supported |
| use_filename_as_display_name | supported |
| filename_override | supported |
| overwrite | supported |
| tags | supported |
| context | supported |
| auto_tagging | partial |
| resource_type | supported |
| eager | unsupported |
| eager_async | unsupported |
| eager_notification_url | unsupported |
| async | unsupported |
| notification_url | unsupported |
| upload_preset | unsupported |
| moderation | unsupported |
| detection | unsupported |
| ocr | unsupported |
| raw_convert | unsupported |
| background_removal | unsupported |
| categorization | unsupported |
| transformation | unsupported |
| responsive_breakpoints | unsupported |
| proxy | unsupported |
| backup | unsupported |
| return_delete_token | unsupported |
| access_control | unsupported |
| access_mode | unsupported |
| metadata | unsupported |
| face_coordinates | unsupported |
| custom_coordinates | unsupported |
| regions | unsupported |
| quality_analysis | unsupported |
| accessibility_analysis | unsupported |
| cinemagraph_analysis | unsupported |
| media_metadata | unsupported |
| phash | unsupported |
| colors | unsupported |
| faces | unsupported |
| image_metadata | unsupported |
| exif | unsupported |
| invalidate | unsupported |
| type | unsupported |

Unsupported upload parameters return 400 with Unsupported upload parameter: followed by the parameter name.

[Error envelopes and codes](/en/docs/api/native/media/errors)
