# Method: projects.detectLanguage

- [HTTP request](https://docs.cloud.google.com/translate/docs/reference/rest/v3beta1/projects/detectLanguage#body.HTTP_TEMPLATE)
- [Path parameters](https://docs.cloud.google.com/translate/docs/reference/rest/v3beta1/projects/detectLanguage#body.PATH_PARAMETERS)
- [Request body](https://docs.cloud.google.com/translate/docs/reference/rest/v3beta1/projects/detectLanguage#body.request_body)
  - [JSON representation](https://docs.cloud.google.com/translate/docs/reference/rest/v3beta1/projects/detectLanguage#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://docs.cloud.google.com/translate/docs/reference/rest/v3beta1/projects/detectLanguage#body.response_body)
- [Authorization scopes](https://docs.cloud.google.com/translate/docs/reference/rest/v3beta1/projects/detectLanguage#body.aspect)
- [Try it!](https://docs.cloud.google.com/translate/docs/reference/rest/v3beta1/projects/detectLanguage#try-it)

Detects the language of text within a request.

### HTTP request

`POST https://translate.googleapis.com/v3beta1/{parent=projects/*}:detectLanguage`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `parent` | `string` Required. Project or location to make a call. Must refer to a caller's project. Format: `projects/{project-number-or-id}/locations/{location-id}` or `projects/{project-number-or-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Only models within the same region (has same location-id) can be used. Otherwise an INVALID_ARGUMENT (400) error is returned. |

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "model": string, "mimeType": string, "labels": { string: string, ... }, // Union field `source` can be only one of the following: "content": string // End of list of possible types for union field `source`. } ``` |

| Fields ||
|---|---|
| `model` | `string` Optional. The language detection model to be used. Format: `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/{model-id}` Only one language detection model is currently supported: `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/default`. If not specified, the default model is used. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `model`: - `cloudtranslate.languageDetectionModels.predict` |
| `mimeType` | `string` Optional. The format of the source text, for example, "text/html", "text/plain". If left blank, the MIME type defaults to "text/html". |
| `labels` | `map (key: string, value: string)` Optional. The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter. See <https://cloud.google.com/translate/docs/labels> for more information. |
| Union field `source`. Required. The source of the document from which to detect the language. `source` can be only one of the following: ||
| `content` | `string` The content of the input stored as a string. |

### Response body

If successful, the response body contains an instance of `https://docs.cloud.google.com/translate/docs/reference/rest/v3beta1/DetectLanguageResponse`.

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/cloud-translation`
- `https://www.googleapis.com/auth/cloud-platform`

For more information, see the [Authentication Overview](https://cloud.google.com/docs/authentication/).