Quady3D AI Uploads API
The Uploads API from Quady3D AI — 1 operation(s) for uploads.
The Uploads API from Quady3D AI — 1 operation(s) for uploads.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/quady3d-com:quady3d-com-uploads-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Quady3d Com Uploads API
version: 0.1.0-dev
description: 'Operations tagged Uploads across 2 of this provider''s published API definitions: quady3d-com-openapi.json, quady3d-com-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /api/v1
security:
- Quady3DKey: []
tags:
- name: Uploads
paths:
/uploads:
post:
operationId: uploadImage
summary: Stage a selected input without a generation charge
x-required-scopes:
- uploads:write
description: Send a single raw PNG, JPG or WebP body, up to 8 MiB. No multipart wrapper, base64 or remote URL. When advanced operations are enabled, embedded GLB 2.0 models up to 50 MiB are also accepted as model/gltf-binary. Model dependencies must be embedded, with no URI references. Use source_upload_id for model processing. The immutable owned upload can be reused until expires_at; active task references protect its bytes after expiry.
requestBody:
required: true
x-max-bytes: 8388608
content:
image/png: {}
image/jpeg: {}
image/webp: {}
responses:
'201':
description: An owned upload ID and its expiry, not an object key.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
content:
application/json:
schema:
$ref: '#/components/schemas/UploadedImage'
'400':
description: A stable error. Retry writes only with the original Idempotency-Key and body.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
Retry-After:
schema:
type: string
description: Wait this many seconds before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: A stable error. Retry writes only with the original Idempotency-Key and body.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
Retry-After:
schema:
type: string
description: Wait this many seconds before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'402':
description: A stable error. Retry writes only with the original Idempotency-Key and body.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
Retry-After:
schema:
type: string
description: Wait this many seconds before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: A stable error. Retry writes only with the original Idempotency-Key and body.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
Retry-After:
schema:
type: string
description: Wait this many seconds before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: A stable error. Retry writes only with the original Idempotency-Key and body.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
Retry-After:
schema:
type: string
description: Wait this many seconds before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'409':
description: A stable error. Retry writes only with the original Idempotency-Key and body.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
Retry-After:
schema:
type: string
description: Wait this many seconds before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'410':
description: A stable error. Retry writes only with the original Idempotency-Key and body.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
Retry-After:
schema:
type: string
description: Wait this many seconds before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'413':
description: A stable error. Retry writes only with the original Idempotency-Key and body.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
Retry-After:
schema:
type: string
description: Wait this many seconds before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'415':
description: A stable error. Retry writes only with the original Idempotency-Key and body.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
Retry-After:
schema:
type: string
description: Wait this many seconds before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: A stable error. Retry writes only with the original Idempotency-Key and body.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
Retry-After:
schema:
type: string
description: Wait this many seconds before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'503':
description: A stable error. Retry writes only with the original Idempotency-Key and body.
headers:
X-Request-Id:
schema:
type: string
description: A diagnostic request ID. Never a credential.
Cache-Control:
schema:
type: string
description: Private API data is not stored in shared caches.
Retry-After:
schema:
type: string
description: Wait this many seconds before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
tags:
- Uploads
servers:
- url: /api/v1
components:
schemas:
ErrorResponse:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
request_id:
type: string
retryable:
type: boolean
required:
- code
- message
- request_id
- retryable
required:
- error
UploadedImage:
type: object
properties:
id:
type: string
pattern: ^upl_[a-f0-9]{32}$
content_type:
type: string
enum:
- image/png
- image/jpeg
- image/webp
byte_size:
type: integer
minimum: 1
maximum: 8388608
sha256:
type: string
pattern: ^[a-f0-9]{64}$
expires_at:
type: integer
minimum: 0
request_id:
type: string
required:
- id
- content_type
- byte_size
- sha256
- expires_at
- request_id
securitySchemes:
Quady3DKey:
type: http
scheme: bearer
description: Use a dedicated verified-account Key. Never put the Key in a URL, browser bundle or shared project.
x-refined-from:
- quady3d-com-openapi.json
- quady3d-com-openapi.json