GPU Studio API
Generate images and short video clips using WAYSCloud GPU Studio.
GPU Studio is a job-based API:
- Create a job with an engine and input prompt
- Poll job status until it is completed
- Download results via URLs in output_files
Engines are curated and stable identifiers. Use GET /v1/gpu/engines to discover which engines are available for your account.
Pricing is not hardcoded in this documentation. Always use GET /v1/gpu/pricing for the current price list (supports multiple currencies).
Authentication: Use either X-API-Key header or Authorization: Bearer <key> for protected endpoints.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /v1/gpu/engines | List engines |
GET | /v1/gpu/presets | List presets |
GET | /v1/gpu/pricing | Get pricing |
POST | /v1/gpu/jobs | Create job |
GET | /v1/gpu/jobs | List jobs |
GET | /v1/gpu/jobs/{job_id} | Get job |
DELETE | /v1/gpu/jobs/{job_id} | Cancel job |
GET /v1/gpu/engines
List engines
List available GPU engines for image and video generation. No authentication required.
Response:
Example:
curl https://api.wayscloud.services/v1/gpu/engines \
-H "X-API-Key: YOUR_API_KEY"GET /v1/gpu/presets
List presets
List available style presets. No authentication required.
Response:
Example:
curl https://api.wayscloud.services/v1/gpu/presets \
-H "X-API-Key: YOUR_API_KEY"GET /v1/gpu/pricing
Get pricing
Returns the current public price list per engine. Availability for your account is determined by GET /v1/gpu/engines. No authentication required.
Response:
Example:
curl https://api.wayscloud.services/v1/gpu/pricing \
-H "X-API-Key: YOUR_API_KEY"POST /v1/gpu/jobs
Create job
Create an image or video generation job.
Image inputs:
prompt(required): Image descriptionaspect_ratio: 1:1, 4:5, 16:9, 9:16 (default: 16:9)negative_prompt: What to avoidseed: Random seed for reproducibility
Video inputs:
prompt(required): Video descriptionduration_sec: Duration in seconds (engine-limited)negative_prompt: What to avoidseed: Random seed for reproducibility
Request Body:
| Field | Type | Description |
|---|---|---|
type | string | Required. Values: image, video |
engine | string | Required. Engine to use |
inputs | object | Required. |
preset | string | Style preset |
webhook_url | string | Callback URL (video only) |
Example:
{
"type": "image",
"engine": "image-flux-fast",
"inputs": {
"prompt": "A serene mountain landscape at sunset",
"aspect_ratio": "16:9"
}
}Response:
| Field | Type | Description |
|---|---|---|
id | string | |
type | string | Values: image, video |
engine | string | |
status | string | Values: queued, processing, completed, failed, cancelled |
progress | integer | |
output_files | object | URLs to generated files |
estimated_cost | GPUJobCost | |
actual_cost | GPUJobCost | |
error_message | string | |
created_at | string | |
completed_at | string |
Example:
curl -X POST https://api.wayscloud.services/v1/gpu/jobs \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{...}'GET /v1/gpu/jobs
List jobs
List jobs for your account.
Response:
Example:
curl https://api.wayscloud.services/v1/gpu/jobs \
-H "X-API-Key: YOUR_API_KEY"GET /v1/gpu/jobs/
Get job
Get job status and details.
Response:
| Field | Type | Description |
|---|---|---|
id | string | |
type | string | Values: image, video |
engine | string | |
status | string | Values: queued, processing, completed, failed, cancelled |
progress | integer | |
output_files | object | URLs to generated files |
estimated_cost | GPUJobCost | |
actual_cost | GPUJobCost | |
error_message | string | |
created_at | string | |
completed_at | string |
Example:
curl https://api.wayscloud.services/v1/gpu/jobs/{job_id} \
-H "X-API-Key: YOUR_API_KEY"DELETE /v1/gpu/jobs/
Cancel job
Cancel a job if possible. Only queued or processing jobs can be cancelled.
Example:
curl -X DELETE https://api.wayscloud.services/v1/gpu/jobs/{job_id} \
-H "X-API-Key: YOUR_API_KEY"