Fish Audio: Transcribe 1 Pro
Transcribe 1 Pro transforme des enregistrements de 60 minutes au maximum en texte avec des marqueurs de locuteur et un horodatage facultatif au niveau des mots. Il préserve les indices d’émotion inférée et d’événements vocaux, ce qui facilite la vérification, la recherche ou la préparation de sous-titres pour les entretiens, réunions et podcasts.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
Transcribe 1 Pro est le modèle de transcription audio de Fish Audio pour les extraits courts, les conversations à plusieurs locuteurs et les enregistrements longs. Il reçoit de l’audio enregistré et renvoie une transcription, avec un horodatage facultatif et des tours de parole structurés. Ses caractéristiques distinctives sont les changements de locuteur marqués dans le texte et les indices d’émotion ou d’événements vocaux, qui préservent davantage la structure conversationnelle de l’enregistrement qu’une simple suite de mots.
Pour un entretien, une réunion ou un podcast, gardez la conversation complète dans un seul fichier afin que les locuteurs qui reprennent la parole puissent conserver des libellés cohérents au sein de la réponse. Un artefact de vérification utile est une transcription liée à l’enregistrement d’origine, avec les tours affichés séparément et un horodatage disponible pour vérifier une citation. Un résumé ou une liste d’actions constituent une étape ultérieure de l’application : gardez-les séparés de la transcription afin que la source parlée reste disponible pour comparaison.
Le producteur accepte des enregistrements jusqu’à 60 minutes et décrit le traitement de fichiers longs avec de l’audio compressé, tel que MP3, Opus ou AAC. Les formats pris en charge comprennent WAV, MP3, AAC dans M4A ou MP4, FLAC, Ogg avec Opus ou Vorbis, WebM/Matroska et MOV. Pour un fichier vidéo, il utilise la première piste audio. AIFF, CAF, WMA, AMR, AC-3 et le PCM brut sans en-tête ne sont pas pris en charge. Un fichier audio est fourni par requête ; le résultat arrive après la transcription de l’enregistrement entier, et un enregistrement long peut prendre plusieurs minutes. Les extraits plus courts qu’environ 0,08 seconde sont rejetés.
La réponse du producteur contient le texte complet, la durée de l’enregistrement en secondes et un tableau segments. Pro marque les changements de locuteur directement dans le texte avec des libellés tels que <|speaker:0|> et <|speaker:1|> ; un libellé s’applique au texte suivant jusqu’au prochain marqueur. Ce sont des identifiants au sein d’une réponse, plutôt que des noms ou des identités vérifiés pouvant être rapprochés entre les requêtes. Si la transcription ne possède aucun marqueur de locuteur, le guide la considère comme un résultat à un seul locuteur. Gardez tout texte précédant le premier marqueur avec le premier tour, plutôt que de le supprimer.
Les horodatages au niveau des mots sont facultatifs. Dans la requête au producteur, ignore_timestamps vaut true par défaut ; le définir sur false demande des segments contenant le texte et les temps de début et de fin en secondes. Un segment est généralement un mot, ou un caractère ou quelques caractères en chinois et en japonais. Le texte des segments omet la ponctuation, les marqueurs de locuteur et les indices d’événements, et peut normaliser une valeur prononcée différemment de la transcription complète. Un segment de mot peut avoir des temps de début et de fin identiques. Un tableau segments vide peut signifier que les horodatages n’ont pas été demandés, qu’aucune parole n’a été trouvée ou que l’horodatage était temporairement indisponible. Utilisez la transcription complète pour une formulation lisible et les segments pour l’alignement, plutôt que de supposer que les deux chaînes correspondent caractère par caractère.
Le réglage diarize vaut auto par défaut. Lorsque les horodatages sont demandés et que diarize ne vaut pas false, Pro renvoie aussi speaker_turns. Chaque tour contient son libellé de locuteur, son texte et ses temps de début et de fin, en préservant la ponctuation et les indices conservés, sans le marqueur de locuteur intégré au texte. Si l’horodatage des mots n’est pas disponible, les temps des tours peuvent être approximatifs et couvrir l’enregistrement entier ; les tours adjacents ne sont pas nécessairement contigus ou sans chevauchement. Désactiver diarize supprime la liste structurée des tours, mais laisse les marqueurs de locuteur dans le texte complet. Un nombre connu de locuteurs, ou des nombres minimal et maximal, peuvent guider la diarisation des enregistrements longs dans la mesure du possible. Le nombre exact ne peut pas être combiné aux bornes de nombre, et les indications de nombre ne peuvent pas être utilisées lorsque diarize est désactivé.
Les indices d’émotion et d’événements vocaux apparaissent sous forme de texte entre crochets, par exemple [laughter], avec la parole reconnue. Ce sont des inférences tirées de l’audio, plutôt que des mots que l’utilisateur doit ajouter avant la transcription. Le réglage tag_audio_events de Pro vaut true par défaut ; le désactiver supprime ces indices de la transcription et du texte des tours sans modifier l’horodatage. Il n’existe aucun champ d’émotion distinct ni aucune énumération fixe d’émotions. Préservez la transcription annotée lorsque la manière dont une remarque est prononcée importe et utilisez une version sans indices lorsque l’artefact en aval nécessite uniquement les paroles.
La langue est détectée automatiquement. Une indication facultative en code ISO 639-1 minuscule ne force pas de traduction et ne modifie pas la transcription de Pro. Si la langue ne peut pas être déterminée, le code de langue renvoyé peut refléter l’indication sans la vérifier au regard de l’audio. Le producteur rapporte une langue, plutôt qu’un inventaire de toutes les langues d’un enregistrement multilingue. Gardez la formulation d’origine et les métadonnées linguistiques ensemble lorsque vous préparez une archive interrogeable, particulièrement lorsque différentes parties d’une conversation changent de langue.
Pour les sous-titres, regroupez les mots consécutifs horodatés en blocs SRT ou WebVTT lisibles, plutôt que de produire un sous-titre par mot. Séparez les blocs autour des pauses et choisissez leur longueur et leur durée d’affichage selon le lecteur et le public. Les limites des tours de parole peuvent garder les différents locuteurs dans des blocs séparés. Vérifiez la présence d’un résultat d’horodatage vide et les blocs dont la fin doit être postérieure au début. La mise en forme des sous-titres, les noms attribués aux libellés anonymes de locuteur et tout résumé ultérieur sont des artefacts applicatifs construits à partir du résultat de transcription.
Pour un processus concret d’enregistrement, décidez avant la transcription si vous avez besoin d’une transcription simplement lisible, de tours de conversation annotés ou de sous-titres horodatés. Gardez l’identifiant audio avec le résultat, conservez le texte complet renvoyé lorsque la ponctuation et les indices importent et utilisez les champs structurés d’horodatage pour la navigation. Les capacités de Pro pour les enregistrements longs et les conversations à plusieurs locuteurs sont distinctes du modèle général Transcribe 1 pour les enregistrements courts ; leurs limites et leurs commandes ne doivent pas être traitées comme interchangeables.
Ailoot Ultra · Reconnaissance vocale POST /v1/audio/transcriptions fish-audio/transcribe-1-pro
fish-audio/transcribe-1-proPremiers pas
Transcribe 1 Pro transforme des enregistrements de 60 minutes au maximum en texte avec des marqueurs de locuteur et un horodatage facultatif au niveau des mots. Il préserve les indices d’émotion inférée et d’événements vocaux, ce qui facilite la vérification, la recherche ou la préparation de sous-titres pour les entretiens, réunions et podcasts.
- Entrées acceptées
- Audio
- Résultats
- Texte
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Reconnaissance vocale POST /v1/audio/transcriptions
- Entrée
audio- Sortie
text- Format de sortie
- json
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites fish-audio/transcribe-1-pro | Par défaut— |
Champinput_audio | Typeobject | ExigenceObligatoire | Valeurs et limites Clés exactes: data, format | Par défaut— |
Champinput_audio.data | Typebase64_string | ExigenceObligatoire | Valeurs et limites Nombre maximal d’octets décodés: 26 214 400 Base64 strict: Oui | Par défaut— |
Champinput_audio.format | Typestring | ExigenceObligatoire | Valeurs et limites Conditions: Doit correspondre au format réellement détecté par l’analyse du fichier | Par défaut— |
Champresponse_format | Typestring | ExigenceFacultatif | Valeurs et limites json | Par défaut— |
Combinaisons d’éléments d’entrée
speech_to_text · Obligatoire : input_audio.data, input_audio.format
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, input_audio |
Paramètreadditional_properties | Contratfalse |
Paramètreparameters | Contrat{"name":"model","type":"string","required":true,"enum":["fish-audio/transcribe-1-pro"]}, {"name":"input_audio","type":"object","required":true,"exact_keys":["data","format"],"data":"encodage base64 strict des octets audio réels pris en charge","format":"format exact détecté par l’analyse du fichier ; doit correspondre aux octets réels"}, {"name":"response_format","type":"string","required":false,"enum":["json"]} |
Paramètremax_audio_bytes | Contrat26214400 |
Paramètremultipart_for_this_profile | Contratfalse |
Paramètrematerial_types | Contrataudio |
Cycle de vie : synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Conservez la réponse complète et les ID d’origine renvoyés.
Ne soumettez jamais de nouveau une création dont l’issue est inconnue.
Tarifs
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs Ailoot
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Unité de facturation | Coût |
|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Unité de facturation— | Coût Entrée · Tokens en entrée — / 1K tokens Sortie · Tokens en sortie — / 1K tokens Entrée · Lecture du cache — / 1K tokens Entrée · Écriture dans le cache — / 1K tokens Entrée · Écriture dans le cache, 1 h — / 1K tokens |
| Configurationseconde d’audio en entrée | Barème tarifaire— | Unité de facturationpar seconde d’audio en entrée | Coût Entrée · seconde d’audio en entrée $0.0002 par seconde d’audio en entrée |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Détails du tarif de référence
Les barèmes de référence du modèle ne modifient ni la sélection de méthode, ni les devis, ni les coûts. Les frais actifs utilisent les tarifs de la méthode Ailoot sélectionnée.
Fish Audio: Transcribe 1 Pro
Prix par configuration
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationFish Audio: Transcribe 1 Pro · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Secondes d’audio en entrée 0,0002 USD par seconde d’audio en entrée |
Exemples de requêtes
Ailoot Ultra · Reconnaissance vocale
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set your actual audio file}"
: "${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}"
export AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "fish-audio/transcribe-1-pro", "response_format": "json"}')
import base64
f=Path(os.environ['AILOOT_AUDIO_FILE'])
raw=f.read_bytes()
if not raw or len(raw)>26214400:raise SystemExit('Use actual audio bytes within 25 MiB')
fmt=os.environ['AILOOT_AUDIO_FORMAT'].strip()
if not fmt:raise SystemExit('Use the actual probed format; the server checks it against the bytes')
p['input_audio']={'data':base64.b64encode(raw).decode(),'format':fmt}
Path('request.json').write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Recevoir et enregistrer les résultats
Ailoot Ultra · Reconnaissance vocale
json
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Conserver tous les résultats terminés
Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.
Conservez le JSON complet, les en-têtes de réponse, le texte et chaque champ de consommation réellement renvoyé. Utilisez les identités réelles de tâche ou de ressource provenant de la réponse ou de votre bibliothèque ; operation_id n’est pas task_id.
Si la réponse d’origine doit être vérifiée
Conservez l’operation_id/X-Client-Request-ID d’origine pour le rapprochement sans nouvelle soumission ; aucune route dédiée à l’interrogation du statut audio.
Champs de la réponse
| Champ | Type | Signification |
|---|---|---|
Champtext | Typestring | SignificationTexte transcrit. |
Champusage | Typeobject | SignificationConsommation audio. |
Champusage.seconds | Typenumber | SignificationDurée audio en secondes. |
Champduration | Typenumber | SignificationDurée audio en secondes. |
Champtask_id | Typestring | SignificationID de la tâche de transcription ; renvoyé avec asset_url lorsqu’une transcription non vide est stockée, publiée et associée à une URL de contenu signée. |
Champasset_url | Typestring | SignificationURL signée du contenu de la transcription ; renvoyée avec task_id lorsqu’une transcription non vide est stockée, publiée et associée à une URL de contenu signée. |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionChamps obligatoires, représentation des contenus ou valeur de paramètre non valides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
Réponseserver_error | ConditionLa réponse renvoyée indique que l’opération ou le résultat nécessite une vérification | Étape suivanteConservez l’identifiant d’opération/de tâche initialement renvoyé, les en-têtes de la requête et la réponse ; poursuivez les lectures prises en charge de cette opération d’origine. Ne soumettez pas à nouveau la requête de création. |
Alias
Alias du modèle
Ailoot Ultra fish-audio/transcribe-1-pro
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Fish Audio: Transcribe 1 Pro
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/audio/transcriptions·fish-audio/transcribe-1-pro:audio→text- Quels champs la requête utilise-t-elle ?
POST /v1/audio/transcriptions·fish-audio/transcribe-1-pro:model,input_audio,response_format