変換するトランスクリプトを貼り付けてください。
機能の説明
Chat Format Converter は、1 つのチャットトランスクリプトを別プロバイダーの形式に変換します:OpenAI messages[]、トップレベル system 付きの Anthropic messages[]、Gemini contents[](アシスタントは model)、またはプレーンな Markdown トランスクリプト。トランスクリプトを貼り、変換元と変換先の形式を選ぶと、もう一方の API にそのまま使える等価なペイロードが得られます。すべて 100% クライアントサイドで実行されます - 貼り付けた内容がサーバーに送られることは決してなく、実ログと実ペイロードにも安全です。
変換は共有の内部メッセージリストを経由するため、ロールは忠実にマップされます(system は Anthropic のトップレベル system と Gemini の systemInstruction になり、Gemini の model は assistant になります)。ツール呼び出し、ツール結果、それらの相関 id も形式をまたいで保持されます。変換先の形式で表現できないフィールド(Markdown 行きのツール呼び出し、Anthropic/Gemini のメッセージ単位の name)は黙って落とされるのではなく警告として示され、OpenAI → OpenAI の往復はロスレスです。
使い方
- Transcript ボックスにトランスクリプトを貼り付けます(または Sample でデモ会話をロードします)。
- From の下で変換元、To の下で変換先の形式を選びます - その間の swap ボタンで方向を反転できます。
- Output の変換済みトランスクリプトを読み、Copy output でコピーします。
- Warnings(存在する時のみ表示)で、マップできなかったもの - Markdown への変換時のツール呼び出しなど - を確認します。
- Copy share link はトランスクリプトと両方の形式を URL にエンコードします。リンクを開けば正確な変換が再現されます。
例
OpenAI → Anthropic(system はトップレベルへ移動)
入力:
{
"messages": [
{ "role": "system", "content": "You are terse." },
{ "role": "user", "content": "Hi" },
{ "role": "assistant", "content": "Hello." }
]
}
出力:
{
"system": "You are terse.",
"messages": [
{ "role": "user", "content": "Hi" },
{ "role": "assistant", "content": "Hello." }
]
}
OpenAI → Gemini(assistant は model に、system は systemInstruction に)
出力:
{
"systemInstruction": { "parts": [{ "text": "You are terse." }] },
"contents": [
{ "role": "user", "parts": [{ "text": "Hi" }] },
{ "role": "model", "parts": [{ "text": "Hello." }] }
]
}
OpenAI → Markdown(ツール使用ターン - ツール呼び出しは失われずフラグされる)
tool_calls を持つアシスタントメッセージは **assistant**: / **tool**: ブロックに変換され、message 0: tool calls are not representable in Markdown and were dropped と報告します。生き残らなかったものが何か、正確にわかります。
補足事項
- ツール呼び出しの配管は JSON 形式間で生存: OpenAI
tool_calls↔ Anthropictool_use/tool_resultブロック ↔ GeminifunctionCall/functionResponseパート。id(または Gemini の name)が相関キーとして保持されます。 - 同形式の往復はロスレス: OpenAI → OpenAI 変換は内部形式にパースして戻すだけで、文字列コンテンツのメッセージは変わりません。
- 共有可能: トランスクリプトと両方の形式が URL にエンコードされます(
?t=…&from=…&to=…)。 - プライベート: すべてのパースはローカルで行われます - 実ログ、プロンプト、認証情報にも安全です。
- 関連ツール: Token Estimator、LLM Cost Calculator、JSON Formatter。