VidoCraft API

List models

Enumerate every available model with its id, credit cost and parameter schema.

GET/api/v1/models

Returns every available model with its composite id, base credit cost and parameter schema. The id has the form <scene>:<model> and is what you pass as model when creating a generation.

Premium models are always listed but flagged available: false unless your account has an active subscription. Each entry's params array describes the keys accepted in the input object — type, required, enum values and numeric bounds.

Some options are subscription-only as well, typically the higher resolutions and quality tiers: each entry in a param's oneOf carries premium and available the same way. A param flagged premium: true can only be left at its default without a subscription. default is what a request that omits the param gets on your account — without a subscription, a param whose default is a premium option defaults to the first option you can use.

Image, video and audio parameters also carry a media object with their limits: kind, whether they take a list (multiple) or a first / last frame (frames), maxItems, maxFileSize (bytes), accept (MIME types) and, for video / audio, minDuration / maxDuration / maxTotalDuration (seconds); some image inputs add minWidth / minHeight (px) and minAspectRatio / maxAspectRatio (width ÷ height) — an image outside them is refused with invalid_request before anything is charged. Their values must be URLs from POST /api/v1/uploads.

A count parameter that shares a total with a media parameter carries sharedLimit: { with, total } — e.g. Seedream's max_images with { "with": "image_input", "total": 15 }: reference images plus max_images may not exceed 15.

Optional query: ?mediaType=image|video|audio|music

curl "https://vidocraft.com/api/v1/models?mediaType=image" \
  -H "Authorization: Bearer sk_test_xxxxxxxx"
{
  "count": 42,
  "models": [
    {
      "id": "text-to-image:rikcgfbufzdm",
      "scene": "text-to-image",
      "mediaType": "image",
      "model": "rikcgfbufzdm",
      "premium": false,
      "available": true,
      "creditCost": 1,
      "params": [
        { "key": "prompt", "type": "string", "required": true },
        { "key": "aspect_ratio", "type": "string", "required": false,
          "enum": ["1:1", "16:9", "9:16", "4:3", "3:4"] }
      ]
    }
  ]
}