Skip to main content
Media represents local binary assets and their technical metadata. An asset owns a file and facts about it (kind, MIME type, duration, dimensions). Semantic roles belong to content, not media. “Japanese pronunciation by speaker A” is the meaning of a content field item; the asset it points at owns the audio file.

Asset shape

Binary data and absolute paths never appear inline in content or lessons. Content and compositions reference an asset by its stable ID; the asset owns the file.

Integrity

Studio records a sha256 digest and byteSize for every asset that has a local file, computed after the file lands in the project. That ordering matters for images, because Studio strips EXIF metadata (including GPS) on import, which changes the bytes. The digest gives players and validators an integrity check, a deduplication key, and a stable cache key.

Placeholders

An asset can exist as a placeholder before its file is recorded or imported, which lets authors compose a course and fill in audio or images later. Availability flips to ready once a file is attached.

Supported formats

Studio recognizes these extensions and maps them to a kind and MIME type:

Getting audio in

Media can be imported in the Media area or created from any field that accepts an asset. Studio can also record audio in-app or generate speech with on-device text to speech, saving the result as a normal media file. Nothing is uploaded.