---
title: "Create Localization"
method: POST
path: "/medias/{mediaHashedId}/localizations"
tags: ["Localizations"]
---

# Create Localization

`POST /medias/{mediaHashedId}/localizations`

## Request

- Base URL: `https://api.wistia.com/modern`
- URL: `https://api.wistia.com/modern/medias/{mediaHashedId}/localizations`
- Auth: HTTP bearer

Creates a new localization.

Creating a localization can incur a charge on your account. Accounts get a
free-dub allowance; once it is used up, dubs bill per minute at the
account's configured rate.

## Requires api token with one of the following permissions
```
Read, update & delete anything
```

Tokens with the "Act with a team member's permissions" permission
(`all:delegate_to_contact_permissions` scope) can also be used. Requests
made with such a token are authorized using the permissions of the
contact assigned to the token.

An [expiring access token](https://docs.wistia.com/reference/post_expiring-token)
created with the `all:delegate_to_contact_permissions` scope and an
authorization granting the `translate` permission on this media can also
be used. The localization is ordered on behalf of the contact the token was
created for. Reading the localization afterwards needs the
`edit-transcripts` permission.

## Path parameters

- `mediaHashedId` string, required

## Headers

- `X-Wistia-API-Version` string, required

## Request body

- object
  - `output_language` string, required: The language to localize the media to as a 3-character IETF language code.
  - `auto_enable` boolean: Whether to automatically enable the localization.

## Response `201`

Successful creation of the localization.

- object: A localization is a translation of a media into another language.
  - `hashed_id` string, required: A unique alphanumeric identifier for this localization.
  - `language_code` string, required: A 3-character language code as specified by IETF.
  - `iso639_2_language_code` string, required: A 2-character language code as specified by ISO-639–2.
  - `language_name` string, required: The name of the language in English.
  - `native_language_name` string, required: The name of the language in the language of the localization.
  - `created_at` string, date-time, required: The date when the localization was created.
  - `updated_at` string, date-time, required: The date when the localization was last updated.
  - `ordered_at` string, date-time, nullable, required: The date when the localization was ordered.
  - `enabled_at` string, date-time, nullable, required: The date when the localization was enabled.
  - `enabled` boolean, required: Whether or not the localization is enabled.
  - `source_media` object, required: The media that the localization is associated with.
    - `hashed_id` string, required: A unique alphanumeric identifier for this media.
    - `name` string, required: The name of the media.
    - `duration` number, required: The duration of the media in seconds.
    - `created_at` string, date-time, required: The date when the media was created.
    - `updated_at` string, date-time, required: The date when the media was last updated.
  - `transcript` object, nullable: The transcript for the localization. Selectively serialized in some endpoints. See properties for endpoint.
    - `hashed_id` string, required: A unique alphanumeric identifier for this transcript.
    - `language_name` string, required: The name of the language in English.
    - `native_language_name` string, required: The name of the language in the language of the localization.
    - `text` string, required: The text of the transcript.
    - `created_at` string, date-time, required: The date when the transcript was created.
    - `updated_at` string, date-time, required: The date when the transcript was last updated.
  - `auto_enable_dubbing` boolean, required: Whether or not the dubbing will be automatically enabled when completed.
  - `expected_billed_minutes` number, nullable, required: The expected number of minutes that will be billed for the dubbing.
  - `expected_billed_price_per_minute` union, required: The expected price per minute that will be billed for the dubbing. Decimal prices are returned as strings.
    - number
    - string
  - `expected_billed_price` union, required: The expected total price that will be billed for the dubbing. Decimal prices are returned as strings.
    - number
    - string
  - `expected_billed_credits` string, nullable, required: The credits held for the dubbing, deducted when it completes. Null when the dubbing is not paid for with credits. Decimal amounts are returned as strings.
  - `billed_at` string, date-time, nullable, required: The date when the dubbing was billed.

## Other responses

- `400`: Bad request
- `401`: Unauthorized, invalid or missing token
- `403`: Forbidden, token is valid but account does not have access to feature
- `404`: Resource not found
- `422`: Unprocessible entity, parameters provided were invalid.
- `500`: Internal server error

## Changes

- **2026-11-03** `b86cb2a7b420`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/wistia/apis/data-api/changes/medias/:mediaHashedId/localizations/post.md)

---

[API](https://skmtc.dev/wistia/apis/data-api.md) - [All operations](https://skmtc.dev/wistia/apis/data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wistia/apis/data-api/revisions/b86cb2a7b420?raw)
