Enhance a Google Ads image prompt

Changed on

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Rewrites a short image prompt into a fuller one that produces better Performance Max creative.

Send the text someone typed as raw_prompt. Nothing is saved.

An empty or whitespace-only raw_prompt returns an empty enhanced_prompt immediately, without running a model and without spending quota. If the model fails, you get your original prompt back as enhanced_prompt, so compare it against original_prompt when you need to know whether the rewrite actually happened.

<Note>This endpoint runs a language model and draws on a shared quota of 20 requests per minute per app, which every Google Ads AI endpoint debits. Enterprise workspaces get a higher quota. A 429 means the quota is spent, not that this endpoint has its own limit.</Note>

<Note>The copy is written in the language you send in the Accept-Language header. Omit the header and you get English — the app's own language is not consulted — so send it explicitly for a non-English app.</Note>

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>

post/api/apps/{app_id}/google-ads/suggestions/enhance-prompt

Request

  • Base URL: https://app.base44.com
  • URL: https://app.base44.com/api/apps/{app_id}/google-ads/suggestions/enhance-prompt
  • Auth: HTTP bearer

Path parameters

app_idstring required

ID of the app you are planning a Google Ads campaign for.

Headers

Accept-Languagestring

Language to return generated text in, as a standard Accept-Language value. An unsupported language falls back to English.

Request body

raw_promptstring

The image prompt to rewrite, in the caller's own words. Empty or whitespace-only returns an empty result without running a model.

Example request

{
  "raw_prompt": "oak table photo"
}

Response

The rewritten prompt.

enhanced_promptstring required

The rewritten prompt. Empty when you sent an empty or whitespace-only raw_prompt, in which case no model runs and no quota is spent.

original_promptstring required

The raw_prompt you sent, echoed back unchanged.

Example response

{
  "enhanced_prompt": "A warm, sunlit photograph of a handmade oak dining table in a bright modern kitchen, shallow depth of field, lifestyle advertising photography",
  "original_prompt": "oak table photo"
}

Changes

    • breaking

      header request parameter Accept-Language list-of-types was narrowed by removing types null

    • info

      for the header request parameter Accept-Language, the type was generalized from no type to string

    • info

      the endpoint scheme security PersonalAccessTokenAuth was added to the API