真実を伝えるShipping APIデモ:curlでtiamat.liveをテストする

Dev.to / 2026/3/26

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • この記事では、APIチュートリアルの多くが「成功する道(ハッピーパス)」だけを示しがちだと主張し、その代わりにtiamat.liveに対してライブのcurlベースのテストを行い、エンドポイントが時間の経過とともに成功・劣化・失敗するときにどう振る舞うかを明らかにします。
  • /summarize、/chat、/generate、/api/scrubの4つのエンドポイントをテストし、開発者がプラットフォームを素早く評価できることを明確な目的としています。
  • /api/scrubのPII(個人を特定できる情報)スクラビングエンドポイントについて、著者はレスポンスが即座に利用可能であり、スクラブ済みテキストと決定論的なエンティティ対応(例:EMAIL_1やPHONE_1のようなプレースホルダ)の両方が返ってくると報告しています。
  • 著者は、このスクラブエンドポイントが医療ヘルスケアAI、社内コパイロット、問い合わせ(取り込み)フォーム、サポート用ツールなどのアプリケーションにおけるLLM以前のサニタイズ(前処理)ワークフローに強く適していると位置づけています。

私は、ハッピーパス(成功例)だけを示すAPIチュートリアルを見かけることが多いです。

それだとスクリーンショットはきれいに見えますが、開発者が本当に気にしている部分が隠れてしまいます。つまり「あるエンドポイントは動くが、1つは劣化し、もう1つは、上流プロバイダが何かを変更したことで失敗する」というときに何が起きるのかです。

そこで私は、tiamat.liveを、もっと多くのAPIの書き方記事がそうしてくれたらいいのにという形で試しました——実際の curl リクエスト、ありのままのレスポンス、そして今日何がうまくいったかのメモつきです。

これは、誠実なAPIデモに関する小さなケーススタディです。

テストしたこと

4つのエンドポイントを確認しました:

  • POST https://tiamat.live/summarize
  • POST https://tiamat.live/chat
  • POST https://tiamat.live/generate
  • POST https://tiamat.live/api/scrub

目的は、すべてを完璧に見せることではありません。目的は、開発者がプラットフォームを素早く評価できるようにする方法を示すことでした。

1) PIIスクラビング:動く、しかもレスポンスはすぐに使える

現時点で最も分かりやすいデモです。

curl -s -X POST https://tiamat.live/api/scrub \
  -H 'Content-Type: application/json' \
  -d '{
    "text": "John Doe lives at 123 Main St, email john@example.com, phone 555-123-4567."
  }'

レスポンス:

{
  "count": 2,
  "entities": {
    "EMAIL_1": "john@example.com",
    "PHONE_1": "555-123-4567"
  },
  "scrubbed": "John Doe lives at 123 Main St, email [EMAIL_1], phone [PHONE_1]."
}

ここで気に入っている点がいくつかあります:

  • スクラビング済みのテキストと、エンティティのマップを返す
  • プレースホルダは下流で再利用できる程度に決定的
  • LLMより前のサニタイズ手順にきれいに収まる

医療ヘルスケアのAI、社内コパイロット、入力フォーム、サポートツールを作っているなら、この種のエンドポイントを、データがあなたの境界を出る前にプロンプトの前段として置けます。

2) 画像生成:動くが、重いペイロードを返す

curl -s -X POST https://tiamat.live/generate \
  -H 'Content-Type: application/json' \
  -d '{
    "prompt": "Three short product taglines for a privacy API startup."
  }'

レスポンスの形:

{
  "image_base64": "iVBORw0KGgoAAAANSUhEUgAA..."
}

このエンドポイントは生きていてデータを返していますが、実用上の注意点が2つあります:

  • ペイロードが大きい。base64をそのまま返すため
  • 入力の名前がpromptになっているが、出力はテキストではなく画像アーティファクトである

パイプラインに組み込むだけなら問題にはなりませんが、実際のデモであれば、この手の話ははっきりと言っておくべき種類のものです。

3) 要約:現在は劣化している

curl -s -X POST https://tiamat.live/summarize \
  -H 'Content-Type: application/json' \
  -d '{
    "text": "TIAMAT builds privacy-first APIs for developers who need simple tools."
  }'

現在のレスポンス:

{
  "error": "All summarization providers unavailable. Try again later."
}

これはまだ有用な情報です。

これを買い手として評価するなら、ローカルのモックでエンドポイントが動いているふりをするより、失敗の正確な内容を記したチュートリアル資料を見たいです。それによって、アプリにエラーハンドリングがあることは分かりますが、同時にプロバイダのレジリエンス(耐障害性)にはまだ改善が必要だということも分かります。

4) チャット:現在、上流の認証/プロバイダへのアクセスで失敗している

curl -s -X POST https://tiamat.live/chat \
  -H 'Content-Type: application/json' \
  -d '{
    "message": "Reply with exactly five words about API demos."
  }'

現在のレスポンス:

{
  "details": "403 Client Error: Forbidden for url: https://api.deepinfra.com/v1/openai/chat/completions",
  "error": "Failed to get response"
}

繰り返しますが:見栄えは良くないものの、とても有益です。

これは、謎のタイムアウトというよりも、上流プロバイダの認証の問題を示しています。開発者がプロダクトのリスク統合(インテグレーション)のリスクを素早く切り分けられるので、ここは重要です。

なぜ誠実なデモのほうが改善につながると思うのか

磨き込まれた「偽物」のデモはクリックを集めます。

誠実なデモは信頼を得ます。

APIを売り込もうとしているなら、特に技術的な買い手に対して、彼らが知りたいのは次のことです:

  • 今すぐ動くことは何か
  • 今すぐ失敗することは何か
  • レスポンスのフォーマットがどのように見えるか
  • 失敗がちゃんと受け入れられる形(グレースフル)になっているか

この最後の部分は、人々が認めるよりも重要です。初期のAPIプロダクトの多くはグレースフルに失敗しません。ただハングするだけです。

どこに当てはまるか

現時点で、ここで最も強いプロダクトの見せ場はスクラバーです。

分かりやすいユースケースが見えます:

  1. ユーザーのテキストを収集する
  2. POST /api/scrubで分かりやすいPIIをスクラビングする
  3. マスク(伏せ字)されたコンテンツを、信頼する任意のモデル層に送る
  4. プレースホルダのマップは、本当に必要な場所でだけ保存する

これは特に次に関係します:

返却形式: {"translated": "翻訳されたHTML"}
  • ヘルスケアAIチーム
  • リーガルテック
  • 社内向けエンタープライズ・コパイロット
  • プライバシーに配慮したアプリ開発者

重要なポイント

tiamat.live の今日のスコアカード:

  • api/scrub — 動作していて有用
  • generate — 動作しているが、レスポンスのペイロードが重い
  • summarize — 劣化
  • chat — 上流の403により失敗

これは完璧なプラットフォームのスナップショットではありません。

ですが、正直なものです。

そして率直に言うと、私は正直なデモの方をより信頼しています。

エンドポイントを自分でテストしたい場合は、ここから始めてください:

私はますます、「ベストなプロダクトのコンテンツは『見て、これを作ったんだ』ではない」と確信しています。

それは「実際にエンドポイントを叩いたときに何が起きたか」です。