Docs menu
Get started
What is Opus GrowthQuickstartAdd to your AIHow it worksSafety and approvalCreditsPlansFAQAI apps
All AI appsChatGPTClaudeGrokPerplexityClaude CodeCodexGemini CLIOpenClawCursorVS CodeWindsurfOther MCPConnect ad platforms
Google AdsMeta AdsLinkedIn AdsMicrosoft AdvertisingTikTok AdsChatGPT AdsAgencies and MCCConnect data sources
Search ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWebsites and SEO
AI ServerWordPressSEO IntelligenceClick fraudTool reference
All toolsGoogle AdsMeta AdsTikTok AdsLinkedIn AdsMicrosoft AdvertisingChatGPT AdsSearch ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWordPressAI ServerSEO IntelligenceClick fraudCross-channelAccount and billingLanguage
Upload Business Photo
Adds one or SEVERAL PHOTOS to the Google Business Profile listing (visible on Maps/Search) in a single call.
- Type
- Makes changes
- Credits
- 3
- Platform
- Business Profile
- Approval
- Preview first, applied after you approve
What it does
Adds one or SEVERAL PHOTOS to the Google Business Profile listing (visible on Maps/Search) in a single call. Give image_url for one photo, or image_urls for a batch of up to 10 — a batch is the normal case after upload_image, which hands back one public URL per photo the user dropped. Each URL must be a publicly reachable direct image link, because Google downloads it server-side. category applies to every photo in the call: ADDITIONAL (default) | PROFILE (profile picture) | COVER | LOGO | EXTERIOR | INTERIOR | PRODUCT | AT_WORK | FOOD_AND_DRINK | MENU | TEAMS; different categories go in separate calls. LOGO does not work: measured 22 Sep 2026, Google accepted the request, processed it as PROFILE and left every slot unchanged, so the logo has to be set in the Business Profile dashboard by hand. The reply is checked against the slot Google actually wrote to; if it differs from the requested category, the photo is reported as failed with both categories and the credit is refunded. A batch is charged PER PHOTO, exactly as separate calls would be, and a photo Google rejects is not charged. If some photos go up and others fail, both lists come back with the reason for each, so a partial result is never reported as full success. This adds photos to the listing's PHOTO GALLERY; it does NOT attach them to an Update post — to publish a post WITH a photo use gbp_create_post(image_url=...). COVER ASPECT RATIO IS CHECKED BEFORE THE UPLOAD: Google rejects a cover photo whose ratio is wrong with a bare "Request contains an invalid argument." that names no cause and still burns the credit, so the image is measured first and you get the actual pixel size, the ratio and what Google expects (16:9). Pass allow_any_ratio=true to skip that check. SAFETY: confirm=false → preview, confirm=true → publish. location = a gbp_list_locations value or the business name/domain.
MCP: gbp_upload_photo
How to use it
You don't call tools by name. Write what you want in ChatGPT, Claude or another assistant connected to Opus Growth, in your own words; it picks this tool when it fits.
Parameters
| Name | Type | Required | Default | |
|---|---|---|---|---|
| location | string | Required | · | Target location, placement, or Business Profile resource for this operation. Use the exact provider-formatted value or ID returned by the relevant list or search tool. |
| image_url | string | Optional | · | Publicly reachable image URL for the creative or resource. |
| category | string | Optional | ADDITIONAL | ADDITIONAL · PROFILE · COVER · LOGO · EXTERIOR · INTERIOR · PRODUCT · AT_WORK · FOOD_AND_DRINK · MENU · TEAMS · Provider category or conversion/content category accepted by this operation. |
| image_urls | array | Optional | · | Image urls value for gbp upload photo. Follow the documented provider format and use values returned by Opus Growth discovery tools where possible. |
| confirm | boolean | Optional | false | Safety confirmation for a state-changing operation. Leave false to preview or validate; set true only after the user explicitly approves the shown change. |
| allow_any_ratio | boolean | Optional | false | Whether to enable allow any ratio for this operation. |
Related tools
add_location_assetsComplete Business Verificationgbp_complete_verificationCreate Business Listinggbp_create_locationCreate Business Postgbp_create_postDelete Business Profile Postgbp_delete_postBusiness Profile Insightsgbp_insightsBusiness Locationsgbp_list_locationsGBP List Photosgbp_list_photosGBP Postsgbp_list_posts