作る人向けHTTP API
このウェブサイトは、プレーンな HTTP API のクライアントのひとつです ―― ドロップゾーンができることは、すべて curl でもできます。この API はベータ期間中は無料、キー不要。レート制限: 1 分あたり IP ごと 30 回の書き込みリクエストに加え、1 日の無料枠(変換 20 回 / 音声 3 回 / チェック 30 回 ―― 失敗は返還)。AI エージェント: /skill.md を参照してください ―― このページの全体を、エージェントにとって扱いやすい形で収めています。
認証とクォータ
API はキーなしで開放されています。匿名の呼び出し元は、無料の IP ごと階層(L1)を共有します。より多くの枠が必要なエージェントやスクリプトは、API キー(L2b)を使えます ―― アカウントページで発行し、Bearer トークンとして送信してください。キーごとに独自の 1 日上限が与えられます。キーは SHA-256 ハッシュとして保存され、平文は作成時に一度だけ表示され、ログに現れることはありません。
| 区分 | 変換/日 | 音声/日 | ファイルチェック/日 |
|---|
| 匿名(IP ごと)― L1 | 20 | 3 | 30 |
| API キー(キーごと)― L2b | 500 | 20 | 300 |
上限は UTC 深夜 0 時にリセットされます。失敗した変換は自動的に返還されます。書き込みは 1 分あたり IP ごと 30 リクエストに制限されます。
# 匿名(L1)― キー不要
curl -X POST https://liteconvert.cc/api/public/detect -F "file=@document.pdf"
# API キーあり(L2b)― sk-… の部分を、自分が発行したキーに置き換えてください
curl -X POST https://liteconvert.cc/api/public/convert \
-H "Authorization: Bearer sk-…" \
-F 'meta={"conversion":"pdf-docx"};type=application/json' \
-F "file=@document.pdf"
401 INVALID_API_KEY: キーが Bearer トークンとして提示されましたが、検証に失敗した(無効または取り消し済み)場合です ―― 提示されたキーは常に拒否され、匿名に格下げされることはありません。キーなしのリクエスト、または Bearer キーではない Authorization ヘッダー付きのリクエストは、単に匿名 L1 の上限にカウントされます。429 QUOTA_EXCEEDED: この区分の 1 日上限を使い切りました。error.reset_at が正確なリセット時刻(UTC 深夜 0 時)を伝えます。
さらに多くの枠を ―― アカウントページで API キーを発行。
エンドポイント
| メソッド | パス | 機能の説明 |
|---|
| POST | /api/public/detect | ファイルを識別します(マルチパートの file フィールド)。同期処理、20 秒以内。 |
| POST | /api/public/convert | 変換を投入します(マルチパートの meta + file)。request_id を返します。 |
| GET | /api/public/requests/{id} | リクエストのステータス、進捗、成果物。 |
| GET | /api/public/requests/recent?limit=20 | このデバイスでの最近の変換(X-Owner-Token ヘッダー、匿名)。 |
| GET | /api/public/requests/{id}/artifacts/{name} | 署名付きダウンロード URL への 302 リダイレクト。 |
| GET | /api/public/requests/{id}/timeline | 変換の、人が読めるイベントの足跡。 |
| GET | /api/public/stats | ライブの成功率統計。 |
| GET | /api/public/conversions | 変換カタログ(対応ペアすべて)。 |
| GET | /api/public/catalog | サイト構築者向けのビルドマニフェスト(family/lossy/steps 付きの canonical キー)。 |
ファイルを検出
curl -X POST https://liteconvert.cc/api/public/detect -F "file=@document.pdf"
{
"request_id": "c0af…",
"status": "succeeded",
"report": { "declared": "pdf", "detected": "pdf", "match": true,
"mime": "application/pdf", "confidence": 0.99 }
}
変換してダウンロード
# 1. 投入(URL ソースは source_url 付きの meta を送り、file パートはなし)
curl -X POST https://liteconvert.cc/api/public/convert \
-F 'meta={"conversion":"pdf-docx"};type=application/json' \
-F "file=@document.pdf"
# → 202 { "request_id": "…", "status": "running" }
# 2. ポーリング
curl https://liteconvert.cc/api/public/requests/REQUEST_ID
# → { "status": "succeeded", "artifacts": [{ "name": "docx", "download": "…", … }] }
# 3. ダウンロード(署名付き URL への 302、1 時間有効)
curl -L -o result.docx https://liteconvert.cc/api/public/requests/REQUEST_ID/artifacts/docx
エラーコード
| ステータス | コード | 意味 |
|---|
| 401 | INVALID_API_KEY | 無効なキーが提示されたか、キーが取り消されました。取り消しは即時に効力を持ちます ―― アカウントページで新しいキーを発行してください。 |
| 429 | QUOTA_EXCEEDED | 1 日の無料上限を使い切りました(UTC 深夜 0 時にリセット。error.reset_at が正確な時刻を伝えます)。失敗した変換は自動的に返還されます。 |
| 422 | UNSUPPORTED_CONVERSION | 変換ペアがカタログにありません。 |
| 404 | ARTIFACT_EXPIRED | 結果が期限切れとなり削除されました(24 時間保持)― もう一度変換してください。 |
| 413/422 | INTAKE_FAILED | アップロードに失敗したか、200 MB を超えました。 |
| 502 | CONVERT_FAILED | エンジンは試みましたが、このファイルを読めませんでした。詳細コード(NEEDS_OCR、ENCRYPTED_DOCUMENT、MALFORMED_DOCUMENT)は固定メッセージとともに、リクエストの error.code で返ります。 |
| 400 | INVALID_SOURCE_URL | source_url がないか、有効な公開 http(s) URL ではありません。 |
| 400 | SOURCE_URL_BLOCKED | ソース URL がプライベート・ループバック・リンクローカルのアドレスに解決されるためブロックされました(SSRF 対策)。 |
| 502 | SOURCE_URL_FETCH_FAILED | ソース URL をダウンロードできませんでした ―― オフライン、タイムアウト、大きすぎる、または公開到達不可です。 |
| 503 | CONVERT_API_UNAVAILABLE | 一時的な障害 ―― 1 分後に再試行してください。 |
AI エージェント向け
/skill.md を取得してください ―― 上記のエンドポイント、動く例、無料階層の宣言をひとつにまとめた指示書です。迷ったら読み直してください。API とともに更新されます。