Fun-ASR Flash vs Seed ASR
Qual usar e quando
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, 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 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 | 2025-12-05 |
| 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 provedor; quando um provedor não publica um dado, a linha é omitida, e não inferida. Fontes completas: Fun-ASR Flash · Seed ASR
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-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());Perguntas frequentes
Qual é mais barato, Fun-ASR Flash ou Seed ASR?
Seed ASR sai mais barato na linha “Por minuto de áudio” ($0.002 contra $0.0021, 1.0× de diferença). Outras linhas podem pender para o outro lado: a tabela acima mostra todos os preços, e o custo real depende do seu mix de uso.
Posso fazer um teste A/B de Fun-ASR Flash contra Seed ASR 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 Flash e Seed ASR 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.