ReferenceIntegration surfaces

Integration surfaces

The main integration points inside Dafado, described conceptually and safely.

Overview

Dafado is built from a few services that hand work to each other. This page describes those integration surfaces at a conceptual level. It does not list addresses, keys, or credentials, and none are needed to understand the shape.

Speech-to-text

The speech-to-text service is the boundary between voice and text.

  • In: a recording.
  • Out: a transcript, and optionally a rendered audio mix of the voice with a music bed under it.

Dafado sends only the audio a guest recorded. The service returns text, and when asked, the mixed audio. The original recording is never changed by this step.

Audio and image upload

Uploads use short-lived, pre-signed permissions to cloud object storage.

  • Dafado prepares a one-time, time-limited permission for a single file.
  • The browser uploads directly to storage using that permission.
  • The storage credentials never touch the browser.

This keeps large audio and image uploads off the application server and keeps the long-lived storage keys private. Playback later reads the finished file back through the edge cache.

Translation

When a reader asks for a review in their own language, the transcript text is translated on demand. Only transcript text is translated. The audio itself is never altered or translated.

Documentation sync

These documentation pages are pushed from Dafado to a documentation content API. Each page has a stable path, and the sync upserts by that path. Upsert means a page is created if it does not exist and updated in place if it does, so a page can be revised without breaking its link. That is why these docs stay current instead of being written once and abandoned.

The through-line

Every surface here follows the same two ideas: hand each job to the part that does it best, and keep credentials off the guest's device. A recording goes to speech-to-text, an upload goes straight to storage under a short-lived permission, transcript text goes to translation only when a reader asks, and the docs stay updatable by path.