openapi: 3.2.0 info: title: Google Ads Customers.asset Generations API description: Manage your Google Ads accounts, campaigns, and reports with this API. version: v25 x-discovery-revision: '20260721' contact: name: Google url: https://developers.google.com/google-ads/api/ termsOfService: https://developers.google.com/terms servers: - url: https://googleads.googleapis.com description: Google Ads API production server security: - oauth2: - https://www.googleapis.com/auth/adwords tags: - name: customers.assetGenerations paths: /v25/customers/{customersId}/assetGenerations:generateText: parameters: - name: upload_protocol in: query required: false schema: type: string description: Upload protocol for media (e.g. "raw", "multipart"). - name: quotaUser in: query required: false schema: type: string description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - name: fields in: query required: false schema: type: string description: Selector specifying which fields to include in a partial response. - name: $.xgafv in: query required: false schema: type: string enum: - '1' - '2' x-enumDescriptions: - v1 error format - v2 error format description: V1 error format. - name: callback in: query required: false schema: type: string description: JSONP - name: prettyPrint in: query required: false schema: type: boolean default: 'true' description: Returns response with indentations and line breaks. - name: access_token in: query required: false schema: type: string description: OAuth access token. - name: uploadType in: query required: false schema: type: string description: Legacy upload protocol for media (e.g. "media", "multipart"). - name: key in: query required: false schema: type: string description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - name: oauth_token in: query required: false schema: type: string description: OAuth 2.0 token for the current user. - name: alt in: query required: false schema: x-enumDescriptions: - Responses with Content-Type of application/json - Media download with context-dependent Content-Type - Responses with Content-Type of application/x-protobuf type: string default: json enum: - json - media - proto description: Data format for response. post: operationId: googleads_customers_assetGenerations_generateText summary: Uses generative AI to generate text that can be used as assets in a campaign tags: - customers.assetGenerations description: 'Uses generative AI to generate text that can be used as assets in a campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [AssetGenerationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()' parameters: - name: customerId in: path required: true schema: pattern: ^[^/]+$ type: string description: Required. The ID of the customer to generate assets for. Required. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateTextRequest' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateTextResponse' security: - oauth2: - https://www.googleapis.com/auth/adwords /v25/customers/{customersId}/assetGenerations:generateImages: parameters: - name: upload_protocol in: query required: false schema: type: string description: Upload protocol for media (e.g. "raw", "multipart"). - name: quotaUser in: query required: false schema: type: string description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - name: fields in: query required: false schema: type: string description: Selector specifying which fields to include in a partial response. - name: $.xgafv in: query required: false schema: type: string enum: - '1' - '2' x-enumDescriptions: - v1 error format - v2 error format description: V1 error format. - name: callback in: query required: false schema: type: string description: JSONP - name: prettyPrint in: query required: false schema: type: boolean default: 'true' description: Returns response with indentations and line breaks. - name: access_token in: query required: false schema: type: string description: OAuth access token. - name: uploadType in: query required: false schema: type: string description: Legacy upload protocol for media (e.g. "media", "multipart"). - name: key in: query required: false schema: type: string description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - name: oauth_token in: query required: false schema: type: string description: OAuth 2.0 token for the current user. - name: alt in: query required: false schema: x-enumDescriptions: - Responses with Content-Type of application/json - Media download with context-dependent Content-Type - Responses with Content-Type of application/x-protobuf type: string default: json enum: - json - media - proto description: Data format for response. post: operationId: googleads_customers_assetGenerations_generateImages summary: Uses generative AI to generate images that can be used as assets in a campaign tags: - customers.assetGenerations description: 'Uses generative AI to generate images that can be used as assets in a campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [AssetGenerationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()' parameters: - name: customerId in: path required: true schema: type: string pattern: ^[^/]+$ description: Required. The ID of the customer for whom the images are being generated. Required. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateImagesRequest' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateImagesResponse' security: - oauth2: - https://www.googleapis.com/auth/adwords components: schemas: GoogleAdsGoogleadsV25Services__GeneratedImage: type: object properties: imageTemporaryUrl: description: A temporary URL for the generated image. type: string assetFieldType: type: string description: The intended field type for this generated image. x-enumDescriptions: - Not specified. - Used for return value only. Represents value unknown in this version. - The asset is linked for use as a headline. - The asset is linked for use as a description. - The asset is linked for use as mandatory ad text. - The asset is linked for use as a marketing image. - The asset is linked for use as a media bundle. - The asset is linked for use as a YouTube video. - The asset is linked to indicate that a hotels campaign is "Book on Google" enabled. - The asset is linked for use as a Lead Form extension. - The asset is linked for use as a Promotion extension. - The asset is linked for use as a Callout extension. - The asset is linked for use as a Structured Snippet extension. - The asset is linked for use as a Sitelink. - The asset is linked for use as a Mobile App extension. - The asset is linked for use as a Hotel Callout extension. - The asset is linked for use as a Call extension. - The asset is linked for use as a Price extension. - The asset is linked for use as a long headline. - The asset is linked for use as a business name. - The asset is linked for use as a square marketing image. - The asset is linked for use as a portrait marketing image. - The asset is linked for use as a logo. - The asset is linked for use as a landscape logo. - The asset is linked for use as a non YouTube logo. - The asset is linked for use to select a call-to-action. - The asset is linked for use to select an ad image. - The asset is linked for use as a business logo. - The asset is linked for use as a hotel property in a Performance Max for travel goals campaign. - The asset is linked for use as a Demand Gen carousel card. - The asset is linked for use as a Business Message. - The asset is linked for use as a tall portrait marketing image. - The asset is linked for use as related YouTube videos. - The asset is linked for use as a landing page preview image. - The asset is linked for use as a long description. - The asset is linked for use as a call-to-action. - The asset is linked for use as a classic display image. enum: - UNSPECIFIED - UNKNOWN - HEADLINE - DESCRIPTION - MANDATORY_AD_TEXT - MARKETING_IMAGE - MEDIA_BUNDLE - YOUTUBE_VIDEO - BOOK_ON_GOOGLE - LEAD_FORM - PROMOTION - CALLOUT - STRUCTURED_SNIPPET - SITELINK - MOBILE_APP - HOTEL_CALLOUT - CALL - PRICE - LONG_HEADLINE - BUSINESS_NAME - SQUARE_MARKETING_IMAGE - PORTRAIT_MARKETING_IMAGE - LOGO - LANDSCAPE_LOGO - VIDEO - CALL_TO_ACTION_SELECTION - AD_IMAGE - BUSINESS_LOGO - HOTEL_PROPERTY - DEMAND_GEN_CAROUSEL_CARD - BUSINESS_MESSAGE - TALL_PORTRAIT_MARKETING_IMAGE - RELATED_YOUTUBE_VIDEOS - LANDING_PAGE_PREVIEW - LONG_DESCRIPTION - CALL_TO_ACTION - CLASSIC_DISPLAY_IMAGE description: Generated image data and metadata. GoogleAdsGoogleadsV25Services__SourceImage: description: A source image to be used in the generation process. type: object properties: imageData: format: byte description: Optional. Raw bytes of the image to use. type: string GoogleAdsGoogleadsV25Services__GenerateImagesRequest: type: object properties: finalUrlGeneration: description: Optional. Generate images from a final url. $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__FinalUrlImageGenerationInput' assetFieldTypes: description: Optional. Output field types for generated images. Supported values are MARKETING_IMAGE, SQUARE_MARKETING_IMAGE, PORTRAIT_MARKETING_IMAGE, and TALL_PORTRAIT_MARKETING_IMAGE. All specified field types must be compatible with the `advertising_channel_type` or `existing_generation_context` (whichever is set). If no field types are provided, images will be generated for all compatible field types. items: type: string x-enumDescriptions: - Not specified. - Used for return value only. Represents value unknown in this version. - The asset is linked for use as a headline. - The asset is linked for use as a description. - The asset is linked for use as mandatory ad text. - The asset is linked for use as a marketing image. - The asset is linked for use as a media bundle. - The asset is linked for use as a YouTube video. - The asset is linked to indicate that a hotels campaign is "Book on Google" enabled. - The asset is linked for use as a Lead Form extension. - The asset is linked for use as a Promotion extension. - The asset is linked for use as a Callout extension. - The asset is linked for use as a Structured Snippet extension. - The asset is linked for use as a Sitelink. - The asset is linked for use as a Mobile App extension. - The asset is linked for use as a Hotel Callout extension. - The asset is linked for use as a Call extension. - The asset is linked for use as a Price extension. - The asset is linked for use as a long headline. - The asset is linked for use as a business name. - The asset is linked for use as a square marketing image. - The asset is linked for use as a portrait marketing image. - The asset is linked for use as a logo. - The asset is linked for use as a landscape logo. - The asset is linked for use as a non YouTube logo. - The asset is linked for use to select a call-to-action. - The asset is linked for use to select an ad image. - The asset is linked for use as a business logo. - The asset is linked for use as a hotel property in a Performance Max for travel goals campaign. - The asset is linked for use as a Demand Gen carousel card. - The asset is linked for use as a Business Message. - The asset is linked for use as a tall portrait marketing image. - The asset is linked for use as related YouTube videos. - The asset is linked for use as a landing page preview image. - The asset is linked for use as a long description. - The asset is linked for use as a call-to-action. - The asset is linked for use as a classic display image. enum: - UNSPECIFIED - UNKNOWN - HEADLINE - DESCRIPTION - MANDATORY_AD_TEXT - MARKETING_IMAGE - MEDIA_BUNDLE - YOUTUBE_VIDEO - BOOK_ON_GOOGLE - LEAD_FORM - PROMOTION - CALLOUT - STRUCTURED_SNIPPET - SITELINK - MOBILE_APP - HOTEL_CALLOUT - CALL - PRICE - LONG_HEADLINE - BUSINESS_NAME - SQUARE_MARKETING_IMAGE - PORTRAIT_MARKETING_IMAGE - LOGO - LANDSCAPE_LOGO - VIDEO - CALL_TO_ACTION_SELECTION - AD_IMAGE - BUSINESS_LOGO - HOTEL_PROPERTY - DEMAND_GEN_CAROUSEL_CARD - BUSINESS_MESSAGE - TALL_PORTRAIT_MARKETING_IMAGE - RELATED_YOUTUBE_VIDEOS - LANDING_PAGE_PREVIEW - LONG_DESCRIPTION - CALL_TO_ACTION - CLASSIC_DISPLAY_IMAGE type: array productRecontextGeneration: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__ProductRecontextGenerationImageInput' description: Optional. Generate new images by recontextualizing existing product images. advertisingChannelType: x-enumDescriptions: - Not specified. - Used for return value only. Represents value unknown in this version. - Search Network. Includes display bundled, and Search+ campaigns. - Google Display Network only. - Shopping campaigns serve on the shopping property and on google.com search results. - Hotel Ads campaigns. - Video campaigns. - App Campaigns, and App Campaigns for Engagement, that run across multiple channels. - Local ads campaigns. - Smart campaigns. - Performance Max campaigns. - Local services campaigns. - Travel campaigns. - Demand Gen campaigns. enum: - UNSPECIFIED - UNKNOWN - SEARCH - DISPLAY - SHOPPING - HOTEL - VIDEO - MULTI_CHANNEL - LOCAL - SMART - PERFORMANCE_MAX - LOCAL_SERVICES - TRAVEL - DEMAND_GEN type: string description: Optional. The advertising channel type for which the images are being generated. This field is required if `existing_generation_context` is not provided. Supported channel types include SEARCH, PERFORMANCE_MAX, DISPLAY, and DEMAND_GEN. freeformGeneration: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__FreeformImageGenerationInput' description: Optional. Generate images from a freeform prompt. description: Request message for AssetGenerationService.GenerateImages GoogleAdsGoogleadsV25Services__ProductRecontextGenerationImageInput: type: object properties: sourceImages: type: array description: Required. Product images to use for generating new images. 1-3 images must be provided. items: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SourceImage' prompt: type: string description: Optional. A freeform description of the assets to be generated. Maximum character limit is 1500. description: Input for generating new images by recontextualizing existing product images. GoogleAdsGoogleadsV25Services__GenerateTextRequest: type: object properties: assetFieldTypes: type: array description: 'Required. Which field types text is being generated for. Supported values are: HEADLINE, LONG_HEADLINE, DESCRIPTION. Required.' items: type: string x-enumDescriptions: - Not specified. - Used for return value only. Represents value unknown in this version. - The asset is linked for use as a headline. - The asset is linked for use as a description. - The asset is linked for use as mandatory ad text. - The asset is linked for use as a marketing image. - The asset is linked for use as a media bundle. - The asset is linked for use as a YouTube video. - The asset is linked to indicate that a hotels campaign is "Book on Google" enabled. - The asset is linked for use as a Lead Form extension. - The asset is linked for use as a Promotion extension. - The asset is linked for use as a Callout extension. - The asset is linked for use as a Structured Snippet extension. - The asset is linked for use as a Sitelink. - The asset is linked for use as a Mobile App extension. - The asset is linked for use as a Hotel Callout extension. - The asset is linked for use as a Call extension. - The asset is linked for use as a Price extension. - The asset is linked for use as a long headline. - The asset is linked for use as a business name. - The asset is linked for use as a square marketing image. - The asset is linked for use as a portrait marketing image. - The asset is linked for use as a logo. - The asset is linked for use as a landscape logo. - The asset is linked for use as a non YouTube logo. - The asset is linked for use to select a call-to-action. - The asset is linked for use to select an ad image. - The asset is linked for use as a business logo. - The asset is linked for use as a hotel property in a Performance Max for travel goals campaign. - The asset is linked for use as a Demand Gen carousel card. - The asset is linked for use as a Business Message. - The asset is linked for use as a tall portrait marketing image. - The asset is linked for use as related YouTube videos. - The asset is linked for use as a landing page preview image. - The asset is linked for use as a long description. - The asset is linked for use as a call-to-action. - The asset is linked for use as a classic display image. enum: - UNSPECIFIED - UNKNOWN - HEADLINE - DESCRIPTION - MANDATORY_AD_TEXT - MARKETING_IMAGE - MEDIA_BUNDLE - YOUTUBE_VIDEO - BOOK_ON_GOOGLE - LEAD_FORM - PROMOTION - CALLOUT - STRUCTURED_SNIPPET - SITELINK - MOBILE_APP - HOTEL_CALLOUT - CALL - PRICE - LONG_HEADLINE - BUSINESS_NAME - SQUARE_MARKETING_IMAGE - PORTRAIT_MARKETING_IMAGE - LOGO - LANDSCAPE_LOGO - VIDEO - CALL_TO_ACTION_SELECTION - AD_IMAGE - BUSINESS_LOGO - HOTEL_PROPERTY - DEMAND_GEN_CAROUSEL_CARD - BUSINESS_MESSAGE - TALL_PORTRAIT_MARKETING_IMAGE - RELATED_YOUTUBE_VIDEOS - LANDING_PAGE_PREVIEW - LONG_DESCRIPTION - CALL_TO_ACTION - CLASSIC_DISPLAY_IMAGE advertisingChannelType: x-enumDescriptions: - Not specified. - Used for return value only. Represents value unknown in this version. - Search Network. Includes display bundled, and Search+ campaigns. - Google Display Network only. - Shopping campaigns serve on the shopping property and on google.com search results. - Hotel Ads campaigns. - Video campaigns. - App Campaigns, and App Campaigns for Engagement, that run across multiple channels. - Local ads campaigns. - Smart campaigns. - Performance Max campaigns. - Local services campaigns. - Travel campaigns. - Demand Gen campaigns. enum: - UNSPECIFIED - UNKNOWN - SEARCH - DISPLAY - SHOPPING - HOTEL - VIDEO - MULTI_CHANNEL - LOCAL - SMART - PERFORMANCE_MAX - LOCAL_SERVICES - TRAVEL - DEMAND_GEN description: 'Optional. The advertising channel for which to generate assets. Required if existing_context is not provided. Supported channel types: SEARCH, PERFORMANCE_MAX, DISPLAY, and DEMAND_GEN' type: string finalUrl: type: string description: Optional. Final url to use as a source for generating assets. Required if existing_generation_context is not provided or does not have a final url associated with it. existingGenerationContext: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__AssetGenerationExistingContext' description: Optional. The setting for which assets are being generated, such as an existing AssetGroup or AdGroupAd. freeformPrompt: type: string description: Optional. A freeform description of what assets should be generated. The string length must be between 1 and 1500, inclusive. keywords: description: Optional. A freeform list of keywords that are relevant, used to inform asset generation. items: type: string type: array description: Request message for AssetGenerationService.GenerateText GoogleAdsGoogleadsV25Services__FinalUrlImageGenerationInput: description: Input for guiding image asset generation with a final url. type: object properties: finalUrl: type: string description: Required. A final url to guide the image generation process. Required. GoogleAdsGoogleadsV25Services__FreeformImageGenerationInput: type: object properties: freeformPrompt: type: string description: Required. A freeform text description to guide the image generation process. The maximum length is 1500 characters. Required. description: Input for guiding image asset generation with a freeform prompt. GoogleAdsGoogleadsV25Services__GenerateTextResponse: description: Response message for AssetGenerationService.GenerateText type: object properties: generatedText: description: List of text that was generated and the field type to use it as. items: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GeneratedText' type: array GoogleAdsGoogleadsV25Services__GenerateImagesResponse: description: Response message for AssetGenerationService.GenerateImages type: object properties: generatedImages: type: array description: Successfully generated images. items: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GeneratedImage' GoogleAdsGoogleadsV25Services__GeneratedText: description: Data and metadata about a piece of generated text. type: object properties: text: description: A string of text that was generated. type: string assetFieldType: description: The type of asset this text is intended to be used as. type: string x-enumDescriptions: - Not specified. - Used for return value only. Represents value unknown in this version. - The asset is linked for use as a headline. - The asset is linked for use as a description. - The asset is linked for use as mandatory ad text. - The asset is linked for use as a marketing image. - The asset is linked for use as a media bundle. - The asset is linked for use as a YouTube video. - The asset is linked to indicate that a hotels campaign is "Book on Google" enabled. - The asset is linked for use as a Lead Form extension. - The asset is linked for use as a Promotion extension. - The asset is linked for use as a Callout extension. - The asset is linked for use as a Structured Snippet extension. - The asset is linked for use as a Sitelink. - The asset is linked for use as a Mobile App extension. - The asset is linked for use as a Hotel Callout extension. - The asset is linked for use as a Call extension. - The asset is linked for use as a Price extension. - The asset is linked for use as a long headline. - The asset is linked for use as a business name. - The asset is linked for use as a square marketing image. - The asset is linked for use as a portrait marketing image. - The asset is linked for use as a logo. - The asset is linked for use as a landscape logo. - The asset is linked for use as a non YouTube logo. - The asset is linked for use to select a call-to-action. - The asset is linked for use to select an ad image. - The asset is linked for use as a business logo. - The asset is linked for use as a hotel property in a Performance Max for travel goals campaign. - The asset is linked for use as a Demand Gen carousel card. - The asset is linked for use as a Business Message. - The asset is linked for use as a tall portrait marketing image. - The asset is linked for use as related YouTube videos. - The asset is linked for use as a landing page preview image. - The asset is linked for use as a long description. - The asset is linked for use as a call-to-action. - The asset is linked for use as a classic display image. enum: - UNSPECIFIED - UNKNOWN - HEADLINE - DESCRIPTION - MANDATORY_AD_TEXT - MARKETING_IMAGE - MEDIA_BUNDLE - YOUTUBE_VIDEO - BOOK_ON_GOOGLE - LEAD_FORM - PROMOTION - CALLOUT - STRUCTURED_SNIPPET - SITELINK - MOBILE_APP - HOTEL_CALLOUT - CALL - PRICE - LONG_HEADLINE - BUSINESS_NAME - SQUARE_MARKETING_IMAGE - PORTRAIT_MARKETING_IMAGE - LOGO - LANDSCAPE_LOGO - VIDEO - CALL_TO_ACTION_SELECTION - AD_IMAGE - BUSINESS_LOGO - HOTEL_PROPERTY - DEMAND_GEN_CAROUSEL_CARD - BUSINESS_MESSAGE - TALL_PORTRAIT_MARKETING_IMAGE - RELATED_YOUTUBE_VIDEOS - LANDING_PAGE_PREVIEW - LONG_DESCRIPTION - CALL_TO_ACTION - CLASSIC_DISPLAY_IMAGE GoogleAdsGoogleadsV25Services__AssetGenerationExistingContext: type: object properties: existingAssetGroup: description: Resource name of an existing AssetGroup for which these assets are being generated. type: string existingAdGroupAd: description: Resource name of an existing AdGroupAd for which these assets are being generated. type: string description: The context for which assets are being generated, such as an existing AssetGroup or AdGroupAd. securitySchemes: oauth2: type: oauth2 description: Google OAuth 2.0. Google Ads API additionally requires a developer token in the developer-token header. flows: authorizationCode: authorizationUrl: https://accounts.google.com/o/oauth2/auth tokenUrl: https://oauth2.googleapis.com/token scopes: https://www.googleapis.com/auth/adwords: See, edit, create, and delete your Google Ads accounts and data. externalDocs: url: https://developers.google.com/google-ads/api/ x-source: https://googleads.googleapis.com/$discovery/rest?version=v25 x-generated-by: API Evangelist enrichment pipeline — mechanical conversion of the first-party Google API Discovery Document