Collez une transcription pour la convertir.
Ce que ça fait
Le Convertisseur de formats de chat transforme une transcription de chat dans la forme d’un autre fournisseur : messages[] OpenAI, messages[] Anthropic avec un system au niveau supérieur, contents[] Gemini (où l’assistant est model), ou une simple transcription Markdown. Collez une transcription, choisissez les formats source et cible, et obtenez la charge équivalente prête pour l’autre API. Tout tourne 100 % côté client — rien de ce que vous collez n’est jamais envoyé à un serveur, donc c’est sûr pour de vrais journaux et charges.
La conversion passe par une liste interne de messages partagée, donc les rôles correspondent fidèlement (system devient le system de niveau supérieur d’Anthropic et le systemInstruction de Gemini ; le model de Gemini devient assistant) et les appels d’outils, résultats d’outils et leurs ids de corrélation sont préservés d’un format à l’autre. Les champs qu’un format cible ne peut pas représenter (appels d’outils en Markdown, noms par message en Anthropic/Gemini) sont signalés en avertissements au lieu d’être silencieusement abandonnés, et un aller-retour OpenAI → OpenAI est sans perte.
Comment l’utiliser
- Collez votre transcription dans la boîte Transcription (ou appuyez sur Exemple pour charger une conversation de démonstration).
- Choisissez le format source sous De et la cible sous Vers — ou pressez le bouton d’échange entre les deux pour inverser le sens.
- Lisez la transcription convertie dans Sortie ; pressez Copier la sortie pour la copier.
- Vérifiez Avertissements (affichés seulement quand il y en a) pour tout ce qui n’a pas pu être mappé, comme des appels d’outils en route vers Markdown.
- Copier le lien de partage encode la transcription et les deux formats dans l’URL, donc un lien reproduit la conversion exacte.
Exemples
OpenAI → Anthropic (system passe au niveau supérieur)
Entrée :
{
"messages": [
{ "role": "system", "content": "You are terse." },
{ "role": "user", "content": "Hi" },
{ "role": "assistant", "content": "Hello." }
]
}
Sortie :
{
"system": "You are terse.",
"messages": [
{ "role": "user", "content": "Hi" },
{ "role": "assistant", "content": "Hello." }
]
}
OpenAI → Gemini (assistant devient model, system devient systemInstruction)
Sortie :
{
"systemInstruction": { "parts": [{ "text": "You are terse." }] },
"contents": [
{ "role": "user", "parts": [{ "text": "Hi" }] },
{ "role": "model", "parts": [{ "text": "Hello." }] }
]
}
OpenAI → Markdown (un tour avec outil — les appels d’outils sont signalés, pas perdus)
Un message assistant portant tool_calls se convertit en blocs **assistant**: / **tool**: et rapporte message 0: tool calls are not representable in Markdown and were dropped, pour que vous sachiez exactement ce qui n’a pas survécu au voyage.
Bon à savoir
- La plomberie d’outils survit aux formats JSON :
tool_callsOpenAI ↔ blocstool_use/tool_resultAnthropic ↔ partiesfunctionCall/functionResponseGemini, avec les ids (ou noms Gemini) gardés comme clé de corrélation. - Aller-retour sans perte à format identique : convertir OpenAI → OpenAI parse vers la forme interne et revient sans changer les messages à contenu chaîne.
- Partageable : la transcription et les deux formats sont encodés dans l’URL (
?t=…&from=…&to=…). - Privé : toute l’analyse se passe localement — sûr pour de vrais journaux, prompts et identifiants.
- Outils liés : Token Estimator, LLM Cost Calculator, JSON Formatter.