Skip to main content
Every higgsfield.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Files

createUploadUrl

files.createUploadUrl Get a presigned URL to PUT an input file to yourself, and the public URL it will have. For most uses files.upload does both steps. Risk: write
Input The upload URL is good for one hour. PUT the file there with every upload_headers entry and no Higgsfield credentials. Output

upload

files.upload Upload an image, audio or video file from base64 and get the public URL to pass as a model input. A file already at a public https URL needs no upload: pass that URL to the model. Risk: write
Input Up to 100 MB, as base64. A file already at a public https URL needs no upload, since model inputs take public URLs. Uploaded files are deleted within seven days. Output

Generations

estimate

generations.estimate What a generation with these inputs would cost, in US dollars and credits. Free; nothing runs. Risk: read
Input Free. Takes the same input as a generation, so the price reflects the duration, resolution and batch size you ask for. Output

run

generations.run Generate and wait up to waitSeconds (default 10, at most 15) for the output; spends account balance when it completes. Answers like requests.status: queued or in_progress is a job to follow with requests.status, and video usually takes longer than the wait. Outputs expire after 7 days by default. Risk: write
Input Spends account balance when the request completes. The wait counts from the start of the submit. Once Higgsfield has accepted the request, this never throws. A status read that fails or runs late answers the request as it last stood. As with generations.submit, a caller that replays a step or starts a new script must pass its own idempotencyKey to be safe across attempts. Output

submit

generations.submit Queue a generation (image, video…) and get a request id back at once; spends account balance when it completes. Follow it with requests.status until it is completed, failed, nsfw or canceled, or pass webhookUrl. Outputs expire after 7 days by default. Repeating with the returned idempotency_key is never charged twice. Risk: write
Input Spends account balance when the request completes. status here is an acceptance receipt, and a repeat with the same key can say queued for a request that has since finished, so read requests.status for where it stands. Reusing a key with a different modelPath, input, webhookUrl or expiresAfter is a 422. A workflow step that can replay, or a script that can start again, must pass its own idempotencyKey, because a generated key only covers retries inside one call. Output

Models

get

models.get One model by its path, with its input fields (input_schema). Read this before a generation: every model takes its own fields. Risk: read
Input Fetches the whole list with schemas, since the route has no single-model form. Output

list

models.list Find Higgsfield models by text, output type or operation; includeSchema adds their input fields Risk: read
Input Reads GET /models, which answers with the API key but isn’t in Higgsfield’s docs. search is free text. A model on Higgsfield’s docs site can still answer even if it isn’t listed, and the other way round. Output

Requests

cancel

requests.cancel Cancel a request that is still queued and refund it. Once it has started it cannot be canceled, and this errors. Risk: write
Input Only works while the request is queued, and a canceled request is refunded. Once it has started, or after it has finished, Higgsfield answers 400 and this throws. Output

delete

requests.delete Delete a finished request’s files, prompt and parameters now. Billing records stay. A request still running gets a 409. Risk: destructive · Irreversible
Input Deletes the request’s files, prompt and parameters for good, and billing records stay. A request still queued or running gets a 409. Deleting one that is already gone still answers deleted. Output

status

requests.status Where a request stands, with its output URLs once completed. Output URLs stop working at expires_at, 7 days after it finished by default. Risk: read
Input A request ended by moderation says nsfw, not failed. Some video and 3D operations add artifacts such as zip, mov, jsx, fbx or ply, which come through as extra fields. Output

Usage

get

usage.get Completed generations and their estimated cost by model and time bucket. For monitoring: it can lag and is not a billing record. Risk: read
Input Estimated cost of completed generations, grouped by time bucket and model. Data can lag and may not include every request, so it is not a billing record. The range is at most 31 days. Output