Fish Audio: Transcribe 1
Transcribe 1 convierte grabaciones cortas de audio en texto con detección automática del idioma y marcas de tiempo opcionales por palabra. Usa la transcripción para notas de voz, clips con búsqueda o preparación de subtítulos, manteniendo los segmentos temporizados separados del texto completo legible.
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
Transcribe 1 es el modelo general de voz a texto de Fish Audio para grabaciones cortas. Acepta un archivo de audio y devuelve las palabras reconocidas como texto, junto con la duración de la grabación, segmentos temporizados opcionales e información del idioma cuando se conoce. Este modelo resulta útil para una nota de voz corta, una instrucción hablada, un fragmento de una grabación o un clip de audio que necesita una representación legible en texto.
Un flujo ilustrativo de notas de voz conserva la grabación junto con su transcripción completa y un identificador del clip original. Un paso posterior de la aplicación puede buscar en ese texto, organizar la nota o elaborar un resumen mientras conserva la fuente hablada. Para una orden, la transcripción proporciona a la aplicación las palabras reconocidas; cualquier acción es un paso separado de interpretación y ejecución. Para un fragmento de entrevista, registra la posición del clip dentro del audio completo para poder comprobar una cita en el lugar correcto.
El productor acepta WAV, MP3, AAC, incluidos M4A/MP4, FLAC y Ogg con Opus o Vorbis. Las grabaciones de navegador en WebM deben convertirse a Ogg/Opus, MP3 o WAV para este modelo; Pro documenta compatibilidad nativa con contenedores adicionales. Proporciona un archivo de audio por solicitud. La capacidad documentada de las solicitudes del modelo base es de hasta 50 MiB, manteniendo los archivos MP3 y Opus por debajo de 25 MiB. El tamaño del archivo y la duración de la grabación son aspectos distintos: un archivo comprimido puede caber dentro del límite de carga y aun así tardar demasiado en procesarse.
Transcribe 1 está diseñado para grabaciones cortas. El productor recomienda Pro para audio de más de unos cuantos minutos; una solicitud larga al modelo base puede fallar si supera el límite de tiempo de procesamiento. Al preparar una fuente más larga para transcribir clips cortos, conserva el desplazamiento inicial de cada clip y confirma que la transcripción devuelta cubra el clip completo antes de combinar los resultados. Suma el desplazamiento original a los tiempos locales de los segmentos para mantener la navegación vinculada con la grabación completa. Las indicaciones del modelo base no deben interpretarse como el límite independiente de 60 minutos de Pro.
La respuesta del productor incluye texto, duración y segmentos. La duración se expresa en segundos, y la transcripción completa legible debe conservarse como la redacción principal del clip. Las marcas de tiempo son opcionales: ignore_timestamps tiene el valor predeterminado true en la API del productor, mientras que false solicita segmentos por palabra con texto y tiempos de inicio y fin en segundos. Solicitar alineación añade tiempo de procesamiento. Un arreglo segments vacío puede reflejar que se omitieron los tiempos, que no hay habla o que la alineación no está disponible temporalmente, por lo que no debe interpretarse automáticamente como una transcripción completa vacía.
Los segmentos suelen ser palabras, o un carácter o unos cuantos en chino y japonés. Su texto omite la puntuación y puede normalizar un valor de forma distinta de la transcripción completa; no es una copia carácter por carácter de la respuesta legible. Un segmento puede tener el mismo tiempo de inicio y fin. Usa los segmentos para localizar una posición en la grabación o preparar una presentación temporizada, y utiliza el texto completo cuando importen la redacción y la puntuación. Mantén separadas estas dos representaciones en el entregable resultante.
El idioma se detecta automáticamente, se proporcione o no una indicación opcional del idioma. El productor documenta códigos ISO 639-1 en minúsculas para las indicaciones y devuelve un código de idioma para la lógica de la aplicación junto con un nombre de idioma para mostrar cuando se conoce. La respuesta informa un solo idioma, en lugar de todos los idiomas de una grabación que alterna entre varios. Conserva la redacción original y los metadatos de idioma disponibles junto con el resultado, en vez de tratar la solicitud de transcripción como una operación de traducción.
Para un flujo de subtítulos, agrupa segmentos temporizados consecutivos en bloques legibles en lugar de mostrar una palabra a la vez. Una salida útil es un archivo SRT o WebVTT vinculado al clip original, con límites de bloques que se ajusten a las pausas y una cantidad manejable de texto en pantalla. Comprueba que no falten tiempos y que el final de cada bloque sea posterior a su inicio. La agrupación de subtítulos y el formato del archivo son pasos de la aplicación construidos a partir de la alineación devuelta, y sus opciones de visualización deben ajustarse al reproductor y a la audiencia.
Los controles documentados de Transcribe 1 son el audio, una indicación de idioma y la elección de marcas de tiempo. Los marcadores de hablantes, turnos estructurados de hablantes, controles de eventos emocionales e indicaciones del número de hablantes de Pro son funciones separadas; no forman parte del contrato de respuesta documentado de este modelo base. Elige el entregable requerido antes del procesamiento: texto legible sin más para una nota, o texto junto con alineación para navegación durante la reproducción y subtítulos. Conservar el identificador del clip, la transcripción y cualquier temporización disponible hace que ese resultado sea útil para la siguiente etapa de la aplicación.
Ailoot Ultra · Transcripción POST /v1/audio/transcriptions fish-audio/transcribe-1
fish-audio/transcribe-1Inicio
Transcribe 1 convierte grabaciones cortas de audio en texto con detección automática del idioma y marcas de tiempo opcionales por palabra. Usa la transcripción para notas de voz, clips con búsqueda o preparación de subtítulos, manteniendo los segmentos temporizados separados del texto completo legible.
- Entradas aceptadas
- Audio
- Resultados
- Texto
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Transcripción POST /v1/audio/transcriptions
- Entrada
audio- Salida
text
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites fish-audio/transcribe-1 | Predeterminado— |
Campoinput_audio | Tipoobject | RequisitoObligatorio | Valores y límites | Predeterminado— |
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, input_audio |
Parámetromaterial_types | Contratoaudio |
Parámetromaterial_conditions | ContratoEl ejemplo lee tu archivo PCM WAV real y no vacío, codifica todos sus bytes en base64 y envía input_audio.format con el valor wav. |
Ciclo de vida: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id exacto de un registro multimedia existente que te pertenece
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tarifas
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
Tarifas de Ailoot
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Tabla de tarifas | Unidad de facturación | Cargo |
|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Unidad de facturación— | Cargo Entrada · Tokens de entrada — / 1K tokens Salida · Tokens de salida — / 1K tokens Entrada · Lectura de caché — / 1K tokens Entrada · Escritura en caché — / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
| Configuraciónsegundo de audio de entrada | Tabla de tarifas— | Unidad de facturaciónpor segundo de audio de entrada | Cargo Entrada · segundo de audio de entrada $0.0002 por segundo de audio de entrada |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Transcripción
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}"
export AILOOT_AUDIO_FILE
python3 - <<'PY_REQUEST'
import base64, io, json, os, wave
from pathlib import Path
audio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()
if not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):
raise SystemExit('Supply your actual PCM WAV audio file')
with wave.open(io.BytesIO(audio), 'rb') as recording:
if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:
raise SystemExit('Supply a nonempty PCM WAV recording')
request = {'model': 'fish-audio/transcribe-1', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}
Path('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')
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 response.bin
# Retain the complete original response, headers and actual X-Client-Request-ID.
# Read existing owned records for recovery; do not resubmit an uncertain operation.
Recibir y guardar resultados
Ailoot Ultra · Transcripción
Cuerpo completo de la respuesta original, estado y encabezados reenviados. Este manejador no agrega una estructura JSON universal, un campo de texto ni una estructura contenedora de tareas.
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva la respuesta completa y los encabezados, todas las salidas reales, los identificadores originales devueltos y todos los campos de uso. Recupera la operación original sin volver a enviar la solicitud de creación.
Si es necesario revisar la respuesta original
Conserva el X-Client-Request-ID real y la respuesta completa. Consulta los recursos originales que te pertenecen y sus URL exactas de contenido firmadas; nunca vuelvas a enviar una creación incierta.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campotext (when present) | Tipo |
Campousage (when present) | Tipo |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónEl cuerpo JSON o el ID canónico explícito del modelo no son válidos. | Siguiente pasoConserva la respuesta y corrige el campo indicado de la solicitud. |
Respuesta401 · authentication_error | CondiciónLa clave API de Ailoot no es válida. | Siguiente pasoUsa tu clave API autorizada de Ailoot. |
Respuesta403 · permission_error | CondiciónEl grupo de la clave no admite este método. | Siguiente pasoConserva los detalles del error devueltos. |
Respuesta404 · not_found_error | CondiciónEl método seleccionado no tiene una ruta admitida. | Siguiente pasoConserva los detalles del error devueltos. |
Respuesta422 · price_unavailable | CondiciónLa tarifa aceptada no puede obtener la cantidad de entrada o el límite que requiere. | Siguiente pasoConserva la respuesta; usa la representación de entrada que requiere la tarifa aceptada. |
Respuesta503 · | CondiciónEl almacenamiento requerido, la ruta, el precio del método o la reserva de fondos no están disponibles. | Siguiente pasoConserva la respuesta original completa. Una reserva incierta no autoriza un reenvío. |
Respuesta502 · server_error | CondiciónEl resultado original, el uso o la liquidación del cargo requieren verificación. | Siguiente pasoConserva el ID real de solicitud y la respuesta original. Consulta el registro existente que te pertenece; no vuelvas a enviar la creación. |
Alias
Alias del modelo
Ailoot Ultra fish-audio/transcribe-1
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · Fish Audio: Transcribe 1
- ¿Qué entradas y resultados están disponibles?
POST /v1/audio/transcriptions·fish-audio/transcribe-1:audio→text- ¿Qué campos utiliza la solicitud?
POST /v1/audio/transcriptions·fish-audio/transcribe-1:model,input_audio