gpt-4o-transcribe-diarize
GPT-4o Transcribe Diarize convierte voz grabada en texto con segmentos etiquetados por hablante y marcas de tiempo. Es adecuado para reuniones, entrevistas y grabaciones con varias personas donde la transcripción debe mostrar quién habló y cuándo, con referencias vocales breves opcionales para hablantes conocidos.
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.
GPT-4o Transcribe Diarize es el modelo de reconocimiento automático de voz de OpenAI con diarización de hablantes integrada. Asocia segmentos de audio transcritos con distintos hablantes de una conversación. El resultado útil es una transcripción organizada por hablante y tiempo, en lugar de un bloque continuo de palabras. Está destinado a voz grabada que necesita etiquetas de hablantes, como una reunión, una entrevista o una conversación con varias personas.
Prepara la grabación finalizada
Proporciona la grabación que debe transcribirse. El flujo de archivos documentado admite MP3, MP4, MPEG, MPGA, M4A, WAV y WebM, con un límite de tamaño de archivo de 25 MB. Conserva la grabación de origen para que un turno de palabra, un nombre o una frase poco clara puedan comprobarse frente al audio real.
Para una reunión, conserva la secuencia de la conversación en lugar de cortar las pausas breves que ayudan a distinguir los turnos. Para una entrevista, mantén juntas la pregunta y la respuesta cuando la tarea necesite su relación. La preparación del audio debe hacer audible la voz sin eliminar información importante para el resultado etiquetado por hablante.
Este es un flujo de transcripción de archivos. Procesar una grabación finalizada y reconocer un flujo de audio que sigue llegando son tareas diferentes; el etiquetado de hablantes del modelo no se admite en sesiones de transcripción Realtime.
Solicita una transcripción etiquetada por hablante
El formato de resultado diarized_json devuelve segmentos con etiquetas de identidad del hablante y tiempos de inicio y fin. Cada segmento también contiene su texto transcrito. Mantén juntos esos campos para poder vincular las palabras con la parte pertinente de la grabación.
Para una transcripción útil de una reunión, conserva la secuencia de segmentos y muestra las palabras de cada hablante con sus marcas de tiempo. Una tarea posterior puede utilizar esa transcripción para preparar un acta o acciones pendientes, pero la diarización en sí no determina qué se acordó en la reunión ni genera un resumen verificado.
Las etiquetas de hablantes describen la agrupación de la voz que hace el modelo. Inspecciona las transiciones en las que las personas se interrumpen, hablan brevemente o se solapan. Un resultado bien estructurado facilita la navegación y la revisión, mientras que una atribución concreta puede seguir requiriendo escuchar el audio original.
Referencias de hablantes conocidos
El flujo documentado puede aceptar hasta cuatro referencias de hablantes con nombre. Cada referencia es un breve fragmento de audio de 2–10 segundos en un formato admitido por la carga principal. Los nombres y las referencias se proporcionan juntos para poder asociar los segmentos con hablantes conocidos.
Prepara una referencia que contenga claramente al hablante previsto y mantén su nombre coherente con las etiquetas previstas para la transcripción. Para una entrevista, una referencia de quien la realiza puede ayudar a organizar el resultado etiquetado por hablante sin que cada participante quede identificado solo con una etiqueta anónima. La referencia es una entrada para la atribución; no es una operación general de clonación de voz ni una prueba de la identidad de una persona.
No confundas dar nombre a un hablante con editar las palabras que se pronunciaron. La salida útil debe seguir conservando el contenido de la grabación y el orden real de los turnos.
División en fragmentos y límites del modelo
Para audio de más de 30 segundos, el proveedor exige una estrategia de división en fragmentos, ya sea automática o mediante una configuración de detección de actividad de voz. Ese requisito no es una duración máxima de grabación. Describe cómo se divide una entrada más larga para procesarla.
La ficha del modelo indica una ventana de contexto de 16.000 tokens y un máximo de 2.000 tokens de salida. Son límites de tokens del modelo, independientes del límite de carga de 25 MB del flujo de archivos y del umbral de división en fragmentos. No deben convertirse en un número inventado de minutos que se aplique a todas las grabaciones.
Conserva los tiempos y la identidad de los segmentos al montar o inspeccionar una transcripción más larga. Si una grabación se ha dividido antes del envío, conserva la relación de cada parte con el audio original para no confundir una marca de tiempo local con su posición en la conversación completa.
Transmisión de segmentos finalizados
El flujo de transcripción de archivos puede transmitir texto a medida que se procesa la grabación. En la transmisión etiquetada por hablante, los segmentos completados producen eventos de segmento. Los incrementos de texto incluyen un identificador de segmento, pero no contienen asignaciones parciales de hablantes; se asigna un hablante cuando se finaliza el segmento.
Esta diferencia importa para la presentación. Muestra el texto provisional y un turno de palabra finalizado como estados distintos, en lugar de añadir una etiqueta de hablante incierta antes de que el modelo haya completado el segmento. Conserva el resultado completado cuando la transcripción se necesite para edición o análisis posteriores.
Límites del modelo y de la salida
Este perfil es el modelo de diarización, independiente de la transcripción GPT-4o ordinaria, la transcripción Mini, la síntesis de voz y los modelos de conversación en directo. No admite instrucciones textuales para la transcripción; mantén cualquier revisión o corrección terminológica como un paso independiente comprobado frente al audio original. Su interfaz del proveedor transcribe audio grabado en texto. No genera una respuesta de audio ni traduce una grabación mediante el flujo independiente de traducción de audio.
Utilízalo para transcripciones que necesitan tanto contenido como estructura de hablantes. Comprueba los nombres, los términos técnicos, los números, los límites de turnos y las atribuciones frente a la grabación. Conserva el audio, el formato de resultado elegido, las referencias y la transcripción completada para que una corrección pueda abordar una frase concreta o una atribución de hablante.
Ailoot Ultra · Reconocimiento de voz POST /v1/audio/transcriptions openai/gpt-4o-transcribe-diarize
openai/gpt-4o-transcribe-diarize
openai/gpt-4o-transcribe-diarizePrimeros pasos
GPT-4o Transcribe Diarize convierte voz grabada en texto con segmentos etiquetados por hablante y marcas de tiempo. Es adecuado para reuniones, entrevistas y grabaciones con varias personas donde la transcripción debe mostrar quién habló y cuándo, con referencias vocales breves opcionales para hablantes conocidos.
- Entradas aceptadas
- Audio
- Resultados
- transcription
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Reconocimiento de voz POST /v1/audio/transcriptions
- Tipos de entrada
audio- Tipos de salida
transcription- Formato de salida
- json
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites openai/gpt-4o-transcribe-diarize | Predeterminado— |
Campofile | Tipofile | RequisitoObligatorio | Valores y límites Máximo de bytes: 26.214.400 Tipos MIME: audio/mpeg Extensión de archivo: .mp3 Duración máxima, segundos: 30 | Predeterminado— |
Camporesponse_format | Tipostring | RequisitoObligatorio | Valores y límites diarized_json | Predeterminado— |
Combinaciones de materiales de entrada
diarized_transcription
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratomultipart/form-data |
Parámetrorequired | Contratomodel, file, response_format |
Parámetrofile_formats | Contratomp3 |
Parámetromax_audio_seconds | Contrato30 |
Parámetromax_bytes | Contrato26214400 |
Parámetroresponse_format | Contratodiarized_json |
Parámetroother_options | Contratofalse |
Parámetromaterial_types | Contratoaudio |
Parámetroadditional_properties | Contratofalse |
Parámetroform_string_maximum_bytes | Contrato256 |
Alias de método: /audio/transcriptions
Ciclo de vida: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id real devuelto o registro de la biblioteca multimedia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Usa una grabación real y el formato correspondiente.
Conserva la transcripción completa, los segmentos, los ID de hablantes y los tiempos.
Planes
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo rápido
- Sin especificar Cuando se selecciona el modo rápido
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (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ónUltra | Tabla de tarifas— | Unidad de facturación/ 1K tokens de audio | Cargo Entrada · token de audio de entrada $0.012 / 1K tokens de audio |
| ConfiguraciónUltra | Tabla de tarifas— | Unidad de facturación/ 1K tokens de audio | Cargo Salida · token de audio de salida $0.02 / 1K tokens de audio |
Ailoot reserva un importe 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 · Reconocimiento de voz
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set the path to your actual MP3 recording}"
export AILOOT_AUDIO_FILE
python3 - <<'PY_REQUEST'
import os
from pathlib import Path
p=Path(os.environ["AILOOT_AUDIO_FILE"])
if not p.is_file() or p.suffix.lower()!=".mp3":raise SystemExit("Choose an existing MP3 recording")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
--form-string model=openai/gpt-4o-transcribe-diarize -F "file=@$AILOOT_AUDIO_FILE" --form-string response_format=diarized_json \
-D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text())))
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}
Otras consultas de contenido
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('result.json').read_text())
urls=[]
if isinstance(r.get('asset_url'),str) and r['asset_url']:urls.append(('transcript',r['asset_url']))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
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
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva el JSON completo, no solo el texto; preserva todos los segmentos, hablantes y marcas temporales disponibles y la identidad real de la tarea o recurso.
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 dedicada para consultar periódicamente el audio.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campotext | Tipostring |
Camposegments[] | Tipoobject |
Campotask_id | Tipostring |
Campoasset_url | Tipostring |
Campousage | Tipoobject |
Camposegments[].speaker | Tipostring |
Camposegments[].start | Tiponumber |
Camposegments[].end | Tiponumber |
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 comprobación | Siguiente pasoConserva el ID original de operación o tarea devuelto, las cabeceras de la solicitud y la respuesta; continúa con las lecturas admitidas de esa operación original. No vuelvas a enviar la solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra openai/gpt-4o-transcribe-diarize
Alias de rutas de métodos
/audio/transcriptions
ID de modelo relacionados
FAQ · gpt-4o-transcribe-diarize
- ¿Qué entradas y resultados están disponibles?
POST /v1/audio/transcriptions·openai/gpt-4o-transcribe-diarize:audio→transcription- ¿Qué campos utiliza la solicitud?
POST /v1/audio/transcriptions·openai/gpt-4o-transcribe-diarize:model,file,response_format