I’ve hit a critical 403 “PERMISSION_DENIED” error when calling the Vertex AI generateContent API. The error message is a misleading “The billing account for the owning project is disabled in state absent,” but our billing is fully active and accruing charges.
The core problem is this:
This happens in the same service, with the same service account (roles/aiplatform.user).
Critical Test: I created a brand new service account (audio-processor-v2@...) with the same roles, and it gets the exact same 403 error.
This proves it is not a service account issue, but a project-level backend problem where multimodal (audio) ingestion is not enabled for our project.
Has anyone else seen this? Is there a separate enablement step for fileData / multimodal calls that we are missing? This is blocking our production workflow.
I will post my full troubleshooting steps in the first reply.
Project: ai-video-editor-474712 Failing API: generateContent with fileData (audio) Region: us-east4
Here is the detailed technical information for our post:
Steps to Reproduce
-
Project: ai-video-editor-474712 (Project Number: 783607057581)
-
Service Account: Any SA with roles/aiplatform.user (we have tested with two different SAs, including a brand new one).
-
SDK: @google-cloud/vertexai@1.10.0
-
Endpoint: us-east4
-
Model: gemini-2.5-pro (also tested gemini-2.5-flash-lite with the same failure)
Code that fails:
JavaScript
// This call fails with 403
const result = await model.generateContent({
contents: [{
role: 'user',
parts: [
{ text: "Analyze this audio file" },
{
fileData: {
mimeType: 'audio/mpeg',
fileUri: 'gs://[YOUR-BUCKET]/audio.mp3' // Valid GCS URI
}
}
]
}]
});
Result: Immediate 403 error with misleading “billing disabled” message. Test: Remove the fileData part and send only text — the same call from the same service succeeds.
Troubleshooting Already Attempted
-
CRITICAL: RECREATED SERVICE ACCOUNT - We created a fresh service account (PII Removed by Staff) on Nov 2, 2025. It still receives the same 403 error. This confirms it is a project-level issue, not a service account issue.
-
Verified Billing: Billing account (PII Removed by Staff) is active, linked, and accruing charges ($136+).
-
\Verified IAM: roles/aiplatform.user is present on both service accounts.
-
Verified API: aiplatform.googleapis.com is enabled.
-
Compared Working Service: training-processor service in the same project works fine with text-only calls.
-
Verified Old Workflow: The old workflow (using Speech-to-Text API + text-only Vertex) worked. The failure is 100% specific to fileData ingestion.
-
Service Agent Binding: Adding roles/iam.serviceAccountTokenCreator for the Vertex AI Service Agent had no effect.
-
VPC-SC / Org Policies: None are in effect.
-
Updated SDK, verified region, refreshed credentials: No effect.
-
Confirmed error occurs ONLY with fileData parts (not text-only).
Impact & Request
Impact: High. Our production ANALYZE workflow is completely blocked.
Request: Please have an engineer check the backend enablement for multimodal (audio file) ingestion for project (PII Removed by Staff). All evidence points to this being a project-level enablement issue that is not visible in the console.
Thank you!
You’re encountering a 403 PERMISSION_DENIED for multimodal generateContent calls because your project does not yet have multimodal (audio) ingestion enabled, even though text-only calls work and billing is active. The error message about billing is misleading; the issue is a project-level enablement restriction for audio/file input. Currently, you’ll need to request access or enablement for multimodal features through Google Cloud support or the Vertex AI early-access process, as this is separate from standard text-only usage.
Hello Grace,
Thanks, ill reach out to support
All the best,