Soumettez un fichier audio local ou une URL audio au modèle de reconnaissance vocale Token Plan depuis un outil Agent et renvoyez la transcription.
Modèles pris en charge
| Modèle | Capacité | Type |
|---|---|---|
qwen-audio-3.0-asr-flash | Reconnaissance vocale | Non temps réel |
Pour plus de modèles, voir modèles pris en charge par Token Plan.
Prérequis
- Un abonnement Token Plan. Pour la Personal Edition, obtenez la clé API
sk-sp-depuis My Subscription (Personal). Pour la Team Edition, attribuez un siège dans Member Management, puis obtenez la clé API. - Python 3.9 ou ultérieur.
- Une URL audio accessible publiquement ou un fichier audio local. L'audio ne doit pas dépasser 5 minutes. Les formats tels que
wav,mp3etopussont pris en charge. Pour plus de détails, consultez Spécifications audio.
Interface
POST https://token-plan.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
Utilisez Authorization: Bearer $ANTHROPIC_AUTH_TOKEN dans l’en-tête de la requête. Pour les champs du corps de la requête et de la réponse, voir les sections ci-dessous.
Étape 1 : Créer une commande slash
Configurez la clé API Token Plan (préfixée par sk-sp-) en tant que variable d'environnement $ANTHROPIC_AUTH_TOKEN pour l'authentification du script.
Créez .claude/commands/speech-to-text.md à la racine du projet et ajoutez le contenu suivant :
Appelez l'API de reconnaissance vocale Token Plan pour transcrire l'audio en texte.
Fichier audio ou URL : $ARGUMENTS
## Étapes
1. Confirmez que l'entrée est un chemin d'accès audio local ou une URL accessible publiquement. L'audio ne doit pas dépasser 5 minutes. Pour les limites de format et de taille, consultez les spécifications audio dans la documentation de reconnaissance vocale de Model Studio.
2. Installez les dépendances : pip install requests
3. Utilisez l'outil Bash pour exécuter le script Python suivant. Le script lit d'abord TOKEN_PLAN_API_KEY, puis ANTHROPIC_AUTH_TOKEN. N'affichez pas la clé et ne l'écrivez pas dans des fichiers ou des journaux.
```python
import base64
import json
import os
import sys
from pathlib import Path
import requests
MIME_TYPES = {
"aac": "audio/aac",
"amr": "audio/amr",
"flac": "audio/flac",
"m4a": "audio/mp4",
"mp3": "audio/mpeg",
"ogg": "audio/ogg",
"opus": "audio/opus",
"wav": "audio/wav",
"webm": "audio/webm",
}
source = sys.argv[1]
key = os.environ.get("TOKEN_PLAN_API_KEY") or os.environ.get("ANTHROPIC_AUTH_TOKEN")
if not key:
raise SystemExit("Token Plan API Key not found.")
if source.startswith(("http://", "https://")):
audio_data = source
audio_format = Path(source.split("?")[0]).suffix.lstrip(".").lower() or "mp3"
else:
path = Path(source)
audio_format = path.suffix.lstrip(".").lower()
mime_type = MIME_TYPES.get(audio_format, f"audio/{audio_format}")
audio_data = f"data:{mime_type};base64,{base64.b64encode(path.read_bytes()).decode()}"
payload = {
"model": "qwen-audio-3.0-asr-flash",
"input": {
"messages": [
{
"role": "user",
"content": [
{"type": "input_audio", "input_audio": {"data": audio_data}}
],
}
]
},
"parameters": {"format": audio_format},
}
response = requests.post(
"https://token-plan.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation",
headers={"Authorization": f"Bearer {key}", "Content-Type": "application/json"},
json=payload,
timeout=300,
)
if not response.ok:
raise SystemExit(f"{response.status_code}: {response.text}")
result = response.json()
print(result.get("output", {}).get("text") or json.dumps(result, ensure_ascii=False, indent=2))
```
4. Affichez la transcription. Si des résultats détaillés sont nécessaires, affichez les champs `sentence` et `words` dans le JSON de la réponse.
Étape 2 : Transcrire l'audio
Dans Claude Code, saisissez /speech-to-text ./meeting.wav, ou fournissez une URL audio : /speech-to-text https://example.com/audio.mp3.
Paramètres de requête
| Paramètre | Description |
|---|---|
model | Définir sur qwen-audio-3.0-asr-flash. |
input.messages[0].content[0].input_audio.data | Une URL audio, ou un URI de données Base64 au format data:audio/{format};base64,{data}. |
parameters.format | Obligatoire. Le format audio, tel que wav ou mp3. |
parameters.sample_rate | Facultatif. Le taux d’échantillonnage audio, par exemple 16000. |
parameters.language_hints | Facultatif. Codes de langue pour la reconnaissance, jusqu’à 4, par exemple ["zh"]. |
Pour tous les paramètres et champs de réponse, voir API HTTP de reconnaissance vocale non temps réel.
Réponse
- Texte reconnu :
output.text. - Résultat au niveau de la phrase :
output.sentence.text,output.sentence.words(horodatages au niveau des mots). - Durée de l'audio :
usage.duration, en secondes.
Autres outils
Pour les mécanismes d’extension et les chemins des fichiers de configuration des autres outils, consultez « Chemins de configuration des outils » dans Aperçu de l’intégration.
Limites
- Token Plan fournit le modèle de reconnaissance vocale non en temps réel
qwen-audio-3.0-asr-flash. - Une entrée audio unique ne doit pas dépasser 5 minutes. Pour les limites relatives à la taille et au format des fichiers, consultez Spécifications audio.
- La reconnaissance vocale utilise le protocole DashScope. Le point de terminaison est
https://token-plan.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation.