---
title: "Confirm a ComfyUI upload"
method: POST
path: "/api/v1/import/comfyui/confirm-upload"
tags: ["Assets"]
---

# Confirm a ComfyUI upload

`POST /api/v1/import/comfyui/confirm-upload`

## Request

- Base URL: `https://numonic.ai`
- URL: `https://numonic.ai/api/v1/import/comfyui/confirm-upload`
- Auth: API key in header `x-api-key`

Finish an upload made to a signed URL: the file is read from storage, its metadata is extracted and an asset is created. The `path` must come from POST /comfy-lineage/asset/signed-url and belong to your tenant. Requires the `write` or `comfy-ingest` scope.

## Request body

- object
  - `path` string, required: Storage path returned when the signed URL was issued
  - `filename` string, required
  - `fileSize` integer, required
  - `mimeType` 'image/png' | 'video/mp4' | 'video/webm' | 'video/quicktime' | 'video/x-msvideo' | 'video/x-matroska' | 'audio/mpeg' | 'audio/wav' | 'audio/ogg' | 'audio/flac' | 'audio/mp4' | 'audio/opus', required
  - `importBatchId` string, uuid
  - `folderIdentity` string
  - `clientThumbnails` object
    - `square` object
    - `aspectRatio` object

## Response `200`

Asset created

- object
  - `success` true, required
  - `warning` string, nullable, required
  - `url` string, required: Link to the asset in the Numonic app
  - `asset` object, required
    - `assetH` string, required
    - `filename` string, required
    - `fileSize` integer, required
    - `toolName` string, required
    - `storagePath` string, required
    - `thumbnailsGenerated` boolean, required
  - `metadata` object, nullable, required

## Other responses

- `400`: Invalid request body or storage path not in your tenant
- `401`: Missing or invalid credentials
- `404`: File not found in storage
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/numonic/apis/numonic-api.md) · [All operations](https://skmtc.dev/numonic/apis/numonic-api/llms.txt) · [OpenAPI document](https://skmtc.dev/numonic/apis/numonic-api/revisions/6c559bef1e35?raw)
