# info.description
API for asynchronous image and video segmentation and account management.

# paths./v1/uploads/presign.post.summary
Create a presigned upload URL for an input file

# paths./v1/uploads/presign.post.description
Request a short-lived S3 PUT URL and a task ID for an image or video file. PUT the bytes to uploadUrl with the same Content-Type, then pass the task ID to createJob.

# paths./v1/jobs.get.description
List async segmentation jobs for the authenticated account.

# paths./v1/jobs.post.summary
Create an asynchronous segmentation job (image or video)

# paths./v1/jobs.post.description
Queue an image or video segmentation job from previously uploaded task IDs and text prompts. The job runs asynchronously. Poll retrieveJob until status is success, then fetch masks with retrieveJobResult or createJobDownload. Auth is required; there is no anonymous API.

# paths./v1/jobs/{jobId}.get.description
Return the current job status and per-task state. This response does not include masks. Poll until status is success or failed, then call retrieveJobResult or createJobDownload.

# paths./v1/jobs/{jobId}/result.get.summary
Retrieve a completed segmentation job result

# paths./v1/jobs/{jobId}/result.get.description
Returns the result manifest with short-lived signed URLs for owned output assets.

# paths./v1/jobs/{jobId}/result.get.responses.200.description
Completed result manifest and signed assets

# paths./v1/jobs/{jobId}/download.get.description
Poll an archive request started with createJobDownload. When status is ready, downloadUrl is a short-lived presigned zip containing output_manifest.json and mask artifacts.

# paths./v1/jobs/{jobId}/download.post.summary
Create or reuse an async job archive download

# paths./v1/jobs/{jobId}/download.post.description
Start or reuse a zip archive of a successful job's outputs. Returns pending until the archive is built. The job must already be success; otherwise the API returns 409.

# paths./v1/account/overview.get.summary
Retrieve account usage and billing status

# components.parameters.NextTokenQuery.description
Opaque cursor for the next page of results.

# components.parameters.JobIdQuery.description
Return the matching job identifier, if it belongs to the account.

# components.responses.Unauthorized.description
Authentication is missing, invalid, or expired

# components.responses.ForbiddenInputKey.description
The provided taskId does not belong to the authenticated account

# components.responses.EnqueueError.description
Failed to enqueue job for background processing

# components.responses.Conflict.description
Request conflicts with the current resource state

# components.responses.PaymentRequired.description
Trial access is expired, exhausted, or insufficient

# components.responses.ServiceUnavailable.description
Free trial queue capacity is temporarily unavailable

# components.securitySchemes.Authorizer.description
Unrestricted secret `sk_live_...` or Cognito access token in `Authorization: Bearer ...`

# components.schemas.PresignUploadRequest.properties.contentType.description
An image or video MIME type, or application/octet-stream.

# components.schemas.PresignUploadResponse.properties.taskId.description
Opaque upload id. Includes the file extension so create-job can address the object without listing the inputs prefix (for example a1b2c3d4-e5f6-7890-abcd-ef1234567890.png).

# components.schemas.ImageJobCreateRequest.properties.prompts.description
Required for all jobs and must include at least one non-empty prompt.

# components.schemas.ImageJobCreateRequest.properties.generatePreview.description
When true, includes a composited preview image in the result.

# components.schemas.ImageJobCreateRequest.properties.tasks.description
Task ids returned by POST /v1/uploads/presign.

# components.schemas.VideoJobCreateRequest.properties.generatePreview.description
When true, includes a baked preview video in the result.

# components.schemas.VideoJobCreateRequest.properties.fps.description
Sampling rate in frames per second. Mutually exclusive with numFrames.

# components.schemas.VideoJobCreateRequest.properties.numFrames.description
Number of frames to sample. Mutually exclusive with fps.

# components.schemas.VideoJobCreateRequest.properties.tasks.description
Single task id returned by POST /v1/uploads/presign.