Fun-ASR vs Fun-ASR Flash
Cuál usar y cuándo
Los mismos $0.0021 por minuto de audio, así que elige por forma y no por precio: fun-asr es el modelo asíncrono de archivos - hasta 12 horas y 2GB, con diarización, palabras clave y marcas de tiempo por frase y palabra - mientras que fun-asr-flash responde de forma síncrona, limitado a 5 minutos y 2GB, con streaming e inyección de términos de dominio en contexto pero sin diarización ni marcas de tiempo. La lista de 30 idiomas es la misma. Elige fun-asr para grabaciones, fun-asr-flash para clips cortos respondidos en la petición.
Precios
| Fun-ASR | Fun-ASR Flash | Δ | |
|---|---|---|---|
| Por minuto de audio | $0.0021 | $0.0021 | = |
Tarifas tomadas del catálogo en vivo al generar el sitio; la página de cada modelo tiene la ficha de precios actualizada.
Dónde queda cada uno: precio por minuto de audio entre los 12 modelos de voz a texto que se facturan en esta unidad (escala logarítmica)
Capacidades
| Fun-ASR | Fun-ASR Flash | |
|---|---|---|
| Diarización de hablantes | sí | no |
| Streaming | no | sí |
| Marcas de tiempo | sí | - |
Especificaciones
| Fun-ASR | Fun-ASR Flash | |
|---|---|---|
| Modalidades de entrada | audio | audio |
| Modalidades de salida | texto | texto |
| Lanzamiento | 2025-08-22 | 2026-06 |
| Límites | Async file transcription up to 12h / 2GB hotwords + speaker diarization sentence/word timestamps 30+ languages incl. Chinese dialects | Synchronous fast recognition, <=5 min / <=2GB per audio context injection for domain terms 30+ languages no diarization |
| Idiomas | Multilingual with dialects, 30 languages: Chinese (Mandarin, Cantonese, Wu, Hokkien, Hakka, Gan, Xiang, Jin plus regional accents), English, Japanese, Korean, Vietnamese, Thai, Indonesian, Malay, Filipino, Hindi, Arabic, French, German, Spanish, Portuguese, Russian, Italian, Dutch, Swedish, Danish, Finnish, Norwegian, Greek, Polish, Czech, Hungarian, Romanian, Bulgarian, Croatian, Slovak | Multilingual with dialects, the same 30-language list as the Fun-ASR main versions: Chinese (Mandarin, Cantonese, Wu, Hokkien, Hakka, Gan, Xiang, Jin plus regional accents), English, Japanese, Korean, Vietnamese, Thai, Indonesian, Malay, Filipino, Hindi, Arabic, French, German, Spanish, Portuguese, Russian, Italian, Dutch, Swedish, Danish, Finnish, Norwegian, Greek, Polish, Czech, Hungarian, Romanian, Bulgarian, Croatian, Slovak |
Las especificaciones se transcriben de la documentación de cada proveedor; si un proveedor no publica un dato, la fila se omite en vez de deducirlo. Fuentes completas: Fun-ASR · Fun-ASR Flash
Cambia de uno a otro con una sola línea
Los dos ids aparecen en todas las pestañas de abajo; lo único que cambia es el par de líneas resaltadas. El endpoint, la clave y la estructura de la solicitud son los mismos.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.audio.transcriptions.create(
model="fun-asr",
# model="fun-asr-flash", # descomenta esta línea, comenta la de arriba
file=open("meeting.mp3", "rb"),
language="en",
)
print(resp.text)import OpenAI from "openai";
import fs from "node:fs";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.audio.transcriptions.create({
model: "fun-asr",
// model: "fun-asr-flash", // descomenta esta línea, comenta la de arriba
file: fs.createReadStream("meeting.mp3"),
});
console.log(resp.text);curl https://synthorai.io/v1/audio/transcriptions \
-H "Authorization: Bearer sk-syn-..." \
-F model="fun-asr" \
# -F model="fun-asr-flash" \ # descomenta esta línea, comenta la de arriba
-F file=@meeting.mp3package main
import (
"context"
"fmt"
"os"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
f, _ := os.Open("meeting.mp3")
resp, _ := client.Audio.Transcriptions.New(context.TODO(), openai.AudioTranscriptionNewParams{
Model: "fun-asr",
// Model: "fun-asr-flash", // descomenta esta línea, comenta la de arriba
File: f,
})
fmt.Println(resp.Text)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.audio.transcriptions.*;
import java.nio.file.Paths;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
Transcription resp = client.audio().transcriptions().create(
TranscriptionCreateParams.builder()
.model("fun-asr")
// .model("fun-asr-flash") // descomenta esta línea, comenta la de arriba
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());Preguntas frecuentes
¿Cuál es más barato, Fun-ASR o Fun-ASR Flash?
Los dos tienen el mismo precio en Por minuto de audio ($0.0021), así que aquí el precio no decide: mira las especificaciones y las capacidades más abajo.
¿Puedo hacer pruebas A/B de Fun-ASR frente a Fun-ASR Flash sin dos integraciones?
Sí. Los dos se sirven desde el mismo endpoint compatible con OpenAI y con una sola clave API. Para cambiar de uno a otro basta con tocar una línea, el nombre del modelo, así que puedes mandar una parte del tráfico a cada uno y comparar directamente las facturas.
¿Admiten Fun-ASR y Fun-ASR Flash la diarización de hablantes?
La tabla de capacidades de arriba lo indica para cada modelo, según la documentación de su proveedor. La diarización, el streaming y las marcas de tiempo aparecen por separado porque los modelos difieren en las tres cosas.