文章を指定単語数で省略するツール
残す単語数の上限を指定して、長い文章を簡潔なプレビューに整えます。このツールは単語を数え、指定された境界で止め、元の文章に続きがある場合だけ省略記号を追加します。単語の途中では切らないため、カード、検索結果、メールのプレビュー、カタログ、編集用の紹介文でも自然に読めます。三つの点がスタイルガイドに合わない場合は、末尾の記号を変更することもできます。処理は決定的でネットワークへ接続しないため、同じ入力と設定からは常に同じ結果が得られます。
無料で実行
用途に合う単語数を決めます
まず、抜粋を表示する場所と、そこに無理なく収まる分量を確認してください。小さなカードでは短い上限が必要ですが、記事一覧や社内レポートでは、より長いプレビューを掲載できる場合があります。元の内容をテキスト欄に入力し、残したい単語数を単語数の欄に指定します。この上限は文字数ではなく、空白で区切られた単語を数えます。そのため、短い単語も長い単語もそれぞれ一つとして扱われます。編集担当者にも説明しやすく、語彙が異なる複数の原稿で統一した基準を使えます。元の文章が指定数以下であれば、正規化された全文が返され、省略記号は付きません。指定数を超える場合は、要求された数の単語だけを残し、選択した末尾記号を追加します。結果には元の単語数と残した単語数も含まれるため、公開前や別の処理へ渡す前に、設定どおりに短縮されたかを確認できます。
空白と単語の境界を理解します
空白ではない文字が連続した部分を一つの単語として認識します。スペース、タブ、改行が単語の区切りになり、空白が連続していても空の単語は作られません。出力では、残した単語を一つのスペースでつなぎます。コピーした複数の段落、表計算のセル、空白が不規則な文章から入力した場合でも、一行の整った抜粋になります。句読点は隣接する単語に付いたまま保持されます。コンマ、ピリオド、アポストロフィ、ハイフンなどを勝手に書き換えることはありません。このツールは高度な言語解析や文法修正を行わず、APIの利用者にもブラウザーの利用者にも分かりやすい一貫した境界規則を適用します。省略記号は末尾に付ける文字列であり、残す単語数には含まれません。標準の三つの点は、単一の省略記号や空文字列を含む別の短い記号に変更できます。特殊な書式の文章では、句読点の規則が公開物に合っているかご確認ください。
繰り返し使える処理に組み込みます
定期的な作業では、同じ掲載先に向けたすべての項目に同じ単語数と末尾記号を使用してください。商品一覧、ニュースレター、ナレッジベース、検索ページの見た目がそろい、執筆者にも明確な基準を示せます。短縮の有無を示す値を確認すれば、後続のコードで、生成された抜粋と、もともと上限内だった文章を区別できます。元の単語数と結果の単語数は、変換の記録が必要な監査、テスト、コンテンツ処理にも役立ちます。この処理は決定的です。同じ文章、上限、末尾記号からは、モデルによる揺れやネットワーク依存のない同一の出力が得られます。そのため、安定したプレビューが必要なビルドスクリプトや一括処理にも適しています。ホスト版の機能を利用する場合、リクエストの基本価格は$0.002です。ブラウザー版も同じ中核アルゴリズムを使用します。これは文章の冒頭を表示用に切り出す処理であり、後半にある重要な事実を判断する自動要約ではない点にご注意ください。
活用例
記事やブログのカード
一覧ページ向けの紹介文を同じ基準で作り、各カードを単語の途中ではなく完全な単語の後で終えられます。
商品やカタログのプレビュー
長い説明を共通の単語数に収め、商品グリッド、フィード、比較画面を見やすく整えます。
メールや通知の抜粋
氏名や通常の単語を途中で切らずに、一定の長さで予測しやすいメッセージ冒頭を用意できます。
よくある質問
省略記号は単語数の上限に含まれますか?
含まれません。上限は元の文章から残す単語数を指定し、省略記号は内容が削られた場合だけ、その後に追加されます。
文章がすでに十分短い場合はどうなりますか?
省略記号を付けずに文章を返し、短縮されたかを示す項目は、処理が不要だったことを表します。
単語はどのように数えますか?
空白ではない文字の連続を一語とします。スペース、タブ、改行が単語を区切り、連続する空白は一つの区切りとして扱います。
省略記号を変更したり削除したりできますか?
はい。32文字以内の独自の末尾記号を指定できます。空文字列を使えば、目に見える末尾記号を付けずに短縮できます。
元の文章を要約したり書き換えたりしますか?
いいえ。指定した上限までの先頭の単語を元の順序で残し、内容を解釈せずにそれ以降を削除します。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/truncate-words \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"The quick brown fox jumps over the lazy dog","words":5}'const res = await fetch("https://api.kit.forhosting.com/str/truncate-words", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "The quick brown fox jumps over the lazy dog",
"words": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/truncate-words",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "The quick brown fox jumps over the lazy dog",
"words": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/truncate-words", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"The quick brown fox jumps over the lazy dog","words":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"The quick brown fox jumps over the lazy dog","words":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/truncate-words", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "The quick brown fox jumps over the lazy dog",
"words": 5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.truncate_words",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_chars | 100000 |
max_words | 10000 |
max_ellipsis_chars | 32 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |