Canopy Labs: Orpheus 3B
Le modèle vocal anglais Orpheus 3B ajusté de Canopy Labs transforme des phrases écrites en audio expressif. Huit voix prédéfinies et des balises non verbales servent à la narration, au dialogue et aux réponses parlées d’applications.
À 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.
Orpheus 3B 0.1 Fine-Tuned est le modèle anglais de synthèse vocale de Canopy Labs pour la synthèse courante. Il appartient à la famille Orpheus construite sur une architecture Llama 3B et se concentre sur l’intonation naturelle, le rythme et l’interprétation expressive. L’entrée est le texte à prononcer avec un locuteur choisi ; la sortie est de l’audio parlé. Le fabricant répertorie aussi le clonage vocal zero-shot pour ce modèle ajusté exact. Son exemple publié de synthèse ajustée utilise des locuteurs prédéfinis, tandis que le guidage texte–parole conditionné par une référence est documenté séparément pour l’édition préentraînée. Cette édition ajustée est distincte du modèle préentraîné et des modèles de recherche multilingues publiés séparément.
Choisir un locuteur et préparer la phrase
Le fabricant répertorie huit voix anglaises prédéfinies : tara, leah, jess, leo, dan, mia, zac et zoe. Sa convention de prompt place le nom du locuteur avant le texte parlé, séparé par deux-points. Le processus de référence de génération vocale peut ajouter cette mise en forme lorsque la voix est fournie séparément. Choisissez un locuteur pour le contenu visé et gardez ce choix cohérent entre les passages reliés.
Pour une courte explication, rédigez la narration définitive, plutôt qu’une instruction demandant au modèle d’inventer l’explication. Une phrase parlée utile est : « Choose the folder you want to share, check who can open it, and save the changes. » Pour un dialogue, préparez explicitement la phrase de chaque locuteur et conservez la ponctuation qui aide l’interprétation. Une abréviation, une date ou un nom de produit doivent être écrits sous la forme que vous voulez faire entendre à l’auditeur, particulièrement lorsque leur raccourci écrit serait ambigu.
Indices expressifs et non verbaux
Orpheus documente les balises <laugh>, <chuckle>, <sigh>, <cough>, <sniffle>, <groan>, <yawn> et <gasp>. Elles donnent au texte un événement non verbal explicite à l’endroit pertinent. Un court passage conversationnel peut placer un rire léger avant une remarque légère ou un soupir avant une phrase réflexive. Utilisez l’indice là où il appartient à l’interprétation et gardez clairs les mots réels de la phrase.
Ce sont des indices de génération vocale, plutôt qu’un langage général d’instructions pour modifier un enregistrement existant. Pour une voix off, commencez par un texte lisible et ajoutez seulement les événements expressifs nécessaires à la scène. Écoutez la phrase complète pour juger si l’événement, l’accentuation et le rythme soutiennent le sens. Une tâche de narration peut nécessiter une voix régulière, tandis qu’une phrase de personnage peut bénéficier d’un indice non verbal précis.
Streaming et résultat audio
Le fabricant fournit un notebook sans streaming et un exemple de parole en streaming. Le streaming renvoie des segments audio successifs à mesure que le passage est généré. Dans l’exemple publié, ces segments sont écrits dans un fichier WAV mono à 24 000 Hz avec des échantillons de 16 bits. Ces réglages de fichier décrivent le processus de référence ; le résultat utile est un enregistrement lisible dont les mots, le locuteur et l’interprétation peuvent être vérifiés au regard du script.
Pour une narration plus longue, préparez des passages cohérents avec des limites de phrases claires et gardez une copie du script définitif avec l’audio. Vérifiez le début et la fin de chaque passage, la prononciation des noms importants et la transition entre les enregistrements adjacents. Les recommandations d’échantillonnage du fabricant spécifient une pénalité de répétition d’au moins 1.1 pour une génération stable dans son implémentation de référence et précisent que les choix d’échantillonnage peuvent influer sur la vitesse de parole. La longueur de modèle configurée de l’exemple est un réglage d’inférence, plutôt qu’une durée maximale de narration établie.
Limites entre éditions
Ce profil concerne le modèle anglais ajusté avec ses locuteurs prédéfinis documentés. Le modèle préentraîné possède son propre processus de conditionnement par texte et parole ; les publications multilingues ont des locuteurs et des balises propres aux langues. Sélectionner cette édition anglaise ne combine pas ces profils distincts. Un livrable concret est un script parlé, une voix prédéfinie choisie intentionnellement et de l’audio vérifié pour la formulation et l’interprétation requises par le contenu.
Ailoot Ultra · Synthèse vocale POST /v1/audio/speech canopylabs/orpheus-3b-0.1-ft
canopylabs/orpheus-3b-0.1-ftPour commencer
Le modèle vocal anglais Orpheus 3B ajusté de Canopy Labs transforme des phrases écrites en audio expressif. Huit voix prédéfinies et des balises non verbales servent à la narration, au dialogue et aux réponses parlées d’applications.
- Entrées acceptées
- Texte
- Résultats
- Audio
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Synthèse vocale POST /v1/audio/speech
- Entrée
text- Sortie
audio- Format de sortie
- mp3
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites canopylabs/orpheus-3b-0.1-ft | Par défaut— |
Champinput | Typestring | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 Unité: caractères Unicode | Par défaut— |
Champvoice | Typestring | ExigenceObligatoire | Valeurs et limites tara, leah, jess, leo, dan, mia, zac | Par défaut— |
Champresponse_format | Typestring | ExigenceObligatoire | Valeurs et limites mp3 | Par défaut— |
Combinaisons d’éléments d’entrée
text_to_speech · Obligatoire : input
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, input, voice, response_format |
Paramètrevoice_ids | Contrattara, leah, jess, leo, dan, mia, zac |
Paramètreresponse_format | Contratmp3 |
Paramètremax_input_characters | Contratnull |
Paramètreother_options | Contratfalse |
Paramètreinput | Contrattexte UTF-8 exact; nombre de caractères Unicode sans normalisation |
Paramètrematerial_types | Contrattext |
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}
Sélectionnez la voix exacte dans ce profil de modèle.
Les caractères d’entrée et les secondes audio sont des unités de mesure distinctes.
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 | Quantité facturable | Unité de facturation | Coût |
|---|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité facturable— | Unité de facturation— | Coût Entrée · Jetons en entrée — / 1K jetons Sortie · Jetons en sortie — / 1K jetons Entrée · Lecture du cache — / 1K jetons Entrée · Écriture dans le cache — / 1K jetons Entrée · Écriture dans le cache, 1 h — / 1K jetons |
| ConfigurationUltra | Barème tarifaire— | Quantité facturableChaque point de code Unicode compte pour un caractère, y compris les caractères Han. | Unité de facturationpar 1K caractères en entrée | Coût Entrée · caractère en entrée $0.03 par 1K caractères en entrée |
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.
Canopy Labs: Orpheus 3B
Prix par configuration
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationCanopy Labs: Orpheus 3B · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Caractères en entrée 0,000014 USD par caractère 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 →
Exemples de requêtes
Ailoot Ultra · Synthèse vocale
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "canopylabs/orpheus-3b-0.1-ft", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["tara", "leah", "jess", "leo", "dan", "mia", "zac"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
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/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
Recevoir et enregistrer les résultats
Ailoot Ultra · Synthèse vocale
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Autres lectures de contenu
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
Conserver tous les résultats terminés
Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.
Conservez le résultat binaire complet et les en-têtes. Si une réponse JSON ou plusieurs sorties sont renvoyées, conservez chaque élément de données et récupérez chaque ressource via son URL signée réelle.
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 |
|---|---|
Champbinary audio | Typebytes |
Champresponse headers | Typeheaders |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionChamps obligatoires, représentation des éléments fournis ou valeur de paramètre invalides | É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 canopylabs/orpheus-3b-0.1-ft
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Canopy Labs: Orpheus 3B
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/audio/speech·canopylabs/orpheus-3b-0.1-ft:text→audio- Quels champs la requête utilise-t-elle ?
POST /v1/audio/speech·canopylabs/orpheus-3b-0.1-ft:model,input,voice,response_format