Skip to content

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

MethodPathDescription
GET/v1/gpu/enginesList engines
GET/v1/gpu/presetsList presets
GET/v1/gpu/pricingGet pricing
POST/v1/gpu/jobsCreate job
GET/v1/gpu/jobsList 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:

bash
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:

bash
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:

bash
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 description
  • aspect_ratio: 1:1, 4:5, 16:9, 9:16 (default: 16:9)
  • negative_prompt: What to avoid
  • seed: Random seed for reproducibility

Video inputs:

  • prompt (required): Video description
  • duration_sec: Duration in seconds (engine-limited)
  • negative_prompt: What to avoid
  • seed: Random seed for reproducibility

Request Body:

FieldTypeDescription
typestringRequired. Values: image, video
enginestringRequired. Engine to use
inputsobjectRequired.
presetstringStyle preset
webhook_urlstringCallback URL (video only)

Example:

json
{
  "type": "image",
  "engine": "image-flux-fast",
  "inputs": {
    "prompt": "A serene mountain landscape at sunset",
    "aspect_ratio": "16:9"
  }
}

Response:

FieldTypeDescription
idstring
typestringValues: image, video
enginestring
statusstringValues: queued, processing, completed, failed, cancelled
progressinteger
output_filesobjectURLs to generated files
estimated_costGPUJobCost
actual_costGPUJobCost
error_messagestring
created_atstring
completed_atstring

Example:

bash
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:

bash
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:

FieldTypeDescription
idstring
typestringValues: image, video
enginestring
statusstringValues: queued, processing, completed, failed, cancelled
progressinteger
output_filesobjectURLs to generated files
estimated_costGPUJobCost
actual_costGPUJobCost
error_messagestring
created_atstring
completed_atstring

Example:

bash
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:

bash
curl -X DELETE https://api.wayscloud.services/v1/gpu/jobs/{job_id} \
  -H "X-API-Key: YOUR_API_KEY"

WAYSCloud AS