{"record":{"id":"691726ce79982627","repo":"HeyPuter/puter","slug":"insufficient-funds-691726","errorCode":"insufficient_funds","errorMessage":"Insufficient funds","messagePattern":"Insufficient funds","errorType":"http","errorClass":"HttpError","httpStatus":402,"severity":"error","filePath":"src/backend/drivers/ai-video/providers/together/TogetherVideoProvider.ts","lineNumber":127,"sourceCode":"        );\n\n        if (!no_extra_params) {\n            normalizedSeconds ??= DEFAULT_DURATION_SECONDS;\n        }\n\n        const actor = Context.get('actor');\n        if (!actor) {\n            throw new HttpError(401, 'Authentication required', {\n                legacyCode: 'unauthorized',\n            });\n        }\n\n        const usageAllowed = await this.#meteringService.hasEnoughCredits(\n            actor,\n            costInMicroCents,\n        );\n        if (!usageAllowed) {\n            throw new HttpError(402, 'Insufficient funds', {\n                legacyCode: 'insufficient_funds',\n            });\n        }\n\n        const createPayload: Together.VideoCreateParams & {\n            metadata?: object;\n        } = {\n            prompt,\n            model,\n        };\n\n        if (normalizedSeconds) {\n            createPayload.seconds = String(normalizedSeconds);\n        }\n        if (this.#isFiniteNumber(width)) {\n            createPayload.width = Number(width);\n        }\n        if (this.#isFiniteNumber(height)) {","sourceCodeStart":109,"sourceCodeEnd":145,"githubUrl":"https://github.com/HeyPuter/puter/blob/908ec23eda38526170322c3edf71ba45ecb1ca95/src/backend/drivers/ai-video/providers/together/TogetherVideoProvider.ts#L109-L145","documentation":"Error \"Insufficient funds\" thrown in HeyPuter/puter.","triggerScenarios":"Thrown at src/backend/drivers/ai-video/providers/together/TogetherVideoProvider.ts:127 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add credits to the account before retrying the video generation request.","Reduce usage or upgrade the plan to restore sufficient funds."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"908ec23eda38526170322c3edf71ba45ecb1ca95","analyzedAt":"2026-08-12T20:53:15.911Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}