Skip to main content

Errors

Error responses use a uniform shape:

{
"error": {
"code": "unknown_model",
"message": "Model 'foo' is not in /capabilities.models",
"details": { "available_models": ["kimodo-soma-rp"] }
}
}
FieldTypeNotes
error.codestringMachine-readable code from the table below
error.messagestringHuman-readable message; safe to surface to end users
error.detailsobject | nullOptional code-specific extra context

Error codes​

CodeHTTPMeaning
schema_validation422Request fails JSON schema validation (e.g. a video_reference with both or neither of video.url / video.data, a non-https URL, bad base64, or start_s ≥ end_s). details.errors lists each failure (location, type, message; the offending input is not echoed)
unknown_model400model is not in /capabilities
retargeting_unsupported400Custom skeleton sent to a backbone with supports_retargeting=false
unsupported_constraint400A constraint type is not in model.supported_constraints
unsupported_segment400A segment type (e.g. "pose") is not in model.supported_segments. Checked before the segment's payload is read. A type the server doesn't know at all is 422 schema_validation
unknown_joint400A constraint references a joint name not in skeleton.joints (for a motion_reference: not in its own skeleton when it carries one)
invalid_skeleton400Skeleton (the request's, or a motion_reference's own) has no root, multiple roots, cycles, or out-of-order joints; or (1.2) has a non-identity rest_rotation the server can't honour
frame_out_of_range400A constraint references a frame index outside the request timeline
invalid_request4001.2. Parts of the request that are valid alone but can't go together (e.g. a motion_reference clip that lacks its skeleton's root joint; a video_reference whose video can't be fetched or decoded, or has no person in it)
invalid_options400An option value is out of range (e.g. diffusion_steps: 9999) or inconsistent (e.g. guidance.weight length mismatch), or a reference is over its limit: a motion_reference clip over max_reference_frames, a video_reference reading more than max_video_seconds (details.segment names it)
version_unsupported400Server does not implement the requested protocol_version
unauthorized401Missing or invalid credentials
forbidden403Authenticated but not permitted to call this model
payload_too_large413Request body exceeds model.limits.max_request_bytes (the SDK server checks it before parsing), or (1.2) a video_reference's video exceeds max_video_bytes (details: max_video_bytes, video_bytes, segment)
rate_limited429Caller is rate-limited; check Retry-After
internal_error500Backbone failure (non-retryable; clients SHOULD NOT retry)
resource_exhausted503Transient capacity / GPU memory pressure. Retryable with backoff per Retry-After
model_unavailable503Model exists but is currently loading or down
timeout504Generation exceeded the server-side deadline

Retry semantics​

CodeRetry?
schema_validation, unknown_model, retargeting_unsupported, unsupported_constraint, unknown_joint, invalid_skeleton, frame_out_of_range, invalid_request, invalid_options, version_unsupported, unauthorized, forbidden, payload_too_largeNo — fix the request
rate_limited, resource_exhausted, model_unavailable, timeoutYes — honor Retry-After, exponential backoff
internal_errorNo — backbone failure, not transient