---
title: "POST /v1/projects/{projectsId}/locations/{locationsId}:generateSyntheticData"
method: POST
path: "/v1/projects/{projectsId}/locations/{locationsId}:generateSyntheticData"
tags: ["projects"]
---

# POST /v1/projects/{projectsId}/locations/{locationsId}:generateSyntheticData

`POST /v1/projects/{projectsId}/locations/{locationsId}:generateSyntheticData`

## Request

- Base URL: `https://aiplatform.googleapis.com`
- URL: `https://aiplatform.googleapis.com/v1/projects/{projectsId}/locations/{locationsId}:generateSyntheticData`
- Auth: one of:
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/aiplatform`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/aiplatform`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/cloud-platform`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/cloud-platform`
- TypeScript: <https://skmtc.dev/google/apis/aiplatform/docs/v1/projects/:projectsId/locations/:locationsId:generateSyntheticData/post.ts> (a function with typed inputs; its response is checked against the schema)

Generates synthetic (artificial) data based on a description

## Path parameters

- `projectsId` string, required
- `locationsId` string, required

## Request body

- GoogleCloudAiplatformV1GenerateSyntheticDataRequest: Request message for DataFoundryService.GenerateSyntheticData. It contains the settings and information needed to generate synthetic data.
  - `count` integer: Required. The number of synthetic examples to generate. For this stateless API, you can generate up to 50 examples in a single request.
  - `examples` GoogleCloudAiplatformV1SyntheticExample[]: Optional. A list of few-shot examples that help the model understand the desired style, tone, and format of the generated synthetic data. Providing these few-shot examples can significantly improve the quality and relevance of the output.
    - `fields` GoogleCloudAiplatformV1SyntheticField[]: Required. A list of fields that constitute an example.
      - `content` GoogleCloudAiplatformV1Content: The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
        - `parts` GoogleCloudAiplatformV1Part[]: Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
          - `audioTranscription` GoogleCloudAiplatformV1AudioTranscription: The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`.
            - `speakerLabel` string: Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
            - `text` string: Required. The transcription text of this audio segment.
            - `words` GoogleCloudAiplatformV1AudioTranscriptionWordInfo[]: Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
              - …
          - `codeExecutionResult` GoogleCloudAiplatformV1CodeExecutionResult: Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used.
            - `id` string: Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
            - `outcome` 'OUTCOME_UNSPECIFIED' | 'OUTCOME_OK' | 'OUTCOME_FAILED' | 'OUTCOME_DEADLINE_EXCEEDED': Required. Outcome of the code execution.
            - `output` string: Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
          - `executableCode` GoogleCloudAiplatformV1ExecutableCode: Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated.
            - `code` string: Required. The code to be executed.
            - `id` string: Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
            - `language` 'LANGUAGE_UNSPECIFIED' | 'PYTHON': Required. Programming language of the `code`.
          - `fileData` GoogleCloudAiplatformV1FileData: URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage.
            - `displayName` string: Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
            - `fileUri` string: Required. The URI of the file in Google Cloud Storage.
            - `mimeType` string: Required. The IANA standard MIME type of the source data.
          - `functionCall` GoogleCloudAiplatformV1FunctionCall: A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values.
            - `args` object: Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
            - `id` string: Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
            - `name` string: Optional. The name of the function to call. Matches FunctionDeclaration.name.
            - `partialArgs` GoogleCloudAiplatformV1PartialArg[]: Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
              - …
            - `willContinue` boolean: Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
          - `functionResponse` GoogleCloudAiplatformV1FunctionResponse: The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction.
            - `id` string: Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
            - `name` string: Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
            - `parts` GoogleCloudAiplatformV1FunctionResponsePart[]: Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
              - …
            - `response` object: Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
            - `scheduling` 'SCHEDULING_UNSPECIFIED' | 'SILENT' | 'WHEN_IDLE' | 'INTERRUPT': Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
          - `inlineData` GoogleCloudAiplatformV1Blob: A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video.
            - `data` string, byte: Required. The raw bytes of the data.
            - `displayName` string: Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
            - `mimeType` string: Required. The IANA standard MIME type of the source data.
          - `mediaResolution` GoogleCloudAiplatformV1PartMediaResolution: per part media resolution. Media resolution for the input media.
            - `level` 'MEDIA_RESOLUTION_UNSPECIFIED' | 'MEDIA_RESOLUTION_LOW' | 'MEDIA_RESOLUTION_MEDIUM' | 'MEDIA_RESOLUTION_HIGH' | 'MEDIA_RESOLUTION_ULTRA_HIGH': The tokenization quality used for given media.
          - `speechMetadata` GoogleCloudAiplatformV1SpeechMetadata: Structured Metadata Sub-Message for Part
            - `speaker` string: Optional. Identifies which speaker is speaking this turn.
            - `style` string: Optional. Natural language description of the vocal style (e.g., "cheerful").
          - `text` string: Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
          - `thought` boolean: Optional. Indicates whether the `part` represents the model's thought process or reasoning.
          - `thoughtSignature` string, byte: Optional. An opaque signature for the thought so it can be reused in subsequent requests.
          - `videoMetadata` GoogleCloudAiplatformV1VideoMetadata: Provides metadata for a video, including the start and end offsets for clipping and the frame rate.
            - `endOffset` string, google-duration: Optional. The end offset of the video.
            - `fps` number, double: Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
            - `startOffset` string, google-duration: Optional. The start offset of the video.
        - `role` string: Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
      - `fieldName` string: Optional. The name of the specific field, such as "product_name" or "review_text".
  - `outputFieldSpecs` GoogleCloudAiplatformV1OutputFieldSpec[]: Required. Defines the schema of each synthetic example to be generated, defined by a list of fields.
    - `fieldName` string: Required. The name of this field in the generated synthetic data, such as "email_subject" or "customer_review".
    - `fieldType` 'FIELD_TYPE_UNSPECIFIED' | 'CONTENT' | 'TEXT' | 'IMAGE' | 'AUDIO': Optional. The data type of the field. Defaults to CONTENT if not set.
    - `guidance` string: Optional. Specific instructions for the large language model on how to generate content for this particular field. While the LLM can sometimes infer content from the field name, providing explicit guidance is preferred. For example, for a field named "review", the guidance could be "A positive review about a coffee maker."
  - `taskDescription` GoogleCloudAiplatformV1TaskDescriptionStrategy: Defines a generation strategy based on a general task description.
    - `taskDescription` string: Required. A general description of the type of synthetic data you want to generate. For example, "Generate customer reviews for a new smartphone."

## Response `200`

Successful response

- GoogleCloudAiplatformV1GenerateSyntheticDataResponse: The response message for the `GenerateSyntheticData` method, containing the synthetic examples generated by the Gen AI evaluation service.
  - `syntheticExamples` GoogleCloudAiplatformV1SyntheticExample[]: A list of generated synthetic examples, each containing a complete synthetic data instance generated based on your request.
    - `fields` GoogleCloudAiplatformV1SyntheticField[]: Required. A list of fields that constitute an example.
      - `content` GoogleCloudAiplatformV1Content: The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
        - `parts` GoogleCloudAiplatformV1Part[]: Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
          - `audioTranscription` GoogleCloudAiplatformV1AudioTranscription: The transcription of an audio part. For multi-speaker audio, each speaker segment is a separate `Part` with its own `AudioTranscription` carrying the `speaker_label`.
            - `speakerLabel` string: Optional. A label identifying the speaker of this audio segment (e.g. `spk_1`, `spk_2`). Present when `diarization` is set.
            - `text` string: Required. The transcription text of this audio segment.
            - `words` GoogleCloudAiplatformV1AudioTranscriptionWordInfo[]: Optional. Detailed word-level transcriptions and timing details. Present when `word_timestamp` is set.
              - …
          - `codeExecutionResult` GoogleCloudAiplatformV1CodeExecutionResult: Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used.
            - `id` string: Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id.
            - `outcome` 'OUTCOME_UNSPECIFIED' | 'OUTCOME_OK' | 'OUTCOME_FAILED' | 'OUTCOME_DEADLINE_EXCEEDED': Required. Outcome of the code execution.
            - `output` string: Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
          - `executableCode` GoogleCloudAiplatformV1ExecutableCode: Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated.
            - `code` string: Required. The code to be executed.
            - `id` string: Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`.
            - `language` 'LANGUAGE_UNSPECIFIED' | 'PYTHON': Required. Programming language of the `code`.
          - `fileData` GoogleCloudAiplatformV1FileData: URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage.
            - `displayName` string: Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
            - `fileUri` string: Required. The URI of the file in Google Cloud Storage.
            - `mimeType` string: Required. The IANA standard MIME type of the source data.
          - `functionCall` GoogleCloudAiplatformV1FunctionCall: A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values.
            - `args` object: Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
            - `id` string: Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
            - `name` string: Optional. The name of the function to call. Matches FunctionDeclaration.name.
            - `partialArgs` GoogleCloudAiplatformV1PartialArg[]: Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
              - …
            - `willContinue` boolean: Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
          - `functionResponse` GoogleCloudAiplatformV1FunctionResponse: The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction.
            - `id` string: Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
            - `name` string: Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
            - `parts` GoogleCloudAiplatformV1FunctionResponsePart[]: Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
              - …
            - `response` object: Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
            - `scheduling` 'SCHEDULING_UNSPECIFIED' | 'SILENT' | 'WHEN_IDLE' | 'INTERRUPT': Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
          - `inlineData` GoogleCloudAiplatformV1Blob: A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video.
            - `data` string, byte: Required. The raw bytes of the data.
            - `displayName` string: Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
            - `mimeType` string: Required. The IANA standard MIME type of the source data.
          - `mediaResolution` GoogleCloudAiplatformV1PartMediaResolution: per part media resolution. Media resolution for the input media.
            - `level` 'MEDIA_RESOLUTION_UNSPECIFIED' | 'MEDIA_RESOLUTION_LOW' | 'MEDIA_RESOLUTION_MEDIUM' | 'MEDIA_RESOLUTION_HIGH' | 'MEDIA_RESOLUTION_ULTRA_HIGH': The tokenization quality used for given media.
          - `speechMetadata` GoogleCloudAiplatformV1SpeechMetadata: Structured Metadata Sub-Message for Part
            - `speaker` string: Optional. Identifies which speaker is speaking this turn.
            - `style` string: Optional. Natural language description of the vocal style (e.g., "cheerful").
          - `text` string: Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
          - `thought` boolean: Optional. Indicates whether the `part` represents the model's thought process or reasoning.
          - `thoughtSignature` string, byte: Optional. An opaque signature for the thought so it can be reused in subsequent requests.
          - `videoMetadata` GoogleCloudAiplatformV1VideoMetadata: Provides metadata for a video, including the start and end offsets for clipping and the frame rate.
            - `endOffset` string, google-duration: Optional. The end offset of the video.
            - `fps` number, double: Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
            - `startOffset` string, google-duration: Optional. The start offset of the video.
        - `role` string: Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
      - `fieldName` string: Optional. The name of the specific field, such as "product_name" or "review_text".

## Changes

- **2026-11-06** `3aca3b348f0c`: 4 info
  - the security scope `https://www.googleapis.com/auth/aiplatform` was added to the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/aiplatform` was added to the endpoint's security scheme `Oauth2c`
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was removed from the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was removed from the endpoint's security scheme `Oauth2c`
- **2026-10-30** `34fcc627b062`: 4 info
  - the security scope `https://www.googleapis.com/auth/aiplatform` was added to the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/aiplatform` was added to the endpoint's security scheme `Oauth2c`
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was removed from the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was removed from the endpoint's security scheme `Oauth2c`

[Operation history](https://skmtc.dev/google/apis/aiplatform/changes/v1/projects/:projectsId/locations/:locationsId:generateSyntheticData/post.md)

---

[API](https://skmtc.dev/google/apis/aiplatform.md) - [All operations](https://skmtc.dev/google/apis/aiplatform/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/aiplatform/revisions/3aca3b348f0c?raw)
