Fun-ASR vs Fun-ASR Flash
Qual usar e quando
Os mesmos $0.0021 por minuto de áudio, então escolha pela forma e não pelo preço: o fun-asr é o modelo assíncrono de arquivos - até 12 horas e 2GB, com diarização, hotwords e carimbos de tempo por frase e palavra - enquanto o fun-asr-flash responde de forma síncrona, limitado a 5 minutos e 2GB, com streaming e injeção de termos de domínio no contexto, mas sem diarização nem carimbos de tempo. A lista de 30 idiomas é a mesma. Escolha o fun-asr para gravações, o fun-asr-flash para clipes curtos respondidos na requisição.
Preços
| Fun-ASR | Fun-ASR Flash | Δ | |
|---|---|---|---|
| Por minuto de áudio | $0.0021 | $0.0021 | = |
Tarifas do catálogo em tempo real, lidas no momento do build; a página de cada modelo traz a tabela de preços atual.
Onde cada um fica: preço por minuto de áudio entre os 12 modelos de transcrição de áudio com esta unidade de cobrança (escala logarítmica)
Capacidades
| Fun-ASR | Fun-ASR Flash | |
|---|---|---|
| Diarização de locutor | sim | não |
| Streaming | não | sim |
| Timestamps | sim | - |
Especificações
| Fun-ASR | Fun-ASR Flash | |
|---|---|---|
| Modalidades de entrada | áudio | áudio |
| Modalidades de saída | texto | texto |
| Lançamento | 2025-08-22 | 2026-06 |
| Limites | 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 |
As especificações são transcritas da documentação de cada provedor; quando um provedor não publica um dado, a linha é omitida, e não inferida. Fontes completas: Fun-ASR · Fun-ASR Flash
Troque de um para o outro mudando uma linha
Os dois ids estão em todas as abas abaixo; o par de linhas destacado é a única alteração. O endpoint, a chave e o formato da requisição são os mesmos.
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", # descomente esta linha, comente a linha acima
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", // descomente esta linha, comente a linha acima
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" \ # descomente esta linha, comente a linha acima
-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", // descomente esta linha, comente a linha acima
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") // descomente esta linha, comente a linha acima
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());Perguntas frequentes
Qual é mais barato, Fun-ASR ou Fun-ASR Flash?
Na linha “Por minuto de áudio”, os dois custam o mesmo ($0.0021); o preço não decide este caso. Veja as especificações e capacidades abaixo.
Posso fazer um teste A/B de Fun-ASR contra Fun-ASR Flash sem duas integrações?
Sim. Os dois são servidos pelo mesmo endpoint compatível com OpenAI, com uma única chave de API. Para trocar, basta mudar uma linha, a string do modelo; assim você pode direcionar uma parte do tráfego para cada um e comparar as contas diretamente.
Fun-ASR e Fun-ASR Flash suportam diarização de locutor?
A tabela de capacidades acima responde modelo a modelo, direto da documentação de cada provedor. Diarização, streaming e timestamps aparecem em linhas separadas porque os modelos diferem nos três.