Rate limits
Organizations without a valid saved payment method may have four concurrent jobs per type, shared by all organization members. Queued, delayed, and running jobs count toward the limit. Text-to-motion (TTM) and video-to-motion (VTM) have separate limits, shared across their model versions. Two VTM models for one video use two VTM slots. Internal stages of a TTM job share its original TTM slot. Character generation, image previews, locomotion, library search, and stitching/looping each have their own type limit. Successful and terminally failed jobs release their slots; a job awaiting a retry retains its slot.
Organizations with a valid saved payment method or an explicit concurrency exemption are not subject to this four-job cap. Directly invoiced organizations are also exempt from prepaid wallet balance checks, reservations, and debits.
A submission at the limit returns HTTP 429 with a GraphQL error containing
type: "JobLimitExceeded" and code: "job_limit_exceeded". No new job is accepted
for that rejected operation. Wait for existing jobs of that type to finish, then
submit again. There is no fixed retry interval and no automatic submission retry.
An unrecognized 429, transport timeout, or custom request containing multiple
mutations requires inspecting existing results before resubmission.
Generation costs are reserved atomically when work is accepted. Other queued or running generations reduce the funds available for new work. The wallet is charged for actual output on success; unused reservations are released on completion or terminal failure. The existing $1 grace allowance remains, but generation settlement cannot exceed it or spend funds reserved for other jobs. Workers recheck funding before starting expensive work. If actual output costs more than can be funded, the operation fails rather than delivering unfunded output.
Plan limits are available at uthana.com/pricing.
Uthana reserves the right to adjust rate limits to maintain service availability and restrict abusive or anomalous usage.
Your next submission releases inline dispatches that failed to start within 60 seconds. Running inline work keeps its funds and slot while any executing task server holds its database ownership session. After those owners disconnect, a later submission from the organization recovers the abandoned reservation. A lost connection does not trigger an automatic generation replay on another server.