行を番号付きMarkdownリストに変換
行ごとに分かれたテキストを貼り付けるだけで、各項目を手作業で編集せずに番号付きMarkdownリストへ変換できます。作業手順、要件、議題、その他の行単位の文章に対応し、前の節から番号を続ける場合は開始番号も指定できます。生成された順序付きリストの構文は、そのまま文書へコピーできます。変換結果は決定的で、各行の元の表現を保持します。また、貼り付けた改行コードを正規化するため、異なるOSや自動化環境でも同じ入力から同じMarkdownが得られます。
無料で実行
1行に1つの項目を準備します
完成後の順序付きリストで1項目にしたい内容を、プレーンテキストの1行として用意してください。メモからコピーしたインストール手順、計画ツールから書き出した受け入れ条件、会議の議題、レシピの作業、書式を付けずに下書きした短い指示などに適しています。この変換機能は、文章の書き換え、要約、並べ替え、意味の解釈を行いません。改行を項目の境界として扱い、技術的な例で意味を持つ場合がある行頭の空白も含めて、各行の文字を保持します。Windows、従来のMac、Unixの改行コードは処理前に正規化されるため、貼り付け元にかかわらず一貫して動作します。空文字や空白だけの入力は、有用なリストを作れないためエラーになります。途中の空行は削除せず、空の番号付き項目として残します。これにより、自動処理で後続項目の番号や位置が知らないうちに変わることを防げます。不要な空行は変換前に取り除いてください。
番号を開始する位置を指定します
既定の最初の記号は`1.`で、独立したMarkdown順序付きリストの一般的な開始形式です。別の節にある番号列を新しいブロックで継続する場合は、`start`フィールドに正の整数を指定できます。たとえば4から開始すると、最初の3行には`4.`、`5.`、`6.`が付きます。各番号の後ろにはピリオドと半角スペースを1つ置き、多くのMarkdownレンダラーが扱える標準的な形式にします。出力には、コピー用の完全な`markdown`文字列と、個別の項目を確認または転送したいプログラム向けの`numbered_lines`配列が含まれます。さらに`line_count`と実際に使われた`start`も返すため、自動検査を簡単に組み込めます。開始値は文書化された範囲内の整数でなければなりません。小数、数字の文字列、ゼロ、負数は、丸めたり推測したりせずエラーにします。この厳密な仕様により、ブラウザー、APIクライアント、スクリプト、テスト環境の間で同一の結果を維持できます。
文書作成や自動化で結果を利用します
返された`markdown`の値は、README、課題の説明、ナレッジベースの記事、静的サイトのソースファイル、Markdown対応エディターへそのままコピーできます。この機能が追加するのは順序付きリストの記号だけです。元の行がすでに箇条書き記号や数字で始まっている場合、それらは入力内容の一部として意図的に保持されるため、結果をご確認ください。自動化では、元のテキストと任意の開始番号を送信し、返された文字列をMarkdownライブラリなしで保存または公開できます。ネットワーク要求、生成モデル、日付、乱数を使用しないため、同じ入力で繰り返し実行すれば必ず同じ出力になります。単発の整形にはブラウザーが便利で、APIは1リクエスト$0.002で、文書生成ツール、リリース処理、コンテンツパイプラインに適しています。入力サイズと行数には上限があります。上限を超える資料は論理的な節に分け、後続の節で開始番号を調整すると連番を維持できます。
活用例
文書の手順を整形する
書式のない設定手順やトラブル解決手順を、READMEやサポート記事ですぐ使える順序付きMarkdownへ変換できます。
既存の手順から番号を続ける
別の節で管理されている手順に新しい指示ブロックを続ける際、任意の開始番号を設定できます。
公開ワークフローを自動化する
別システムが出力した行単位のテキストを、生成文書へ挿入する前に予測可能なMarkdownへ変換できます。
よくある質問
変換料金はいくらですか?
APIによる変換は1リクエスト$0.002です。手作業で時々整形する場合は、ブラウザー版をローカルで実行できます。
各行の文章は変更されますか?
いいえ。改行コードを正規化し、各行の前に連番、ピリオド、半角スペースを追加するだけです。
1以外の番号からリストを開始できますか?
はい。`start`に正の整数を指定すると、継続する番号列の最初の記号を選べます。
空行はどのように扱われますか?
途中および末尾の空行は、空の番号付き項目になります。結果に含めない場合は、事前に削除してください。
一般的なMarkdownレンダラーで使えますか?
はい。各項目は、整数、ピリオド、半角スペース、行の内容という標準的な番号形式を使用します。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/markdown-numbered-list \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Install the dependencies\nConfigure the environment\nRun the test suite"}'const res = await fetch("https://api.kit.forhosting.com/str/markdown-numbered-list", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Install the dependencies\nConfigure the environment\nRun the test suite"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/markdown-numbered-list",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Install the dependencies\nConfigure the environment\nRun the test suite"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/markdown-numbered-list", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Install the dependencies\\nConfigure the environment\\nRun the test suite"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Install the dependencies\nConfigure the environment\nRun the test suite"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/markdown-numbered-list", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Install the dependencies\nConfigure the environment\nRun the test suite"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.markdown_numbered_list",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_chars | 100000 |
max_lines | 10000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |