Fun-ASR vs Fun-ASR Flash
Lequel, quand — verdict de synthèse, pas un tableau de benchmarks
Même $0.0021 par minute d'audio, donc choisissez sur la forme plutôt que sur le prix : fun-asr est le modèle de fichiers asynchrone — jusqu'à 12 heures et 2GB, avec diarisation, mots-clés à privilégier et horodatages à la phrase et au mot — tandis que fun-asr-flash répond de façon synchrone, plafonné à 5 minutes et 2GB, avec le streaming et l'injection de termes métier en contexte mais sans diarisation ni horodatages. La liste de 30 langues est la même. Prenez fun-asr pour des enregistrements, fun-asr-flash pour des clips courts répondus dans la requête.
Tarification
| Fun-ASR | Fun-ASR Flash | Δ | |
|---|---|---|---|
| Par minute d'audio | $0.0021 | $0.0021 | = |
Tarifs issus du catalogue en direct au moment de la compilation ; chaque page de modèle présente la fiche actuelle.
Où ils se situent — prix par minute d'audio sur l'ensemble des 11 modèles speech-to-text pour cette unité de facturation (échelle logarithmique)
Capacités
| Fun-ASR | Fun-ASR Flash | |
|---|---|---|
| Diarisation des locuteurs | oui | non |
| Streaming | non | oui |
| Horodatages | oui | — |
Spécifications
| Fun-ASR | Fun-ASR Flash | |
|---|---|---|
| Modalités d'entrée | audio | audio |
| Modalités de sortie | texte | texte |
| Sortie | 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 |
| Langues | 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 |
Les spécifications sont transcrites à partir de la documentation de chaque fournisseur ; une ligne qu'un fournisseur ne publie pas est omise plutôt que déduite. Sources complètes : Fun-ASR · Fun-ASR Flash
Basculez de l'un à l'autre avec une seule ligne
Les deux ids sont dans chaque onglet ci-dessous — la paire de lignes en surbrillance est la seule modification. Même endpoint, même clé, même structure de requête.
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", # décommentez cette ligne, commentez celle du dessus
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", // décommentez cette ligne, commentez celle du dessus
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" \ # décommentez cette ligne, commentez celle du dessus
-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", // décommentez cette ligne, commentez celle du dessus
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") // décommentez cette ligne, commentez celle du dessus
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());FAQ
Lequel est le moins cher, Fun-ASR ou Fun-ASR Flash ?
Ils affichent la même valeur pour par minute d'audio ($0.0021), donc le prix ne permet pas de trancher ici — consultez les spécifications et les capacités ci-dessous.
Puis-je faire un test A/B de Fun-ASR par rapport à Fun-ASR Flash sans deux intégrations ?
Oui. Les deux sont servis via le même endpoint compatible OpenAI avec une seule clé API — le basculement est un changement de chaîne de modèle en une ligne, vous pouvez donc diriger une fraction du trafic vers chacun et comparer les factures directement.
Fun-ASR et Fun-ASR Flash prennent-ils en charge la diarisation des locuteurs ?
Le tableau des capacités ci-dessus y répond par modèle, directement à partir de la documentation de chaque fournisseur — la diarisation, le streaming et les horodatages sont listés séparément car les modèles diffèrent sur ces trois points.