> For the complete documentation index, see [llms.txt](https://docs.viesus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.viesus.com/use-cases/cloud-api-integration.md).

# Cloud API Integration

How a web application enhances user-uploaded images with the VIESUS Cloud API — asynchronous, webhook-driven, no infrastructure — and which interface fits.

**The scenario:** A web application lets users upload photos that are enhanced automatically and made available to download. Processing is asynchronous — users upload, are notified when the result is ready, and retrieve it — with no enhancement infrastructure to run and billing per image.

***

## Recommended interface

{% hint style="info" %}
Use the [**VIESUS Cloud API**](/reference/cloud-api/overview.md). It's a hosted GraphQL API — no library to install, no GPU to provision, no license to manage. You pay per enhancement and get AI features (including upscaling) without a local NVIDIA GPU.
{% endhint %}

Choose the Cloud when you don't want to operate servers. If you need on-premise processing or air-gapped operation, use the [CLI](/use-cases/photo-lab-batch.md) or [Node.js module](/use-cases/nodejs-saas.md) instead.

***

## How it works

* **Upload** an image or PDF — either from a public URL, or via a signed upload URL so the browser uploads directly to VIESUS Cloud storage (keeping large files off your backend).
* **Trigger enhancement** with the parameters you want.
* **Get the result** by either polling the job status or — recommended for production — receiving a **webhook** when processing completes, then downloading the enhanced file.
* Billing is **credit-based**, charged per enhancement.

***

## What to consider

| Factor             | Guidance                                                                                                 |
| ------------------ | -------------------------------------------------------------------------------------------------------- |
| **Connectivity**   | Requires internet access and file upload; not suitable for air-gapped environments.                      |
| **Upload pattern** | The signed-URL flow avoids routing large files through your backend, reducing latency and egress cost.   |
| **Webhooks**       | Prefer webhooks over polling at scale, and always verify the webhook signature before trusting an event. |
| **Credits**        | Track consumption and budget against your volume — see [Credits](/reference/cloud-api/credits.md).       |
| **Limits**         | Requests are subject to API rate limits and file-size limits.                                            |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.viesus.com/use-cases/cloud-api-integration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
