{"uid":"cap_ud2hgrEAppc2ZT3apD_iK","slug":"google-gemini-file-upload-via-locus-x402-34192d5a","name":"Google Gemini File Upload via Locus x402","description":"Multimodal AI — chat, vision, PDF/document processing, thinking/reasoning, and embeddings.","url":"https://gemini.x402.paywithlocus.com/gemini/upload-file","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"data":{"type":"string"},"mime_type":{"type":"string"},"source_url":{"type":"string"},"display_name":{"type":"string"}}},"responseSchema":{"type":"json","example":{"data":{},"payment":{"scheme":"exact","settledUsdc":"0.001000","authorizedMaxUsdc":"0.001000"},"request":{"id":"00000000-0000-4000-8000-000000000000","statusUrl":"/requests/00000000-0000-4000-8000-000000000000"},"success":true}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.003","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.003/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_vCY0V4SbOYJ0uAHqji3AS","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Uploads a video file (base64 or S3 URL) to the Gemini multimodal AI service for subsequent processing such as vision analysis, transcription, or reasoning.","exampleAgentPrompt":"Upload this MP4 video from my S3 bucket — https://my-bucket.s3.amazonaws.com/meeting-recording.mp4 — to Gemini so I can ask it questions about the content; label it 'Q2 Meeting Recording'.","exampleUseCases":[{"title":"Video content analysis pipeline","prompt":"Upload this product demo video from S3 — https://assets.example.com/demo-v2.mp4 — to Gemini and label it 'Product Demo v2' so I can then ask it to summarize what's shown."},{"title":"Meeting transcription preparation","prompt":"I have a 45-minute QuickTime meeting recording at https://recordings.s3.amazonaws.com/all-hands-june.mov — upload it to Gemini with the display name 'All Hands June' so we can extract action items from it."},{"title":"Base64 video clip ingestion","prompt":"Take this raw base64-encoded WebM clip I'm sending and upload it to Gemini as video/webm — I want to analyze the motion captured in it."}],"resultDescription":"A JSON response containing a file/data reference object, a unique request ID, a status URL to poll for completion, and payment settlement details showing the USDC amount charged and authorized — allowing the agent to subsequently reference the uploaded file in Gemini AI queries.","failureModes":["Base64 payload exceeds 24 MB decoded limit — returns error indicating size constraint","S3 URL exceeds 100 MB file size limit — rejected at ingestion","Invalid or unsupported MIME type provided (must be video/mp4, video/quicktime, or video/webm) — returns validation error","S3 URL is not publicly accessible or HTTPS — upload fails","Payment authorization fails due to insufficient USDC balance — 402 payment required error","Neither source_url nor data provided — missing required field error"],"whenToPreferThis":"Use this endpoint when you need to stage a video file into Google Gemini before running multimodal analysis, vision queries, or reasoning tasks on it — especially when the source is an Amazon S3 URL (up to 100 MB) or a raw base64-encoded clip (up to 24 MB). Prefer the S3 URL path for larger files. This is distinct from Gemini chat or embedding endpoints; this is purely the file ingestion step in a multi-step Gemini workflow.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T17:52:41.931Z","isFirstParty":false}