Zenn Public APIをリリースし、Zenn CLIからScrapの投稿と画像のアップロードができるようになりました

リリース

いつもZennをご利用いただきありがとうございます。

Zenn CLIに、Scrapの作成・コメント投稿と画像のアップロードを行うコマンドを追加しました。ターミナルから実行できるため、AIコーディングエージェントからもScrapへ投稿できます。

Scrapは、学習ログや調査の経過など「自分のためのメモ」を気軽に残せる機能です。しかしこれまでは、Web UIからご自身で入力して投稿する方法しかありませんでした。

一方で、AIを使って調べ物をし、その結果をそのまま自分用の資料としてまとめてもらう使い方が広がっています。運営チームとしても、こうした体験と、これまでのScrapの使い方との間に乖離を感じ始めていました。そこで、AIコーディングエージェントからもScrapを利用しやすくするため、今回の機能を追加しました。

はじめにAPIキーを発行する

APIキー設定で、利用する操作に必要な権限を選び、APIキーを発行してください。

APIキーは発行時に一度だけ表示されます。安全な場所に保存し、環境変数 ZENN_API_KEY に設定してください。以下のコマンドは、この環境変数が設定済みであることを前提としています。

APIキーの名前と必要な権限を選択する設定画面

APIキー設定のサンプルです。利用する操作に必要な権限を選択します。

Zenn CLIでScrapを投稿する

まず、最初のコメントをMarkdownファイル(例: memo.md)に書き、Scrapを作成します。

npx zenn-cli@latest scrap create --title "開発中の調査メモ" --file ./memo.md --unlisted --disallow-others-post

--file の内容が初回コメントになります。この例では限定公開で、他のユーザーからのコメントを受け付けないScrapを作成します。限定公開でも、URLを知っている人は閲覧できます。

作成後に表示されるScrapのURLを使い、次のメモを追加できます。<ScrapのURL> は実際のURLに置き換えてください。

npx zenn-cli@latest scrap post '<ScrapのURL>' --file ./next-memo.md

CLIで作成したScrapに調査メモを追記したサンプル画面

画面内のユーザー・投稿内容はサンプルです。小さな発見をコメントとして追加できます。

自分のScrap一覧や、投稿した内容も取得できます。

npx zenn-cli@latest scrap list
npx zenn-cli@latest scrap get '<ScrapのURL>'

詳しくは npx zenn-cli@latest scrap --help をご覧ください。

APIで投稿したことの表示について

一定の透明性を保つため、Zenn CLIなどAPI経由で作成したScrapや投稿したコメントは、Web UIからの投稿と区別して表示します。直近のコメントがAPIで投稿されたScrapでは、Scrap一覧やScrapページの日時表示が「〜前にAPIでコメント追加」のように「APIで」の文言付きで表示されます。API経由で投稿したコメントの日時表示にも「〜前にAPIで投稿」のように同じ文言が付きます。

Zenn CLIで画像をアップロードする

次のコマンドで、手元の画像をアップロードできます。

npx zenn-cli@latest image upload ./diagram.png --confirm-public

対応する画像形式はJPEG・PNG・GIF・WebPで、ファイルサイズは3MB以下です。表示された画像URLを、記事・Book・ScrapなどのMarkdown本文に貼り付けて使えます。

画像一覧の取得と削除には、それぞれ image list、image delete を使います。詳しくは npx zenn-cli@latest image --help をご覧ください。

投稿前の確認について

Zenn CLIは、Scrapの投稿前にAPIキーなどのシークレットを検査します。検査だけで漏洩を防げるとは限らないため、本文や画像に認証情報・個人情報・機密情報が含まれていないか、投稿前に確認してください。

意図しない情報を投稿するリスクを下げるため、Zenn CLIでは、投稿時にAIによる検査ステップを差し込める設計になっています。AIによる検査は、利用者が環境変数 ZENN_CLI_AI_SCAN=true をセットした上で、AIプロバイダー(とそのAPIキー)・AIモデルの環境変数も設定すると有効となり、Scrapのタイトルや本文、アップロードする画像とそのファイル名などが指定したAIサービスへ送信されます。内容の機密性が一定以上と判断された場合、投稿が拒否されます。

詳しくは後述するZenn CLI SkillのAI scanセクションの内容をご確認ください。

利用するサービスのデータの取り扱いを確認したうえで設定してください。

Zenn CLI Skillについて

zenn-dev/zenn-editorリポジトリにおいて、Zenn CLI Skillを公開しています。

https://github.com/zenn-dev/zenn-editor/blob/canary/skills/zenn-cli/SKILL.md

AIコーディングエージェントのSkillsとしてご活用ください。

記事・本との使い分けについて

記事・本に対する運営の姿勢は、以下でお知らせした内容から変わっていません。

https://info.zenn.dev/2026-03-10-ai-contents-guideline

記事・本では、引き続き「人が主体となって情報を発信すること」を大切にしたいと考えています。

AIと調べた内容や作業の記録は「自分のためのメモ」としてScrapに残し、内容を検証してご自身の経験や考えを込めて発信したいものは記事・本に、と使い分けていただけますと幸いです。

なお、Scrapにも記事・本と同様にコミュニティガイドラインと利用規約が適用されます。Zenn CLIなどAPI経由で投稿した内容も同様ですので、ご注意ください。

AIコーディングエージェントやターミナルから、調べ物の結果や作業の経過をScrapに残すためにお使いいただければ幸いです。