X API 従量課金で「リンク付き投稿13倍」を避ける — 本文URL除去とプレ送信ガード
X APIはリンク付き投稿が/usr/bin/bash.20と13倍高い。未投稿キューのURLを一括除去してプロフィール欄リンクに集約し、送信前にURLを検知して止めるfail-closedガードと生成プロンプト修正まで一式
約1.1万トークンの節約 (API料金換算で約16円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。
この巻物について
「X API 従量課金で「リンク付き投稿13倍」を避ける — 本文URL除去とプレ送信ガード」は、SNS運用カテゴリのAI指示書(MDファイル)です。X APIはリンク付き投稿が/usr/bin/bash.20と13倍高い。未投稿キューのURLを一括除去してプロフィール欄リンクに集約し、送信前にURLを検知して止めるfail-closedガードと生成プロンプト修正まで一式この巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約1.1万トークン(API料金換算で約16円)・88%のトークンを節約できます。
- カテゴリ
- SNS運用
- 対応AI
- claude-code、cursor、codex-cli
- ライセンス
- 商用利用可 (再販不可)
- 価格
- 無料
- ゼロから開発時
- 約1.2万トークン
- この巻物使用時
- 約1,500トークン
- 節約量
- 約1.1万トークン (約16円)
- 更新日
- 2026-09-16
使い方 (AIに渡す3つの方法)
いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。
claude "https://makimono-md.vercel.app/api/v1/files/x-api-13-url/raw を読み込んで、この指示書どおりに実装して"
中身
X(Twitter) API 従量課金で「リンク付き投稿13倍」を避ける — 本文URL除去とプレ送信ガード
背景(2026年時点の事実)
- X API の無料書き込み枠は 2026-02 に廃止され、新規開発者は PPU(従量課金)のみ。
- 単価: 投稿 $0.015 / リンクを含む投稿 $0.20(約13倍) / 読み取り $0.005。
- 告知系の自動投稿キューは本文末に自社URLを置くのが定番なので、何も考えずに回すと請求が13倍になる。
方針(プランB)
本文から URL を全部外し、導線はアカウントのプロフィール欄リンクへ集約する。遷移導線は「本文のリンクを踏む」→「プロフィールのリンクを踏む」に変わるだけで残る。 月あたりの試算例: 1日3投稿・URL付き8割なら 約$15/月 → 全本URL無しで 約$1.35/月。
手順(AI に読ませればそのまま実装できる粒度)
1. キューの一括変換(未投稿だけ対象)
投稿キュー(例 queue.json、各要素に text と posted を持つ配列)に対して:
posted: trueは履歴なので触らない。- URL だけの行 →
リンクはプロフィールからに置換。 - 文中に URL がある行(例
探してみる→ https://...)→ URL 部分だけプロフィールのリンクからに置換し、行末の空白を落とす。 - 3連以上の改行は2つに潰す。
- 変換後、未投稿の本文に
https?://が 0 件であることを検証し、合わせて文字数上限(後述の重み付き計算)を再チェックする。
2. 送信前ガード(事故防止・必須)
投稿スクリプトの送信直前に次を入れる。cron で無人実行するものは「壊れた本文をそのまま買う」事故が起きるので、ガードは仕様と同じ重さで扱う。
if re.search(r"https?://", item["text"]) and os.environ.get("ALLOW_URL") != "1":
print(f"[guard] {item['id']} contains a URL — refusing to post", file=sys.stderr)
sys.exit(1)
- 意図的にURL入りを出すときだけ環境変数
ALLOW_URL=1を付ける。既定は拒否(fail-closed)。 DRY_RUN=1でも同じガードを通す。テストは「URL入り1件を未投稿に戻して実行 → exit 1」「ALLOW_URL=1→ exit 0」の2本で十分。
3. 生成プロンプトの修正(再発防止)
LLM に投稿文を量産させている場合、システムプロンプトの「最終導線は <URL>」を 「本文に URL は一切入れず、『リンクはプロフィールから』等でプロフィール欄へ誘導する」 に書き換える。URL 自体は事実情報として残してよいが「本文には書かない」を明記する。
4. プロフィール欄リンクの確認
導線がプロフィールに依存するので、アカウントの Web サイト欄に自社URLが入っているか確認する。公開の syndication エンドポイントは空殻を返すので当てにならない。API の users/me(読み取り $0.005)を Actions の workflow_dispatch で叩くと、鍵を Secrets から出さずに確認できる。
補足: X の重み付き文字数
上限判定は「URL は 23 字換算、全角/CJK は 2、その他 1」の近似で計算する。URL を外すと 23 字分が空くので、それまで2分割されていた投稿が1ツイートに収まることがある(=さらに安くなる)。
落とし穴
- 課金プランの判断は経営側の意思決定なので、勝手に切り替えず A/B の月額差と導線の違いを1行で示して選ばせる。
- 投稿済みレコードの本文を書き換えると、実際に出たツイートと履歴がずれる。触らない。
- Windows のコンソールで DRY_RUN 出力が化けるのは表示側の問題。
PYTHONUTF8=1を付けて検証する。
よくある質問
+「X API 従量課金で「リンク付き投稿13倍」を避ける — 本文URL除去とプレ送信ガード」とは何ですか?
X APIはリンク付き投稿が/usr/bin/bash.20と13倍高い。未投稿キューのURLを一括除去してプロフィール欄リンクに集約し、送信前にURLを検知して止めるfail-closedガードと生成プロンプト修正まで一式
+どれくらいトークン(費用)を節約できますか?
ゼロから開発すると約1.2万トークンかかりますが、この巻物を使えば約1,500トークンで済みます。差し引き約1.1万トークン(API料金換算で約16円)・88%の節約です。
+どうやって使いますか?
無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。
+どのAIツールに対応していますか?
claude-code、cursor、codex-cli に対応しています。
+商用利用できますか?
ライセンスは「商用利用可 (再販不可)」です。
🤝 自分でAIを動かすのは、まだ不安…という方へ
この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。
関連する巻物
X(Twitter) 予約投稿Bot 開発指示書
スプレッドシートに書いた投稿文を指定時刻に X へ自動ポストする Bot を AI に作らせる MD。API v2 の無料枠制限・画像添付・スレッド投稿の対応込み。
X(旧Twitter)自動投稿を従量課金時代に立ち上げる手順書
無料枠廃止後のX APIでGitHub Actions定期投稿を構築する。403を生む権限変更とトークン再生成の順番、リンク有無で13倍変わる単価の正しい見積り方、鍵を人に中継させない投入スクリプト、送信前ガードまで。
この巻物、誰かのトークンも救えます
𝕏 で節約レシートをシェア