Skip to main content

Integrar el modelo de reconocimiento de voz

Envíe un archivo de audio local o una URL de audio al modelo de reconocimiento de voz de Token Plan desde una herramienta de agente y obtenga la transcripción.

Modelos compatibles

ModeloCapacidadTipo
qwen-audio-3.0-asr-flashReconocimiento de vozNo en tiempo real
Para conocer más modelos, consulte modelos compatibles con Token Plan.

Requisitos previos

  • Una suscripción a Token Plan. Para Personal Edition, obtenga la clave de API sk-sp- desde My Subscription (Personal). Para Team Edition, asigne un puesto en Member Management y luego obtenga la clave de API.
  • Python 3.9 o posterior.
  • Una URL de audio accesible públicamente o un archivo de audio local. El audio no debe tener una duración superior a 5 minutos. Se admiten formatos como wav, mp3 y opus. Para obtener más información, consulte Especificaciones de audio.

Interfaz

POST https://token-plan.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation Utilice Authorization: Bearer $ANTHROPIC_AUTH_TOKEN en el encabezado de la solicitud. Para conocer los campos del cuerpo de la solicitud y de la respuesta, consulte las secciones siguientes.

Paso 1: Crear un comando de barra diagonal

Configure la clave de API de Token Plan (con el prefijo sk-sp-) como la variable de entorno $ANTHROPIC_AUTH_TOKEN para la autenticación del script. Cree .claude/commands/speech-to-text.md en la raíz del proyecto y agregue el siguiente contenido:
Llame a la API de reconocimiento de voz de Token Plan para transcribir audio a texto.

Archivo de audio o URL: $ARGUMENTS

## Pasos

1. Confirme que la entrada es una ruta local de audio o una URL accesible públicamente. El audio no debe tener una duración superior a 5 minutos. Para conocer los límites de formato y tamaño, consulte las especificaciones de audio en la documentación de reconocimiento de voz de Model Studio.
2. Instale las dependencias: pip install requests
3. Use la herramienta Bash para ejecutar el siguiente script de Python. El script lee TOKEN_PLAN_API_KEY primero y luego ANTHROPIC_AUTH_TOKEN. No muestre la clave ni la escriba en archivos ni en registros.

```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. Muestre la transcripción. Si se necesitan resultados detallados, muestre los campos `sentence` y `words` en el JSON de respuesta.

Paso 2: Transcribir audio

En Claude Code, introduzca /speech-to-text ./meeting.wav, o proporcione una URL de audio: /speech-to-text https://example.com/audio.mp3.

Parámetros de solicitud

ParámetroDescripción
modelEstablezca el valor en qwen-audio-3.0-asr-flash.
input.messages[0].content[0].input_audio.dataUna URL de audio o un URI de datos Base64 con el formato data:audio/{format};base64,{data}.
parameters.formatObligatorio. El formato de audio, como wav o mp3.
parameters.sample_rateOpcional. La frecuencia de muestreo de audio, como 16000.
parameters.language_hintsOpcional. Códigos de idioma para el reconocimiento, hasta 4, como ["zh"].
Para conocer todos los parámetros y campos de respuesta, consulte API HTTP de reconocimiento de voz en tiempo no real.

Respuesta

  • Texto reconocido: output.text.
  • Resultado por frase: output.sentence.text, output.sentence.words (marcas de tiempo por palabra).
  • Duración del audio: usage.duration, en segundos.

Otras herramientas

Para conocer los mecanismos de extensión y las rutas de los archivos de configuración de otras herramientas, consulte "Rutas de configuración de herramientas" en Descripción general de la integración.

Límites

  • Token Plan proporciona el modelo de reconocimiento de voz en tiempo no real qwen-audio-3.0-asr-flash.
  • Una sola entrada de audio no debe durar más de 5 minutos. Para conocer los límites de tamaño y formato de archivo, consulte Especificaciones de audio.
  • El reconocimiento de voz utiliza el protocolo DashScope. El endpoint es https://token-plan.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation.