Added a way to test Upscayl APIs using Requestly (#1326)

* feat: Add Requestly collection for Upscayl Cloud API testing

* Test Upscayl APIs

* Updated Readme

* Add files via upload

* Update Readme.md

* Rename Readme.md to Readme.md

* Rename Readme.md to Readme.md

* Renamed api-testing to apis

---------

Co-authored-by: Sachin Jain <sachinjain024@gmail.com>
Co-authored-by: Sachin Jain <sachinjain024@users.noreply.github.com>
This commit is contained in:
Ronak Kadhi
2025-09-08 18:43:37 +05:30
committed by GitHub
parent 583f6719a4
commit 0a6a159cdd
9 changed files with 325 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
Collection Name: Upscayl Cloud APIs
Description: Free and Open Source AI Image Upscaler - Test all cloud APIs for image enhancement and upscaling
GitHub: https://github.com/upscayl/upscayl
Product: https://upscayl.org
Get API Keys: https://upscayl.org/account/api-keys

View File

@@ -0,0 +1,38 @@
{
"name": "Complete Multipart Upload",
"request": {
"type": "http",
"url": "{{baseUrl}}/complete-multipart-upload",
"scripts": {
"preRequest": "",
"postResponse": ""
},
"method": "POST",
"queryParams": [],
"headers": [
{
"key": "Content-Type",
"value": "application/json",
"id": 0.2079949281498874,
"isEnabled": true
},
{
"key": "X-API-Key",
"value": "{{x-api-key}}",
"id": 0.3181722855688549,
"isEnabled": true
}
],
"body": "{\n \"data\":\n {\n \"uploadId\":\"<string>\",\n \"key\":\"<string>\",\n \"parts\":[\n {\"PartNumber\":123,\"ETag\":\"<string>\"\n }\n ]\n }\n}",
"bodyContainer": {
"text": "{\n \"data\":\n {\n \"uploadId\":\"<string>\",\n \"key\":\"<string>\",\n \"parts\":[\n {\"PartNumber\":123,\"ETag\":\"<string>\"\n }\n ]\n }\n}",
"form": [],
"multipartForm": []
},
"contentType": "application/json",
"auth": {
"currentAuthType": "INHERIT",
"authConfigStore": {}
}
}
}

View File

@@ -0,0 +1,38 @@
{
"name": "Get Task Status",
"request": {
"type": "http",
"url": "{{baseUrl}}/get-task-status",
"scripts": {
"preRequest": "",
"postResponse": ""
},
"method": "POST",
"queryParams": [],
"headers": [
{
"key": "Content-Type",
"value": "application/json",
"id": 0.9065972312402939,
"isEnabled": true
},
{
"key": "X-API-Key",
"value": "{{x-api-key}}",
"id": 0.007085334118682507,
"isEnabled": true
}
],
"body": "{\n \"data\":\n {\n \"taskId\":\"<String>\"\n }\n}",
"bodyContainer": {
"text": "{\n \"data\":\n {\n \"taskId\":\"<String>\"\n }\n}",
"form": [],
"multipartForm": []
},
"contentType": "application/json",
"auth": {
"currentAuthType": "INHERIT",
"authConfigStore": {}
}
}
}

View File

@@ -0,0 +1,38 @@
{
"name": "Get Upload URL",
"request": {
"type": "http",
"url": "{{baseUrl}}/get-upload-url",
"scripts": {
"preRequest": "",
"postResponse": ""
},
"method": "POST",
"queryParams": [],
"headers": [
{
"key": "Content-Type",
"value": "application/json",
"id": 0.45961348606645847,
"isEnabled": true
},
{
"key": "X-API-Key",
"value": "{{x-api-key}}",
"id": 0.33373531727335637,
"isEnabled": true
}
],
"body": "{\n \"data\":\n {\n \"fileSize\":123456,\n \"fileType\":\"image/png\",\n \"originalFileName\":\"test.png\"\n }\n}",
"bodyContainer": {
"text": "{\n \"data\":\n {\n \"fileSize\":123456,\n \"fileType\":\"image/png\",\n \"originalFileName\":\"test.png\"\n }\n}",
"form": [],
"multipartForm": []
},
"contentType": "application/json",
"auth": {
"currentAuthType": "INHERIT",
"authConfigStore": {}
}
}
}

View File

@@ -0,0 +1,124 @@
{
"name": "Start Upscaling Task",
"request": {
"type": "http",
"url": "{{baseUrl}}/start-task",
"scripts": {
"preRequest": "",
"postResponse": ""
},
"method": "POST",
"queryParams": [],
"headers": [
{
"key": "Content-Type",
"value": "multipart/form-data",
"id": 0.5385339741202935,
"isEnabled": true
},
{
"key": "X-API-Key",
"value": "{{x-api-key}}",
"id": 0.029130453951579982,
"isEnabled": true
}
],
"body": [
{
"key": "file",
"value": [],
"id": 0.6016115046426929,
"isEnabled": true,
"type": "file"
},
{
"id": 1756969449436,
"key": "urls",
"value": "",
"isEnabled": true,
"type": "text"
},
{
"id": 1756969469246,
"key": "model",
"value": "quick-clear-4x",
"isEnabled": true,
"type": "text"
},
{
"id": 1756969498145,
"key": "scale",
"value": "2",
"isEnabled": true,
"type": "text"
},
{
"id": 1756969506912,
"key": "saveImageAs",
"value": "png",
"isEnabled": true,
"type": "text"
},
{
"id": 1756969526962,
"key": "enhanceFace",
"value": "false",
"isEnabled": true,
"type": "text"
}
],
"bodyContainer": {
"text": "",
"form": [],
"multipartForm": [
{
"key": "file",
"value": [],
"id": 0.6016115046426929,
"isEnabled": true,
"type": "file"
},
{
"id": 1756969449436,
"key": "urls",
"value": "",
"isEnabled": true,
"type": "text"
},
{
"id": 1756969469246,
"key": "model",
"value": "quick-clear-4x",
"isEnabled": true,
"type": "text"
},
{
"id": 1756969498145,
"key": "scale",
"value": "2",
"isEnabled": true,
"type": "text"
},
{
"id": 1756969506912,
"key": "saveImageAs",
"value": "png",
"isEnabled": true,
"type": "text"
},
{
"id": 1756969526962,
"key": "enhanceFace",
"value": "false",
"isEnabled": true,
"type": "text"
}
]
},
"contentType": "multipart/form-data",
"auth": {
"currentAuthType": "INHERIT",
"authConfigStore": {}
}
}
}

View File

@@ -0,0 +1,14 @@
{
"baseUrl": {
"value": "https://api.upscayl.org",
"type": "string",
"id": 0,
"isSecret": false
},
"x-api-key": {
"value": "YOUR_API_KEY_HERE",
"type": "string",
"id": 1,
"isSecret": true
}
}

53
apis/upscayl/Readme.md Normal file
View File

@@ -0,0 +1,53 @@
# Upscayl Cloud API - Requestly Collection
Test the Upscayl Cloud API endpoints using Requestly for seamless AI image upscaling integration.
## About Requestly
[Requestly](https://requestly.com) is an API testing tool chosen for this collection because it's Git-friendly, requires no login, and offers local storage options. This makes it perfect for version-controlled API testing that developers can clone and use immediately.
<img width="1440" height="900" alt="API Testing" src="https://github.com/user-attachments/assets/78e659ff-ed35-4185-aa3b-ade597002240" />
## API Endpoints Covered
This collection includes 4 Upscayl Cloud API endpoints:
### 1. Get Upload URL (`POST /get-upload-url`)
Generates secure upload URLs for image files before processing.
### 2. Complete Multipart Upload (`POST /complete-multipart-upload`)
Finalizes multipart file uploads to cloud storage.
### 3. Start Upscaling Task (`POST /start-task`)
Initiates the AI upscaling process with model selection, scale factor, output format, and enhancement options.
### 4. Get Task Status (`POST /get-task-status`)
Monitors the progress of upscaling tasks and retrieves download links when complete.
## Getting Started
### Prerequisites
- [Requestly Desktop App](https://requestly.com/desktop) or Browser Extension
- Upscayl API key from https://upscayl.org/account/api-keys
### Step 1: Clone Repository
```bash
git clone https://github.com/upscayl/upscayl.git
cd upscayl/api-collection
```
### Step 2: Configure Variables
1. Open Requestly and navigate to the auto-imported collection
2. Go to **Collections** > **Upscayl API Testing** > **Variables**
3. Update the following values:
```
baseUrl: https://api.upscayl.org
x-api-key: YOUR_ACTUAL_API_KEY_HERE
```
### Step 3: Start Testing
The collection is ready to use - no import needed! Test the endpoints directly:
1. **Upload Workflow**: Use "Get Upload URL" → "Complete Multipart Upload" for large files
2. **Direct Upload**: Use "Start Upscaling Task" with file picker for immediate processing
3. **Monitor Progress**: Use "Get Task Status" to check processing status

View File

@@ -0,0 +1,4 @@
{
"name": "Global Variables",
"variables": {}
}

View File

@@ -0,0 +1,7 @@
{
"version": "0.0.2",
"excludes": [
"*.md",
"Readme.md"
]
}