diff --git a/community-solutions/comfyui-to-api/overview.mdx b/community-solutions/comfyui-to-api/overview.mdx index f017448a1..07c86bffb 100644 --- a/community-solutions/comfyui-to-api/overview.mdx +++ b/community-solutions/comfyui-to-api/overview.mdx @@ -85,6 +85,14 @@ Configure your deployment settings including which branch to deploy from (typica After clicking "Deploy Endpoint", Runpod builds the Docker image from your repository and deploys it to your endpoint automatically. You can monitor the build status in the "Builds" tab of your endpoint detail page. Once the build is complete, you can use the **example API request** provided in step 5 of the tool to test your endpoint. +## Step 7: Send requests to your endpoint + +ComfyUI-to-API only analyzes your workflow to detect custom nodes, models, and their download URLs so it can generate a Dockerfile. It does not embed the workflow into the worker. To actually run the workflow, you send it as JSON in each API request. + +Send requests to `https://api.runpod.ai/v2/ENDPOINT_ID/run` (asynchronous) or `/runsync` (synchronous). The request body must include the full workflow JSON under `input.workflow`. To change generation parameters (prompt, resolution, seed, steps, etc.), edit the `inputs` field of the relevant node inside that JSON, for example the `text` field of a `CLIPTextEncode` node for the prompt. + +For a complete example request body, including a working FLUX workflow JSON and the polling flow for the async endpoint, see [Deploy ComfyUI on Serverless](/tutorials/serverless/comfyui). For general request/response details and authentication, see [Send API requests](/serverless/endpoints/send-requests). + ## Understanding the repository files The generated repository includes the essential files needed to build your Serverless worker. @@ -144,6 +152,7 @@ For more details on managing deployments and monitoring builds, see [Deploy work ## Related documentation - [Deploy workers from GitHub](/serverless/workers/github-integration) +- [Send API requests](/serverless/endpoints/send-requests) - [Handler functions](/serverless/workers/handler-functions) - [Creating a Dockerfile](/serverless/workers/deploy#creating-a-dockerfile) - [Serverless overview](/serverless/overview) diff --git a/storage/s3-api.mdx b/storage/s3-api.mdx index a4de7e95c..54ad5a2b9 100644 --- a/storage/s3-api.mdx +++ b/storage/s3-api.mdx @@ -511,6 +511,20 @@ Files larger than 500MB must be uploaded using multipart uploads. The AWS CLI pe + + +A `403 Forbidden` response usually means the request authenticated to the S3 API but wasn't allowed to act on the target object. Check the following: + +- **Access Key ID must be your Runpod user ID.** The AWS Access Key ID field takes the Runpod user ID shown in your S3 API key description (e.g., `user_2f21CfO73Mm2Uq2lEGFiEF24IPw`), not the key's secret and not another identifier. See [Setup and authentication](#setup-and-authentication). +- **Secret Access Key must be the S3 API key secret** (e.g., `rps_***...`), not your Runpod API key. +- **You can only access network volumes owned by your account.** Requests against another user's volume ID return `403`. +- **Region and endpoint URL must match the volume's datacenter.** For a volume in `US-GA-2`, use `--region US-GA-2` and `--endpoint-url https://s3api-us-ga-2.runpod.io/`. A mismatch between region, endpoint, and volume datacenter can surface as `403` rather than a routing error. +- **`aws s3 sync` can return intermittent `AccessDenied` errors** even when credentials are correct. See the `aws s3 sync limitations` section below. + +If `ls` succeeds but `cp`, `HeadObject`, or `CopyObject` fails, credentials are working. Look at object-level causes next: the object path must exist on the volume (`HeadObject` on a missing key can surface as `403` in some clients), the volume must have free space for writes (see the storage capacity note below), and object names with special characters like `#` may need to be URL-encoded. + + + When running `aws s3 ls` or `ListObjects` on a directory with many files or large amounts of data (typically >10,000 files or >10 GB of data) for the first time, it may run very slowly, or you may encounter the following error: