higgsfield/higgsfield-kling-3-4k, served by Comfy Router from Higgsfield.
Quick start
Create a key in your Comfy workspace and export it asCOMFY_API_KEY. The Python, TypeScript and Swift snippets use the Comfy SDKs (pip install comfy-sdk, npm install @comfyorg/sdk, and the ComfySwiftSDK Swift package); the cURL snippet is the same call over raw HTTP.
Model ID: higgsfield/higgsfield-kling-3-4k
Endpoint: POST https://api.comfy.org/v2/models/higgsfield/higgsfield-kling-3-4k
- Wait for the result
- Queue and collect later
Schema
Input
string
default:"\"16:9\""
Output aspect ratio.Possible values:
16:9, 9:16, 1:1number
default:"0.5"
How strongly the generation follows the prompt. Higgsfield documents 0-1 in increments of 0.01, but only the 0-1 bound is declared here: a
multipleOf: 0.01 would be evaluated in binary floating point and would refuse ordinary values such as 0.3, so a finer-grained value is ACCEPTED and forwarded rather than refused, the same way prompt caveats its undeclared length ceiling.Range: 0 to 1integer
default:"5"
Output duration in seconds. Supported range: 3-15.Range:
3 to 15string[]
Reusable Kling element ids, for subject consistency across generations.
object[]
Ordered shot definitions, used when
multi_shots is true. 1-6 shots; the per-shot durations are bounded by the task’s own total duration, which is not expressible here.integer
Duration of this shot in seconds, 1-15. The sum across shots must not exceed the task’s total duration, which JSON Schema cannot express; Higgsfield enforces it.Range:
1 to 15string
Prompt for this shot. Higgsfield documents a 512-character ceiling.
boolean
default:"false"
Enable a multi-shot sequence. When true,
multi_prompt carries the per-shot definitions.string
Prompt describing the desired output. Higgsfield documents that Kling uses up to the first 2,500 characters and truncates beyond that, so no maxLength is declared — a longer body is accepted, not refused.
string
default:"\"on\""
Enable or disable generated sound.Possible values:
on, offGET /v2/models/higgsfield/higgsfield-kling-3-4k/openapi.json, the same document it validates a call against before the request reaches the provider.
Output
string
Absolute URL used to cancel a request before processing starts.
string
Failure detail, set when
status is failed.string
required
Stable identifier used for polling, cancellation and support.
string
required
Current request state.Possible values:
queued, in_progress, nsfw, failed, completed, canceledstring
Absolute URL to poll until the request reaches a terminal state.
object
One Higgsfield media output.
string
required
Download URL of the generated media.
Examples
Input
Output
Before you ship
The SDKs create anIdempotency-Key and reuse it for automatic retries. For manual retries, reuse the original key. Router can hold the connection for up to 10 minutes.
When a request fails, Router sends an X-Comfy-Error-Type response header explaining why. A 422 means Router rejected the input before calling the provider, and a 413 means the request body was larger than Router accepts. Download generated assets promptly because result URLs can expire.
Any size limit named in a field description above is the provider’s own bound on that field, quoted from the provider’s specification. Router applies a separate cap to the whole request body, which base64-encoded media counts against: see request body size.
This page documents one partner model called through Comfy Router. The same comfy-sdk / @comfyorg/sdk package also ships a second client, for running a whole ComfyUI workflow graph on Comfy Cloud: Comfy(api_key=...) / new Comfy({ apiKey }), with client.workflows, client.assets and client.jobs. See Comfy SDKs.
Headers
Authentication, idempotency, request IDs, error buckets, retry pacing, spend limits.
Using the Router API
Model discovery, validation errors, retries, and billing.
Limitations
What Router does not do today, and what to use instead.