New API to fetch captions from Canvas Studio

0 Likes
(2)

My company, PlayPosit, provides an interactive video platform for instructors to overlay interactions over videos from various sources (YouTube, Vimeo, Kaltura, Mediasite, Wistia, and others). We are putting the final touches on our newest integration with Canvas Studios, but found that there is no API to fetch captions, just the video streams. Accessibility is a core tenet of our platform, so we want to formally request this API support. Arc has a documented captions endpoint, and the URL structure for Canvas Studios appears similar from our cursory investigation. This API support would allow our mutual users to create accessible content more easily, which can only benefit learners overall.

7 Comments
Stef_retired
Instructure Alumni
Instructure Alumni
Status changed to: Moderating
 
Stef_retired
Instructure Alumni
Instructure Alumni
Status changed to: Open
 
art
Community Member

I just bumped this.  There also needs to be an API method to push (real) captions into Canvas Studio, and associate them with a video.  I've been asking for this for years.  

I see this in the same documentation listed above: https://canvas.instructuremedia.com/api/docs/1.0/tweed_media_managementcaption_files.html#descriptio...

But last time I checked, that API was not exposed to customers or partners.  Any updates?

James
Community Champion

@art 

What problems are you having with that endpoint? I don't use that particular one, but I regularly use the one for auto-caption and the one to publish the captions that are automatically generated. I also use a lot of the endpoints from the Arconaut's Manual and haven't had issues once I figured out how they worked. The API became a huge timesaver for me when I was publishing lots of videos during our COVID at-home adventure.

The issue I ran into is getting the token because I'm not running my own OAuth server. Studio allows for developer keys, so if I had an OAuth server, I could probably get it to work. Thankfully, my account has a separate email login, so I get a token that way and then use the API.

art
Community Member

@James , this is very helpful! To be honest, I didn't try the endpoints in the Arconaut's Manual, because I was told by someone at Instructure (who's no longer there) that they were not part of the public API, which is what we would need to use. I'm still not clear on what the Arconaut APIs are for versus the public API, but keep in mind we're trying to find a way to do this at scale, not just for one user. I saw something on one of your other posts that said that the API would shut down if you did more than 1 call/second, so that had me a little worried.

However, with some more Googling, I came across this Studio Public API documentation, which I see now does have a create caption method: https://tw.instructuremedia.com/api/public/docs/#/

Have you ever tried that API?  I think we can get the OAuth working, because we've done that with other integrations.  Now I just need to find a test account to experiment with. 

Art

James
Community Champion

@art, I looked at the public API but it was lacking functionality and didn't have the things that I needed, so I just ended up using the Arconaut's API.

I suspect the Arconaut's manual is the one that Canvas Studio uses internally while the public one is the one for third-parties and they don't need access to the special features of Studio (like who watched what, quizzes, etc.).

The 1 call per second is a sustained rate. Whereas the Canvas REST API starts with an x-rate-limit-remaining of 700 and you can make multiple simultaneous calls as long as you apply some throttling and space out the requests, the Canvas Studio API starts with an x-rate-limit-remaining of 70. You can throttle and space out the requests and be okay for short tasks, but if you have a long process that makes more than one per second, it eventually hits 0.

I was downloading a list of all of my media and supplemental information that required additional calls and 1 per second is the sustainable limit.

If I remember right, the Studio public API had the same x-rate-limit-remaining issues, but don't hold that to me.

If you are using OAuth, then each user should have their own limits since they would have their own tokens -- at least that's how the Canvas REST API works. That may be helpful if you need to do user tasks rather than system tasks.

ProductPanda
Instructure
Instructure
Status changed to: Archived
Comments from Instructure

As part of the new Ideas & Themes process, all ideas in Idea Conversations were reviewed by the Product Team. Any Idea that was associated with an identified theme was moved to the new Idea & Themes space. Any Idea that was not part of the move is being marked as Archived. This will preserve the history of the conversations while also letting Community members know that Instructure will not explore the request at this time.