Skip to content

Commit 6e661da

Browse files
Merge pull request #4167 from MicrosoftDocs/main
Merged by Learn.Build PR Management system
2 parents 81ad672 + 9e17b98 commit 6e661da

22 files changed

+127
-21
lines changed

articles/ai-foundry/model-inference/includes/use-image-embeddings/csharp.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ First, create the client to consume the model. The following code uses an endpoi
3636

3737

3838
```csharp
39-
EmbeddingsClient client = new EmbeddingsClient(
39+
ImageEmbeddingsClient client = new ImageEmbeddingsClient(
4040
new Uri("https://<resource>.services.ai.azure.com/models"),
4141
new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_INFERENCE_CREDENTIAL"))
4242
);
@@ -51,7 +51,7 @@ BearerTokenAuthenticationPolicy tokenPolicy = new BearerTokenAuthenticationPolic
5151

5252
clientOptions.AddPolicy(tokenPolicy, HttpPipelinePosition.PerRetry);
5353

54-
client = new EmbeddingsClient(
54+
ImageEmbeddingsClient client = new ImageEmbeddingsClient(
5555
new Uri("https://<resource>.services.ai.azure.com/models"),
5656
credential,
5757
clientOptions

articles/ai-foundry/model-inference/includes/use-image-embeddings/javascript.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ var image_path = "sample1.png";
9999
var image_data = fs.readFileSync(image_path);
100100
var image_data_base64 = Buffer.from(image_data).toString("base64");
101101

102-
var response = await client.path("images/embeddings").post({
102+
var response = await client.path("/images/embeddings").post({
103103
body: {
104104
input: [
105105
{
@@ -120,7 +120,7 @@ The following example shows how to create embeddings that are used to create an
120120

121121

122122
```javascript
123-
var response = await client.path("/embeddings").post({
123+
var response = await client.path("/images/embeddings").post({
124124
body: {
125125
input: [ { image: image_data_base64 } ],
126126
input_type: "document",
@@ -133,7 +133,7 @@ When you work on a query to retrieve such a document, you can use the following
133133

134134

135135
```javascript
136-
var response = await client.path("/embeddings").post({
136+
var response = await client.path("/images/embeddings").post({
137137
body: {
138138
input: [ { image: image_data_base64 } ],
139139
input_type: "query",

articles/ai-services/openai/how-to/function-calling.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ At a high level you can break down working with functions into three steps:
4040
* `gpt-4o` (`2024-11-20`)
4141
* `gpt-4o-mini` (`2024-07-18`)
4242
* `gpt-4.5-preview` (`2025-02-27`)
43-
* `gpt-4.1` (`2025-14-2025`)
44-
* `gpt-4.1-nano` (`2025-14-2025`)
43+
* `gpt-4.1` (`2025-04-14`)
44+
* `gpt-4.1-nano` (`2025-04-14`)
45+
* `gpt-4.1-mini` (`2025-04-14`)
4546

4647
Support for parallel function was first added in API version [`2023-12-01-preview`](https://github.com/Azure/azure-rest-api-specs/blob/main/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/inference.json)
4748

articles/ai-services/openai/how-to/responses.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ The responses API is currently available in the following regions:
4545
- `computer-use-preview`
4646
- `gpt-4.1` (Version: `2025-04-14`)
4747
- `gpt-4.1-nano` (Version: `2025-04-14`)
48+
- `gpt-4.1-mini` (Version: `2025-04-14`)
4849

4950
Not every model is available in the regions supported by the responses API. Check the [models page](../concepts/models.md) for model region availability.
5051

articles/ai-services/openai/how-to/structured-outputs.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ Structured outputs make a model follow a [JSON Schema](https://json-schema.org/o
3232
- `gpt-4o` version: `2024-08-06`
3333
- `gpt-4o` version: `2024-11-20`
3434
- `gpt-4.1` version `2025-04-14`
35-
- `gpt-4.1-nano` version (`2025-14-2025`)
35+
- `gpt-4.1-nano` version `2025-04-14`
36+
- `gpt-4.1-mini` version: `2025-04-14`
3637

3738
## API support
3839

articles/ai-services/openai/quotas-limits.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ The following sections provide you with a quick guide to the default quotas and
6868
| `gpt-4.1` (2025-04-14) | Default | 1 M | 1 K |
6969
| `gpt-4.1-nano` (2025-04-14) | Enterprise Tier | 5 M | 5 K |
7070
| `gpt-4.1-nano` (2025-04-14) | Default | 1 M | 1 K |
71+
| `gpt-4.1-mini` (2025-04-14) | Enterprise Tier | 5 M | 5 K |
72+
| `gpt-4.1-mini` (2025-04-14) | Default | 1 M | 1 K |
7173

7274

7375
## computer-use-preview global standard

articles/ai-services/speech-service/includes/how-to/video-translation/ai-foundry.md

Lines changed: 96 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,26 +16,34 @@ In this article, you learn how to use video translation with Azure AI Speech in
1616
> [!TIP]
1717
> Try out video translation in the [Azure AI Foundry portal](https://ai.azure.com/) before using the API. Use the [video translation REST API](?pivots=rest-api) to integrate video translation into your applications. For more information about the API, see [Video translation REST API](/rest/api/aiservices/videotranslation/translation-operations/create-translation).
1818
19+
## Prerequisites
20+
21+
- An Azure subscription. If you don't have an Azure subscription, create a free account before you begin.
22+
- An Azure AI Services resource for Speech [in a supported region](../../../video-translation-overview.md#supported-regions-and-languages). If you don't have a Speech resource, create one in the [Azure portal](https://portal.azure.com/).
23+
- An [Azure Blob Storage](/azure/storage/blobs/storage-blobs-overview) account.
24+
- You need a video file in .mp4 format, less than 5 GB, and shorter than 4 hours. For testing purposes, you can use the sample video file provided by Microsoft at [https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4](https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4).
25+
- Make sure video translation supports your [source and target language](../../../language-support.md?tabs=speech-translation#video-translation).
26+
1927
## Try out video translation
2028

21-
To try out video translation, follow these steps:
29+
To try out the video translation demo, follow these steps:
2230

2331
1. Go to the [model catalog in Azure AI Foundry portal](https://ai.azure.com/explore/models).
2432

2533
1. Enter and search for "Azure-AI-Speech" in the catalog search box.
2634

27-
:::image type="content" source="../../../media/video-translation/search-model-catalog.png" alt-text="Screenshot of the model catalog in Azure AI Foundry portal." lightbox="../../../media/video-translation/search-model-catalog.png":::
35+
:::image type="content" source="../../../media/video-translation/foundry-portal/search-model-catalog.png" alt-text="Screenshot of the model catalog in Azure AI Foundry portal." lightbox="../../../media/video-translation/foundry-portal/search-model-catalog.png":::
2836

2937
1. Select **Azure-AI-Speech** and you're taken to the **Azure-AI-Speech** try out page.
3038
1. Select **Speech capabilities by scenario** > **Video translation**.
3139

32-
:::image type="content" source="../../../media/video-translation/capabilities-by-scenario.png" alt-text="Screenshot of filtering Speech service capabilities by scenario." lightbox="../../../media/video-translation/capabilities-by-scenario.png":::
40+
:::image type="content" source="../../../media/video-translation/foundry-portal/capabilities-by-scenario.png" alt-text="Screenshot of filtering Speech service capabilities by scenario." lightbox="../../../media/video-translation/foundry-portal/capabilities-by-scenario.png":::
3341

3442
1. Under the **Sample option** to the right, select personal or prebuilt voice.
3543

3644
1. Select the **Play** button to hear the translated audio. Select the original video tab to play the original audio.
3745

38-
:::image type="content" source="../../../media/video-translation/compare-original-translated.png" alt-text="Screenshot of selecting a voice type on the new project page." lightbox="../../../media/video-translation/compare-original-translated.png":::
46+
:::image type="content" source="../../../media/video-translation/foundry-portal/compare-original-translated.png" alt-text="Screenshot of selecting a voice type on the new project page." lightbox="../../../media/video-translation/foundry-portal/compare-original-translated.png":::
3947

4048
The voice type options are:
4149
- **Prebuilt voice**: The service automatically selects the most suitable prebuilt voice by matching the speaker's voice in the video with prebuilt voices.
@@ -45,6 +53,90 @@ To try out video translation, follow these steps:
4553
> To use personal voice via the API, you need to apply for [access](https://aka.ms/customneural).
4654
4755

56+
## Create a video translation project
57+
58+
To create a video translation project, follow these steps:
59+
60+
1. Go to the [model catalog in Azure AI Foundry portal](https://ai.azure.com/explore/models).
61+
62+
1. Enter and search for "Azure-AI-Speech" in the catalog search box.
63+
64+
:::image type="content" source="../../../media/video-translation/foundry-portal/search-model-catalog.png" alt-text="Screenshot of the model catalog in Azure AI Foundry portal." lightbox="../../../media/video-translation/foundry-portal/search-model-catalog.png":::
65+
66+
1. Select **Azure-AI-Speech** and you're taken to the **Azure-AI-Speech** try out page.
67+
1. Select **Speech capabilities by scenario** > **Video translation**.
68+
69+
:::image type="content" source="../../../media/video-translation/foundry-portal/capabilities-by-scenario.png" alt-text="Screenshot of filtering Speech service capabilities by scenario." lightbox="../../../media/video-translation/foundry-portal/capabilities-by-scenario.png":::
70+
71+
1. Select **My videos** > **Upload video**.
72+
73+
:::image type="content" source="../../../media/video-translation/foundry-portal/select-upload-video.png" alt-text="Screenshot of selecting the upload video button." lightbox="../../../media/video-translation/foundry-portal/select-upload-video.png":::
74+
75+
1. On the **Upload video** page, select a **Voice type**.
76+
77+
:::image type="content" source="../../../media/video-translation/foundry-portal/select-voice-type.png" alt-text="Screenshot of selecting a voice type on the new project page." lightbox="../../../media/video-translation/foundry-portal/select-voice-type.png":::
78+
79+
The voice type options are:
80+
- **Prebuilt neural voice**: The service automatically selects the most suitable prebuilt voice by matching the speaker's voice in the video with prebuilt voices.
81+
- **Personal voice**: Use the personal voice that matches the voice of the speakers in the video.
82+
83+
> [!NOTE]
84+
> To use personal voice, you need to apply for [access](https://aka.ms/customneural).
85+
86+
1. Upload your video file by dragging and dropping the video file or selecting the file manually. The video must be in .mp4 format, less than 5 GB, and shorter than 4 hours.
87+
88+
1. Provide the **Number of speakers**, **Language of the video**, and **Translate to** language.
89+
90+
1. Select the boxes to acknowledge the pricing information and code of conduct.
91+
92+
1. Select **Next: Advanced settings** if you want to adjust the advanced settings.
93+
94+
:::image type="content" source="../../../media/video-translation/foundry-portal/provide-video-information.png" alt-text="Screenshot of providing video information on the new project page." lightbox="../../../media/video-translation/foundry-portal/provide-video-information.png":::
95+
96+
1. Optionally, you can adjust the following settings:
97+
98+
- **Lexicon file**: This option allows you to add custom words or phrases that the system should recognize and pronounce correctly. You can create a lexicon file in the [audio content creation tool in the Speech Studio](https://aka.ms/speechstudio) and select it here.
99+
- **Burn subtitles**: This option allows you to add subtitles to the video. The subtitle file can be in WebVTT or JSON format. You can download a sample WebVTT file for your reference by selecting **Download sample VTT file**.
100+
101+
:::image type="content" source="../../../media/video-translation/foundry-portal/provide-video-information-advanced.png" alt-text="Screenshot of providing lexicon and subtitle information while creating a new project." lightbox="../../../media/video-translation/foundry-portal/provide-video-information-advanced.png":::
102+
103+
If you want to use your own subtitle files, select **Subtitle** > **Upload your own**. You can choose to upload either the source subtitle file or the target subtitle file.
104+
- Automatic subtitles: Results in both source and target language subtitles.
105+
- Upload source language subtitles: Results in both source and target language subtitles.
106+
- Upload target language subtitles: Results in only target language subtitles.
107+
108+
1. Select **Create**.
109+
110+
Once the upload to Azure Blob Storage is complete, you can check the processing status on the project tab.
111+
112+
After the project is created, you can select the project to review detailed settings and make adjustments according to your preferences.
113+
114+
## Check and adjust voice settings
115+
116+
Select **My videos** and you should see a video labeled with **Succeeded** status.
117+
118+
:::image type="content" source="../../../media/video-translation/foundry-portal/select-succeeded-video.png" alt-text="Screenshot of selecting a successfully translated video." lightbox="../../../media/video-translation/foundry-portal/select-succeeded-video.png":::
119+
120+
Select the video to see the **Translated** and **Original** tabs under **Video**. You can compare the original and translated videos by selecting the corresponding tab. The translated video is generated automatically, and you can play it to check the translation quality.
121+
122+
:::image type="content" source="../../../media/video-translation/foundry-portal/compare-original-translated-custom.png" alt-text="Screenshot of reviewing details of the translated video." lightbox="../../../media/video-translation/foundry-portal/compare-original-translated-custom.png":::
123+
124+
To the right side of the video, you can view both the original script and the translated script. Hovering over each part of the original script triggers the video to automatically jump to the corresponding segment of the original video, while hovering over each part of the translated script triggers the video to jump to the corresponding translated segment.
125+
126+
You can make multiple changes to the video, including adjusting the voice settings, adding or removing segments, and changing the time frame of the scripts. You're only charged after you select **Apply changes** to apply your changes. You can select **Save** to save work in progress without incurring any charges.
127+
128+
If you encounter segments with an "unidentified" voice name, it might be because the system couldn't accurately detect the voice, especially in situations where speaker voices overlap. In such cases, it's advisable to manually change the voice name.
129+
130+
:::image type="content" source="../../../media/video-translation/foundry-portal/voice-unidentified.png" alt-text="Screenshot of one segment with unidentified voice name." lightbox="../../../media/video-translation/foundry-portal/voice-unidentified.png":::
131+
132+
## Translate to another language
133+
134+
You can keep the current translation project and translate the original video into another language.
135+
136+
1. Select **My videos** and then select the tile for your video translation.
137+
1. Select **+ New language**.
138+
1. On the new **Translate to new language** page that appears, choose a new translation language and voice type. Once the video is translated, a new project is automatically created.
139+
48140
## Related content
49141

50142
- [Video translation overview](../../../video-translation-overview.md)

articles/ai-services/speech-service/includes/how-to/video-translation/rest.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ The video translation REST API facilitates seamless video translation integratio
1414
## Pre-requisites
1515

1616
- An Azure subscription. If you don't have an Azure subscription, create a free account before you begin.
17-
- A Speech resource [in a supported region](../../../video-translation-overview.md#supported-regions-and-languages). If you don't have a Speech resource, create one in the [Azure portal](https://portal.azure.com/).
18-
- You need a video file in .mp4 format, less than 500 MB, and shorter than 60 minutes. For testing purposes, you can use the sample video file provided by Microsoft at [https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4](https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4).
17+
- An Azure AI Services resource for Speech [in a supported region](../../../video-translation-overview.md#supported-regions-and-languages). If you don't have a Speech resource, create one in the [Azure portal](https://portal.azure.com/).
18+
- An [Azure Blob Storage](/azure/storage/blobs/storage-blobs-overview) account.
19+
- You need a video file in .mp4 format, less than 5 GB, and shorter than 4 hours. For testing purposes, you can use the sample video file provided by Microsoft at [https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4](https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4).
1920
- Make sure video translation supports your [source and target language](../../../language-support.md?tabs=speech-translation#video-translation).
2021

2122
> [!TIP]
@@ -48,7 +49,7 @@ To create a video translation, you need to construct an HTTP PUT request path an
4849
- Specify `speakerCount`: The number of speakers in the video. This is an optional parameter, and you can set it to 1 if you're unsure.
4950
- Specify `subtitleMaxCharCountPerSegment`: The maximum number of characters allowed per subtitle segment. This is an optional parameter, and you can set it to 30 if you're unsure.
5051
- Specify `exportSubtitleInVideo`: A boolean value indicating whether to export subtitles in the video. This is an optional parameter, and you can set it to `true` if you want to include subtitles in the video.
51-
- Specify the `videoFileUrl`: The URL of the video file you want to translate. The video must be in .mp4 format, less than 500 MB, and shorter than 60 minutes. You can upload the video to Azure Blob Storage and use the Blob URL. For testing purposes, you can use the sample video file provided by Microsoft at [https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4](https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4).
52+
- Specify the `videoFileUrl`: The URL of the video file you want to translate. The video must be in .mp4 format, less than 5 GB, and shorter than 4 hours. You can upload the video to Azure Blob Storage and use the Blob URL. For testing purposes, you can use the sample video file provided by Microsoft at [https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4](https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4).
5253

5354
For authentication and authorization, you need to include the following headers and path IDs in your request:
5455
- Set the `Operation-Id` header: The `Operation-Id` must be unique for each operation, such as creating each iteration. Replace `Your-Operation-Id` with a unique ID for this operation.

0 commit comments

Comments
 (0)