spicyapiDocs
Main content

Model catalog and schemas

The first 12 model families, how family endpoints are grouped, and how to build requests dynamically from JSON Schema.

createTask.model takes the exact model returned by the catalog. Its input is defined by that model's inputSchema. The runtime catalog is the source of truth; this page documents the stable integration pattern.

First model families

ModelModalityFamily endpoints
kie/minimax-h3-spicyvideotext/image to video, generated audio, up to 15 seconds
seedance-2.5-spicyvideotext/image/reference to video, up to 30 seconds, synchronized audio
seedance-2.0-spicyvideotext/image/reference to video
seedance-2.0-fast-spicyvideothe Seedance 2.0 endpoint set, fast tier
wan-2.7-spicyvideoimage to video
wan-2.2-spicyvideoimage to video
seedream-5-pro-spicyimagetext to image / image editing
seedream-5-lite-spicyimagetext to image / image editing
qwen-image-edit-spicyimageimage editing
kie/z-image-spicyimagetext to image
face-swap-spicyimageface swap
qwen-3.8-27b-spicytextchat (secondary capability)

Visible is not callable

The launch snapshot supports family-page and schema integration. A model becomes available: true only after its real KIE upstream model ID has been verified from authoritative documentation and a binding exists. Clients must check both enabled and available.

Multiple endpoints, one family

A family keeps one model page and one model value. input.endpoint selects text-to-video, image-to-video, or reference-to-video. The schema uses allOf with if/then/required to express endpoint-specific required fields.

Switch the same family to image-to-video
{
  "model": "kie/minimax-h3-spicy",
  "input": {
    "endpoint": "image-to-video",
    "prompt": "slow camera move with synchronized ambience",
    "first_frame_url": "inputs/usr_.../reference.png",
    "duration": 8,
    "resolution": "768p",
    "generate_audio": true
  }
}

endpoint is SpicyAPI's stable family contract. Provider-specific paths and field names are converted by server-side adapters; clients never depend on KIE's internal mapping.

Read the catalog programmatically

GET /api/v1/models
GET /api/v1/models/{model}
curl "https://api.spicyapi.ai/api/v1/models?modality=video&includeSchema=1&includeExamples=1" \
  -H "Authorization: Bearer $SPICY_API_KEY"
ParameterMeaning
modalityimage video audio text
providerexact provider identifier
taskexact task, such as image-to-video
searchup to 128 characters
includeSchematrue / 1 includes inputSchema
includeExamplestrue / 1 includes examples validated against the current schema

If a model identifier contains a slash inside /models/{model}, percent-encode it when your HTTP client treats path parameters as a single segment.

Fields clients should consume

FieldPurpose
familystable product-family identifier for page grouping
taskssupported tasks within the family
inputSchemaJSON Schema 2020-12 used for form generation and request validation
pricing / startingPricecurrent account price; USD amounts are strings
quantityFieldbilled quantity field, commonly duration for video
availablewhether a usable deployment exists now
version / updatedAtcatalog cache invalidation and change tracking

The catalog may be cached privately for 60 seconds. Never put it in a public CDN cache because prices include the authenticated account's group multiplier.

On this page