Fun-ASR vs Fun-ASR Flash
Qual usar, quando — veredito curado, não uma tabela de benchmark
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 no momento do build; a página de cada modelo contém o cartão atual.
Onde eles se posicionam — preço por minuto de áudio entre todos os 11 modelos de fala para texto nesta 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 fornecedor; uma linha que um fornecedor não publica é omitida em vez de ser inferida. Fontes completas: Fun-ASR · Fun-ASR Flash
Alterne entre eles com uma linha
Ambos os IDs estão em todas as abas abaixo — o par de linhas destacado é a única edição. Mesmo endpoint, mesma chave, mesmo formato de requisição.
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());FAQ
Qual é mais barato, Fun-ASR ou Fun-ASR Flash?
Eles listam a mesma por minuto de áudio ($0.0021), então 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. Ambos são servidos pelo mesmo endpoint compatível com OpenAI com uma única chave de API — a troca é uma alteração de uma linha na string do modelo, de modo que você pode rotear uma fração do tráfego para cada um e comparar as faturas diretamente.
Fun-ASR e Fun-ASR Flash suportam diarização de locutor?
A tabela de capacidades acima responde a isso por modelo, direto da documentação de cada fornecedor — diarização, streaming e timestamps são listados separadamente porque os modelos diferem nos três.