Forum Discussion
Is Automatic Transcription for Videos on SharePoint Available Yet?
This article implies it is:
Has anyone seen it in their tenants?
I've had to do it via API calls for the last year. I'm looking forward to it happening automatically.
- Marc MrozMicrosoftThis just finished deploying to 100% WW in last week. The videos uploaded to a shared space like Teams channel, SP site, Viva Engage community get transcripts generated automatically. We are looking at adding other cases in the future.
- stuartmcgarrityBrass Contributor
Marc Mroz Sounds good Marc, but how long does it take to happen? I uploaded a video a few minutes ago and still no sign of a transcript.
- TasmaniaBrass ContributorI had auto transcription one day but then it didn't work the next day. It's so incredibly frustrating how these new features seem to randomly disappear.
- Hao_MoyMicrosoft
Hi Tasmania, I'm sorry to hear the transcriptions are taking a long while to generate. I'm Hao and I work for the transcription and closed captions team on Stream. The expectation is that for videos uploaded to SharePoint Online, it takes 15 minutes plus two times the length of the video to generate a transcript. This can vary depending on our traffic at the time of upload. My advice would be to rely on OnDemand generation if problems persist. Feel free to submit a support ticket so that we can take a closer look at the issues you're facing.
- stuartmcgarrityBrass ContributorHi Hao,
What is the best way to submit a support ticket? I suspect most of your users do not know how to do this unless they are tenant administrators.
- JWiersem1925Brass Contributor
stuartmcgarrity How do you trigger transcript creation via API?
- Marc MrozMicrosoft
stuartmcgarrity - We don't have a public API to trigger transcription only the private APIs the UI use and the user clicking the button. But we do have the ability to automatically transcribe videos in some cases, our code is making some guesses that the video will be viewed by other people.
- stuartmcgarrityBrass ContributorHi Marc, Is there a better description somewhere of the "some cases"?
I believe your doc is misleading. Its says: "Transcription and Closed Captions are automatically generated for video files that are uploaded to SharePoint."
https://support.microsoft.com/en-us/office/view-edit-and-manage-video-transcripts-and-captions-3cb9acb6-05b2-4f59-a50d-7df61123aa20?WT.mc_id=M365-MVP-9501#bkmk_about
- stuartmcgarrityBrass ContributorIts the "private API" marc mentions. I just looked at what the JS was doing in the UI. This works, but I do not know if all of it is needed. You may need a different baseUrl based on your location. It needs the driveid, the itemid and bearer access token, I use a dummy correlation id. The body of the post call is empty. (This is MATLAB code, but you get the idea):
baseUrl="https://eastus1-mediap.svc.ms/v1/transcript?provider=spo";
docPart="&docid=https://mathworks.sharepoint.com:443/_api/v2.1/drives/" + driveID + "/items/" + itemid + "?version=Published&file-extension=.mp4";
accessPart="&access_token=" + accessToken;
correlationPart="&correlation-id=c4909103-06da-4446-a84f-d2830f0625cf"; % Dummy
languagePart="&spokenlanguagetag=en-US";
apiCall=baseUrl + docPart + accessPart + correlationPart + languagePart;
uri = matlab.net.URI(apiCall,'literal'); % Required for encoding
% Preflight
request = matlab.net.http.RequestMessage;
request.Method="OPTIONS";
prefightResponse=send(request,uri);
% Main request
jsBodyStruct=struct;
jsBody=jsonencode(jsBodyStruct);
result=webwrite(apiCall,jsBody);