Qulture API
DocsAPI referencePlaygroundPricingConnectors
Sign in
Qulture API

The Qulture Studio API: AI video and images from your own app.

Build

  • Docs
  • API reference
  • Playground
  • Changelog

Account

  • Pricing
  • Console
  • Connectors

Qulture

  • Qulture Studio
  • Support
  • Terms
  • Privacy

© 2026 Qulture

Get started

  • Introduction
  • Quickstart
  • Authentication

Guides

  • Making videos
  • Images
  • Jobs & polling
  • Webhooks

Reference

  • Pricing & billing
  • Rate limits
  • Errors
  • API reference

More

  • Changelog
  • FAQ
Console & API keys PlaygroundAI ChatGPT & Claude (MCP)

Reference

Errors

Every error code and what to do.

Error format

Error
{
  "success": false,
  "message": "Your API balance is $0.20 and this costs $0.50. Add funds at https://open.qulture.io/console.",
  "error": "insufficient_balance",
  "retry_after": 30          // only on 429
}

Branch on error, not on message (messages may change and may be translated). Field validation failures return 422 with an errors array: [{ "key": "mode", "error": "mode field is oneof", "condition": "oneof" }].

Billing errors

402 insufficient_balance: your API balance is lower than the price — the message includes both; nothing was made or charged. Top up in the Console or turn on auto-recharge. 429 concurrency_limit: too many generations running at once; retry when one finishes. 403 developer_account_suspended: paid calls are paused for this account, for example after a top-up payment was refunded or disputed; add funds in the Console to settle what's owed.

All codes

StatuserrorWhat to do
400studio_invalid_inputA field is missing or wrong (for example no prompt for text_to_video). Read message.
400studio_template_not_foundUse an id from GET /studio/templates.
400developer_webhook_invalidwebhook_url must be a public https:// URL.
400developer_invalid_amountTop-up amount is outside the allowed range (see min_topup_usd / max_topup_usd in GET /developer/pricing).
401developer_key_invalidCheck the key: whole string, starts with qk_live_, sent as Authorization: Bearer …
401developer_key_revokedThe key was revoked. Create a new one in the Console.
402insufficient_balanceYour API balance is lower than the price (the message shows both). Nothing was made or charged. Add funds in the Console: https://open.qulture.io/console
402studio_insufficient_creditsConnector (MCP) keys only: not enough Studio plan credits. Top up or upgrade on Plans.
403developer_account_suspendedPaid API calls are paused for this account, for example after a top-up payment was refunded or disputed. Add funds in the Console to settle any amount owed; otherwise contact support@joinqulture.com.
403developer_scope_deniedAPI keys can't call this endpoint (billing and top-ups, posting to Qulture, avatars, key management). Do it in the Console or in Studio while signed in.
403studio_disabledStudio is paused for maintenance or for this account. Try later or contact support.
403studio_tier_requires_planConnector (MCP) keys only: Standard and Pro need a paid Studio plan. API keys can use every tier.
403studio_duration_requires_planConnector (MCP) keys only: 10-second videos need a paid Studio plan.
403studio_hd_requires_planConnector (MCP) keys only: HD needs a paid Studio plan.
403studio_limit_reachedConnector (MCP) keys only: a Studio plan limit was reached (for example daily jobs). Try tomorrow or upgrade.
403studio_character_limitThe character limit is reached. Delete a character first.
404studio_not_foundNo such job / image, or it belongs to another account.
409studio_job_not_readyThe job is still in progress. Wait for ready.
409developer_payment_method_requiredAuto-recharge needs a saved card. Make one top-up first (Console).
413studio_file_too_largeImages ≤ 10 MB, video ≤ 50 MB.
415studio_unsupported_imageUse JPEG, PNG, WebP or HEIC.
415studio_unsupported_mediaAudio: mp3, m4a, wav, aac. Video: mp4, mov.
422studio_consent_requiredThe photo shows a person: send consent: true after getting their permission.
422studio_blockedA content check refused the request; see block_category. Refused by our check before processing: not charged. Refused by the video or image model after processing (images): charged.
422studio_media_too_longAudio and video inputs must be 15 seconds or less.
422studio_identity_mismatchThe selfie doesn't match the character photos.
429rate_limitedOver 60 requests/minute, or over the hourly generation limit for this key (200 for API keys, 20 for connector keys). Wait Retry-After seconds.
429concurrency_limitToo many generations running at once for this account (20 by default). Wait for one to finish, then retry.
429studio_rate_limitedToo many jobs for this account right now. Wait retry_after seconds.
500studio_internalSomething broke on our side. Retry; if it persists, contact support with the job id.
503studio_busyVideo engines are at capacity. Nothing was charged; retry in a minute.
← PreviousRate limitsNext →API reference

On this page

  • Error format
  • All codes