How to get a Bluesky video transcript
Choose the public post containing the video, open it and copy its bsky.app URL. Listen to a short part of the recording to confirm that it contains the speech you want. A link to a written post or an image has no video soundtrack to transcribe.
Submit the individual post
Sign in to transcript1 and paste the link into the dashboard’s video-link form. A supported URL has a profile component followed by /post/ and the post identifier. You do not need to extract a media-file URL yourself.
Choose language and speaker options
Automatic language detection works as the starting setting. If the video contains an exchange between people, request speaker identification to get numbered labels. Those labels do not identify account holders.
Review names and references
Read the completed transcript alongside the recording. Community names, project names and handles can be difficult to recognize from audio alone. Check those before using the text in a quotation or searchable archive.
Save the result with your notes
Copy the passage you need or export TXT, JSON, SRT or VTT. Keep the source post link and a short description of the video in your own notes so the transcript remains understandable later.
Accepted links and media limits
Use a public URL in the form https://bsky.app/profile/user.example/post/3l3w4b5c6d7e2. This is an illustrative link shape, not a sample recording. The URL must identify a video post that can be fetched without a logged-in account. Profiles, feeds, stories and live pages are not supported inputs.
The attached media needs an audio track. A post with several videos uses the first video only. An unavailable or deleted post cannot produce a transcript, and a post requiring authentication fails with login_required. These failures are not charged.
If you have the source recording, you can upload it instead of relying on a social link. Supported video files include mp4, mov, webm and mkv; audio files are also accepted. Uploads can be up to 2 GB through the chunked workflow, subject to account limits, and speech-to-text accepts media up to five hours.
Build searchable notes from a short video
A transcript is useful when a post contains an explanation you want to find again: a project update, a demonstration or a brief answer to a question. Save the wording alongside a descriptive note about the subject. Searchable text is especially helpful when you remember a phrase but not the account that posted it.
Keep spoken information separate from visual observations. In a software demonstration, the narrator may say “open this menu” while the menu name is only visible on screen. Add that name after watching the video rather than attributing it to the transcript. The service does not inspect the interface shown in the frames.
For a personal research collection, use a consistent record: source URL, topic, transcription id, reviewed quotations and relevant timestamps. These are suggested fields for your own archive, not an automatic archiving feature. Maintaining them makes it easier to distinguish several videos about the same topic.
Give an AI assistant the transcript through MCP
Connect transcript1’s remote MCP server to a supported assistant, then ask it to transcribe the Bluesky post. transcript1 retrieves the audio transcript; the assistant performs any requested summary, comparison or extraction. The service itself does not write a summary of the post.
A useful request specifies what counts as evidence. For a project update, ask for announced changes, unresolved questions and timestamps beside each point. Tell the assistant to mark an item as unstated when the transcript does not answer it. Avoid asking it to infer details from a demonstration that it has not actually seen.
When a result is paged, the assistant must read the remaining pages before claiming to summarize the whole recording. If transcription is still processing, it should keep the job id and call get_transcription rather than submitting the post again. The same principle applies to a custom agent using the REST API.
Transcribe this Bluesky video post: [paste the public post URL].
Read the complete transcript. List the changes the speaker announces,
with a timestamp for each. Keep my interpretation separate from quotes.Choose an output that preserves what you need
Plain text is convenient for notes and draft documents. JSON is a better fit for an application that needs each segment’s start, end, text and language. If speaker identification was requested, speaker labels are included as well. Word timings can be requested on a JSON read with include=words.
SRT and WebVTT carry subtitle cues for your own video or player workflow. They do not reproduce text styling from the original post or publish captions back to Bluesky. Check the cues against the final recording, particularly if you trimmed or rearranged the source.
Do not describe a transcript as a complete capture of the post. Its written description, alt text, replies and visual content are different sources of information. Store any of those separately when your use case needs them, and identify which source supports each observation.
Use the Bluesky transcription API without special parsing
Submit the bsky.app URL to POST /v1/transcriptions using the API request reference. The API detects the platform; an explicit bluesky value is optional and must match the link. Speech-to-text generates the transcript, while source=captions remains a YouTube-only option. Your application can save the job id, wait for completion and retrieve its chosen export.
For repeated workflows, use the full post URL and retain existing ids. Reading a completed transcript again is free of transcription-minute charges. A new successful job costs one credit per media minute, rounded up; failed and canceled jobs are not charged. New accounts receive 60 free minutes once after verifying their email.