# cloudapi > Image and asynchronous video generation through one gateway. Live service: https://cloudapi.site. Read the complete workflow before making requests. Use an operator-provided origin and user-provided cloudapi token. Use https://cloudapi.site for this deployment. Generation may cost money; never execute documentation examples merely to test connectivity. ## Integration - [Client configuration](https://cloudapi.site/client-config.json): Exact base URLs, authentication and HTTP operations. - [Environment template](https://cloudapi.site/cloudapi.env.example): Configure your own key privately. - [Full guide](./llms-full.txt): Authentication, media references, idempotency, polling, downloads, errors and examples. - [OpenAPI 3.1](./openapi.json): Machine-readable requests and responses. - [Model capabilities](./model-capabilities.json): Public model IDs and allowed parameters; intersect with GET /v1/models. - [Human documentation](./docs): Readable documentation. - [API keys](./keys): User creates their own scoped key. - [Model square](./pricing): Current displayed pricing. Prefer existing HTTPS media URLs; do not upload or download files unnecessarily. Before an intentional paid request, POST its exact body to /v1/videos/validate or /v1/images/validate. These checks create no task and charge no model balance. Only submit after available:true and validation_only:true. Local files can upload directly to private COS storage using prepare/complete, with a 3-day reference lifetime. Preserve opaque reference/result URLs. Persist one Idempotency-Key and exact body per intentional generation. On uncertainty, never create a new key automatically.