L’SDKDocumentation Index
Fetch the complete documentation index at: https://docs.sf-voice.sh/llms.txt
Use this file to discover all available pages before exploring further.
@sf-voice/media incapsula l’API sf-voice media per le applicazioni TypeScript.
Usalo per inviare asset multimediali, attendere l’indicizzazione e cercare tra le superfici video, audio
e trascrizione con i tuoi ID di asset rivolti ai clienti.
Ingerire gli asset
Invia contenuti da un URL, una chiave S3 o un buffer browser/file.
Mantieni i tuoi ID
Passa il tuo
asset_id affinché i risultati si colleghino al tuo sistema.Definisci l'ambito della ricerca
Usa
asset_class o asset_ids per mantenere la ricerca legata al cliente o gruppo corretto.L’SDK espone solo la terminologia di sf-voice. La mappatura specifica del provider avviene nel backend.
Nuovo su sf-voice media?
Inizia con la panoramica del prodotto prima di usare il riferimento dell’SDK.
Installazione
Crea un client
| Opzione | Obbligatorio | Descrizione |
|---|---|---|
baseUrl | Sì | URL base dell’API sf-voice media. |
apiKey | Sì | Chiave API inviata come header X-API-Key. |
timeoutMs | No | Timeout per richiesta in millisecondi. Predefinito 30_000. |
Campi principali
| Campo | Descrizione |
|---|---|
asset_id | Il tuo ID univoco per l’asset multimediale. Obbligatorio in fase di ingestione. |
asset_class | Raggruppamento logico opzionale, come un cliente, workspace, progetto o repository. Usato per delimitare la ricerca. |
types | Superfici multimediali opzionali da indicizzare o cercare: "video", "audio", "transcript". |
metadata | Metadati piatti chiave/valore opzionali. I valori devono essere stringhe, numeri o booleani. |
threshold | Punteggio minimo di ricerca opzionale da 0.0 a 1.0. Valori più alti restituiscono meno risultati, ma più affidabili. |
Scegliere asset_class
Usa asset_class per il confine all’interno del quale il tuo prodotto dovrebbe cercare di default.
Per la maggior parte dei prodotti rivolti al cliente, è il cliente finale, workspace, progetto,
repository o raccolta.
Buoni esempi di asset_class:
customer_acmeworkspace_123project_onboardingrepo_mobile_app
Flusso end-to-end
Uso lato browser e server
L’SDK funziona ovunque il runtime forniscafetch, FormData e Blob.
| Runtime | Sorgente di ingestione consigliata |
|---|---|
| App browser | source: "file" per upload diretti da input file. |
| Servizio backend | source: "url" o source: "s3" quando il contenuto è già archiviato. |
| Runtime worker | source: "url" o source: "file" a seconda delle API di corpo richiesta disponibili. |
Per file di grandi dimensioni, preferisci caricare prima il contenuto sul tuo livello di archiviazione e ingerirlo tramite URL o chiave S3.
Ingestione
ingest(request) invia un contenuto multimediale per l’indicizzazione e restituisce immediatamente un ID di task.
Input
Campi comuni:| Campo | Obbligatorio | Descrizione |
|---|---|---|
asset_id | Sì | Il tuo ID univoco per l’asset. |
asset_class | No | Raggruppamento logico per l’asset. La ricerca può usarlo successivamente come ambito. |
media_type | No | "video" o "audio". |
types | No | Superfici da indicizzare: "video", "audio", "transcript". |
metadata | No | Metadati piatti chiave/valore per la tua correlazione. |
| Sorgente | Campi obbligatori | Descrizione |
|---|---|---|
url | url | Ingerire da un URL pubblico o accessibile dal backend. |
s3 | s3_key | Ingerire da una chiave S3 già collegata a sf-voice. |
file | file, filename | Caricare direttamente un Blob, ArrayBuffer o Uint8Array. |
Esempi
Output
Task e polling
UsagetTask(taskId) per recuperare lo stato di un task una volta. Usa pollTask(taskId, options) per
attendere che il task raggiunga "ready" o "failed".
Ricerca
search(request) cerca nei contenuti indicizzati con linguaggio naturale.
La ricerca ha tre modalità di ambito:
| Modalità | Esempio | Usalo quando |
|---|---|---|
asset_class | { asset_class: "customer_acme" } | Cerchi in un cliente, workspace, progetto o raccolta. |
asset_ids | { asset_ids: ["video_123"] } | Cerchi in un insieme noto di asset. |
scope: "all" | { scope: "all" } | Cerchi intenzionalmente in ogni asset indicizzato. |
Input
| Campo | Obbligatorio | Descrizione |
|---|---|---|
query | Sì | Query di ricerca in linguaggio naturale. |
types | No | Quali superfici cercare: "video", "audio", "transcript". |
asset_ids | No | Limita la ricerca a ID di asset cliente specifici. |
asset_class | No | Limita la ricerca a un singolo raggruppamento logico. Consigliato per la ricerca limitata al cliente. |
scope | No | Imposta su "all" solo quando cerchi intenzionalmente in ogni asset. |
threshold | No | Punteggio minimo di corrispondenza da 0.0 a 1.0. Predefinito quello dell’API. |
page | No | Numero di pagina. |
limit | No | Massimo risultati per pagina. |
Esempi
Output
start_ms ed end_ms sono offset in millisecondi nel contenuto sorgente. Usali
per posizionare il player direttamente sul momento corrispondente.
Asset
Errori
Ogni risposta API non 2xx generaSfVoiceMediaError.
SfVoiceMediaRequestTimeoutError viene generato quando una singola richiesta HTTP supera
il timeout del client.
SfVoiceMediaPollTimeoutError viene generato quando pollTask supera il proprio timeout di polling
prima che il task raggiunga "ready" o "failed".
