Fun-ASR Flash vs Seed ASR
Qual usar, quando — veredito curado, não uma tabela de benchmark
As tarifas por minuto diferem apenas por arredondamento ($0.0021 contra $0.002), o que coloca a escolha inteiramente nas capacidades: o seed-asr-bigmodel diariza na sua API de arquivos de áudio (documentada como melhor com 10 falantes ou menos), devolve carimbos de tempo por frase e palavra e aceita até 5 horas por arquivo, enquanto o fun-asr-flash é apenas síncrono, limitado a 5 minutos e 2GB, sem diarização mas com injeção de termos de domínio no contexto. Escolha o fun-asr-flash para retorno rápido em clipes curtos, o seed-asr-bigmodel para qualquer coisa longa ou com vários falantes.
Preços
| Fun-ASR Flash | Seed ASR | Δ | |
|---|---|---|---|
| Por minuto de áudio | $0.0021 | $0.002 | 1× |
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 Flash | Seed ASR | |
|---|---|---|
| Diarização de locutor | não | sim |
| Streaming | sim | sim |
| Timestamps | — | sim |
Especificações
| Fun-ASR Flash | Seed ASR | |
|---|---|---|
| Modalidades de entrada | áudio | áudio |
| Modalidades de saída | texto | texto |
| Lançamento | 2026-06 | — |
| Limites | Synchronous fast recognition, <=5 min / <=2GB per audio context injection for domain terms 30+ languages no diarization | Async audio-file mode: <512MB, <5 hours, OPUS/WAV/MP3/SPX/OGG/AMR/AAC/M4A (raw PCM also accepted), results returned within 3 hours and retained 7 days speaker diarization via enable_speaker_info (audio-file API only, best with <=10 speakers, no diarization on the streaming API) sentence + word segmentation with start_time/end_time via show_utterances language identification via enable_lid hotwords/context up to 800 tokens and 20 rounds per-call billing |
| Idiomas | 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 | With `language` empty the model covers Mandarin, English, Cantonese, Shanghainese, Minnan, Sichuan and Shaanxi dialects 39 language keys can be pinned explicitly (en-US, zh-CN, yue-CN, ja-JP, ko-KR, id-ID, es-MX, pt-BR, de-DE, fr-FR, fil-PH, ms-MY, th-TH, ar-SA, it-IT, bn-BD, el-GR, nl-NL, ru-RU, tr-TR, vi-VN, pl-PL, ro-RO, uk-UA, az-AZ, bg-BG, cs-CZ, da-DK, fi-FI, hi-IN, hu-HU, kk-KZ, km-KH, my-MM, no-NO, pa-PK, sv-SE, sw-KE, ur-PK), plus optional auto-detection (enable_auto_lang) |
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 Flash · Seed ASR
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-flash",
# model="seed-asr-bigmodel", # 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-flash",
// model: "seed-asr-bigmodel", // 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-flash" \
# -F model="seed-asr-bigmodel" \ # 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-flash",
// Model: "seed-asr-bigmodel", // 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-flash")
// .model("seed-asr-bigmodel") // 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 Flash ou Seed ASR?
Seed ASR é mais barato em por minuto de áudio ($0.002 vs $0.0021, com 1.0× de diferença). Outras linhas podem apontar para o outro lado — a tabela acima traz o quadro completo, e o custo real depende do seu mix.
Posso fazer um teste A/B de Fun-ASR Flash contra Seed ASR 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 Flash e Seed ASR 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.