Fish Audio: Transcribe 1 Pro
Transcribe 1 Pro convierte grabaciones de hasta 60 minutos en texto con marcadores de hablante y marcas de tiempo opcionales a nivel de palabra. Conserva indicios inferidos de emoción y eventos vocales, facilitando la revisión, búsqueda o preparación de subtítulos para entrevistas, reuniones y pódcast.
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 Pro es el modelo de voz a texto de Fish Audio para clips cortos, conversaciones con varios hablantes y grabaciones largas. Recibe audio grabado y devuelve una transcripción, con tiempos opcionales y turnos de habla estructurados. Sus características distintivas son los cambios de hablante marcados en el texto y los indicios de emoción o eventos vocales, que conservan más estructura conversacional de la grabación que una secuencia simple de palabras.
Para una entrevista, reunión o pódcast, mantén la conversación completa en un archivo para que los hablantes que vuelven a intervenir puedan conservar etiquetas coherentes dentro de la respuesta. Un artefacto útil de revisión es una transcripción vinculada a la grabación original, con turnos mostrados por separado y una marca de tiempo disponible para comprobar una cita. Un resumen o lista de acciones son un paso posterior de la aplicación: mantenlos separados de la transcripción para que la fuente hablada siga disponible para comparación.
El productor acepta grabaciones de hasta 60 minutos y describe el procesamiento de archivos largos con audio comprimido como MP3, Opus o AAC. Los formatos compatibles incluyen WAV, MP3, AAC en M4A o MP4, FLAC, Ogg con Opus o Vorbis, WebM/Matroska y MOV. Para un archivo de video utiliza la primera pista de audio. AIFF, CAF, WMA, AMR, AC-3 y PCM sin cabecera no son compatibles. Se proporciona un archivo de audio por solicitud; el resultado llega después de transcribir la grabación completa y una grabación larga puede tardar varios minutos. Se rechazan clips de menos de aproximadamente 0.08 segundos.
La respuesta del productor contiene el texto completo, la duración de la grabación en segundos y un array segments. Pro marca los cambios de hablante dentro del texto con etiquetas como <|speaker:0|> y <|speaker:1|>; una etiqueta se aplica al texto siguiente hasta el próximo marcador. Son identificadores dentro de una respuesta, no nombres ni identidades verificadas que puedan relacionarse entre solicitudes. Si la transcripción no tiene un marcador de hablante, la guía la trata como un resultado de un solo hablante. Conserva cualquier texto anterior al primer marcador dentro del primer turno, en lugar de descartarlo.
Las marcas de tiempo a nivel de palabra son opcionales. En la solicitud al productor, ignore_timestamps tiene true como valor predeterminado; establecerlo en false solicita segmentos con text y tiempos start y end en segundos. Un segmento suele ser una palabra, o un carácter o unos pocos en chino y japonés. El texto de segmento omite puntuación, marcadores de hablante e indicios de eventos y puede normalizar un valor hablado de forma distinta al texto completo de la transcripción. Un segmento de palabra puede tener los mismos tiempos start y end. Un array segments vacío puede significar que no se pidieron marcas de tiempo, que no se encontró habla o que los tiempos no estaban disponibles temporalmente. Utiliza la transcripción completa para una formulación legible y los segmentos para alineación, en lugar de suponer que ambas cadenas coinciden carácter por carácter.
El ajuste diarize tiene auto como valor predeterminado. Cuando se solicitan marcas de tiempo y diarize no es false, Pro también devuelve speaker_turns. Cada turno contiene su etiqueta de hablante, texto y tiempos start/end, conservando la puntuación y los indicios retenidos sin el marcador de hablante dentro del texto. Si no están disponibles los tiempos de palabras, los tiempos de turno pueden ser aproximados y cubrir la grabación completa; los turnos adyacentes no son necesariamente contiguos ni están necesariamente libres de solapamiento. Desactivar diarize elimina la lista estructurada de turnos, pero deja los marcadores de hablante en el texto completo. Una cantidad conocida de hablantes, o cantidades mínima y máxima, pueden orientar la diarización de grabaciones más largas con el mejor esfuerzo disponible. La cantidad exacta no puede combinarse con sus límites y las indicaciones de cantidad no pueden utilizarse con diarize desactivado.
Los indicios de emoción y eventos vocales aparecen como texto entre corchetes, por ejemplo [laughter], junto al habla reconocida. Son inferencias del audio, no palabras que un usuario deba añadir antes de transcribir. El ajuste tag_audio_events de Pro tiene true como valor predeterminado; desactivarlo elimina estos indicios de la transcripción y del texto de turnos sin cambiar los tiempos. No hay un campo separado de emoción ni una enumeración fija de emociones. Conserva la transcripción anotada cuando importe cómo suena un comentario y utiliza una versión sin indicios cuando el artefacto posterior necesite únicamente las palabras pronunciadas.
El idioma se detecta automáticamente. Una indicación opcional ISO 639-1 en minúsculas no fuerza traducción ni cambia la transcripción de Pro. Si el idioma no puede determinarse, el código de idioma devuelto puede reflejar la indicación sin verificarla frente al audio. El productor comunica un idioma, en lugar de un inventario de todos los idiomas de una grabación multilingüe. Mantén juntos la formulación original y los metadatos de idioma al preparar un archivo consultable, especialmente cuando distintas partes de una conversación cambien de idioma.
Para subtítulos, agrupa palabras consecutivas con tiempos en entradas legibles SRT o WebVTT, en lugar de producir un subtítulo por palabra. Separa las entradas alrededor de las pausas y elige su longitud y tiempo de visualización según el reproductor y el público. Los límites de turnos de habla pueden mantener a hablantes diferentes en entradas separadas. Comprueba si el resultado de tiempos está vacío y verifica que el final de cada entrada sea posterior a su inicio. El formato de subtítulos, los nombres de etiquetas anónimas de hablante y cualquier resumen posterior son artefactos de la aplicación construidos a partir del resultado de transcripción.
Para un flujo práctico de grabaciones, decide antes de transcribir si necesitas una transcripción simple y legible, turnos conversacionales anotados o subtítulos con tiempos. Mantén el identificador de audio junto al resultado, conserva el texto completo devuelto cuando importen puntuación e indicios y utiliza los campos estructurados de tiempos para navegación. Las capacidades de Pro para grabaciones largas y varios hablantes son distintas del modelo general Transcribe 1 de grabaciones cortas; sus límites y controles no deben tratarse como intercambiables.
Ailoot Ultra · Reconocimiento de voz POST /v1/audio/transcriptions fish-audio/transcribe-1-pro
fish-audio/transcribe-1-proInicio
Transcribe 1 Pro convierte grabaciones de hasta 60 minutos en texto con marcadores de hablante y marcas de tiempo opcionales a nivel de palabra. Conserva indicios inferidos de emoción y eventos vocales, facilitando la revisión, búsqueda o preparación de subtítulos para entrevistas, reuniones y pódcast.
- Entradas aceptadas
- Audio
- Resultados
- Texto
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Reconocimiento de voz POST /v1/audio/transcriptions
- Entrada
audio- Salida
text- Formato de salida
- json
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites fish-audio/transcribe-1-pro | Predeterminado— |
Campoinput_audio | Tipoobject | RequisitoObligatorio | Valores y límites Claves exactas: data, format | Predeterminado— |
Campoinput_audio.data | Tipobase64_string | RequisitoObligatorio | Valores y límites Máximo de bytes decodificados: 26,214,400 Base64 estricto: Sí | Predeterminado— |
Campoinput_audio.format | Tipostring | RequisitoObligatorio | Valores y límites Condiciones: Debe coincidir con el formato real detectado al inspeccionar el archivo | Predeterminado— |
Camporesponse_format | Tipostring | RequisitoOpcional | Valores y límites json | Predeterminado— |
Combinaciones de materiales de entrada
speech_to_text · Obligatorio: input_audio.data, input_audio.format
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, input_audio |
Parámetroadditional_properties | Contratofalse |
Parámetroparameters | Contrato{"name":"model","type":"string","required":true,"enum":["fish-audio/transcribe-1-pro"]}, {"name":"input_audio","type":"object","required":true,"exact_keys":["data","format"],"data":"base64 estricto de bytes reales de audio compatible","format":"formato exacto detectado al inspeccionar el archivo; debe coincidir con los bytes reales"}, {"name":"response_format","type":"string","required":false,"enum":["json"]} |
Parámetromax_audio_bytes | Contrato26214400 |
Parámetromultipart_for_this_profile | Contratofalse |
Parámetromaterial_types | Contratoaudio |
Ciclo de vida: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · El task_id real devuelto o el registro de la biblioteca multimedia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Conserva la respuesta completa y los ID originales devueltos.
Nunca vuelvas a enviar una creación de resultado desconocido.
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 →
Detalles de la tarifa de referencia
Las tablas de referencia del modelo no cambian la selección del método, las cotizaciones ni los cargos. Los cargos aplicados usan las tarifas del método Ailoot seleccionado.
Fish Audio: Transcribe 1 Pro
Precios por configuración
| Configuración | Condiciones de facturación | Cargo |
|---|---|---|
| ConfiguraciónFish Audio: Transcribe 1 Pro · Configuración predeterminada | Condiciones de facturaciónConfiguración predeterminada | Cargo Entrada · Segundos de audio de entrada USD 0.0002 por segundo de audio de entrada |
Solicitudes de ejemplo
Ailoot Ultra · Reconocimiento de voz
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
Recibir y guardar resultados
Ailoot Ultra · Reconocimiento de voz
json
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 el JSON completo, los encabezados de respuesta, el texto y todos los campos reales de uso devueltos. Usa identidades reales de tarea y recurso de la respuesta o de la biblioteca de contenido que te pertenece; operation_id no es task_id.
Si es necesario revisar la respuesta original
Conserva el operation_id/X-Client-Request-ID original para la conciliación sin volver a enviar la solicitud; no hay una ruta específica para consultar el estado del audio.
Campos de respuesta
| Campo | Tipo | Significado |
|---|---|---|
Campotext | Tipostring | SignificadoTexto transcrito. |
Campousage | Tipoobject | SignificadoUso de audio. |
Campousage.seconds | Tiponumber | SignificadoDuración del audio en segundos. |
Campoduration | Tiponumber | SignificadoDuración del audio en segundos. |
Campotask_id | Tipostring | SignificadoID de la tarea de transcripción; se devuelve con asset_url cuando se almacena y publica una transcripción no vacía y se le asigna una URL de contenido firmada. |
Campoasset_url | Tipostring | SignificadoURL firmada del contenido de la transcripción; se devuelve con task_id cuando se almacena y publica una transcripción no vacía y se le asigna una URL de contenido firmada. |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Respuestaserver_error | CondiciónLa respuesta devuelta indica que la operación o el resultado requiere una revisión | Siguiente pasoConserva el ID original de operación o tarea devuelto, los encabezados de la solicitud y la respuesta; continúa con las consultas admitidas de esa operación original. No vuelvas a enviar la solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra fish-audio/transcribe-1-pro
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · Fish Audio: Transcribe 1 Pro
- ¿Qué entradas y resultados están disponibles?
POST /v1/audio/transcriptions·fish-audio/transcribe-1-pro:audio→text- ¿Qué campos utiliza la solicitud?
POST /v1/audio/transcriptions·fish-audio/transcribe-1-pro:model,input_audio,response_format