ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

脚 Claude Slides 生成脚本,TaoToken 只提供 Key

脚 Claude Slides 生成脚本,TaoToken 只提供 Key 1. Claude Cowork 合并后Slides 生成脚本先要固定 Key 与 Base URLTaoToken 在 Claude Slides 生成脚本里只做两件事提供 Key并提供统一 Base URL入口在这里https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_slides_intro 。这次热点底稿提到的 Claude Cowork 与聊天合并对开发者真正的含义不是“少点一个入口”而是 Cowork、Docs、Slides 这类能力更可能被写进同一条会话链路用户给主题、受众、品牌语气脚本批量产出大纲、页面文案、讲者备注甚至继续调用本地渲染工具生成 PPTX 或 HTML 幻灯片。Token 消耗方也随之变化以前你可能在 Cowork 里手动点几轮现在会变成脚本里的每一次/v1/messages请求。Anthropic 把 Cowork 与聊天收进同一个 Claude 入口Cowork 和 Design 能力不再要求用户先选独立工作台Pro 与 Max 会分批获得但对脚本作者来说模型调用仍然落到 API 请求、模型名、Base URL、Key 和 Token 账单上。所以本文不写新闻评论只给可复现的接入、配置、排障与用量对照。如果你现在正在写一个“Claude Slides 生成脚本”不管是本地 Python 批处理还是以后接进 Claude Code 会话第一件事都是把供应商配置从散落在各个工具里的临时值收敛成统一的环境变量。TaoToken 只提供 Key 和 Base URL不改变你的脚本逻辑你需要做的是把 Key 放到正确的位置把 Base URL 写成https://taotoken.net/api然后让 Claude Code、原生 Anthropic SDK、Codex 或 CC Switch 各走各的配置不要互相串线。拿 Key 的动作统一放到 TaoToken 官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_slides_env 。进入控制台后创建 API Key复制出来先用占位符YOUR_API_KEY代替后面环境变量、settings.json、config.toml都复用它。这里要强调Base URL 不加 UTM工具里写https://taotoken.net/api官网跳转链接才带utm_source和utm_content。最小环境变量可以这样落地# TaoToken 提供的统一入口 export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEYYOUR_API_KEY # 给 Claude Slides 脚本指定模型实际以控制台可用模型为准 export CLAUDE_MODELclaude-sonnet-4-5 # Codex 等 OpenAI 兼容工具单独用这个变量不要混用 ANTHROPIC_* export TAOTOKEN_API_KEYYOUR_API_KEY保存后在本机执行source ~/.zshrc或重新打开终端。验证环境变量是否生效echo $ANTHROPIC_BASE_URL echo ${ANTHROPIC_API_KEY:0:6} echo $CLAUDE_MODEL如果输出为空或者ANTHROPIC_BASE_URL还是旧值后面的脚本一定会把请求发到错误端点。这个排查顺序比改模型名更重要。2. 可复现的 Claude Slides 生成脚本一次请求产出结构化 JSON下面这段脚本是本文的核心可复现产出。它不依赖某个隐藏插件也不要求你把 MCP 或 Agent 接到生产库它只是本地 Python 脚本通过 TaoToken 的 Base URL 调用 Anthropic 兼容的 Messages API把一个主题生成结构化幻灯片 JSON。后续你可以把 JSON 交给本地模板引擎渲染成 Markdown、HTML 或 PPTX。先安装依赖python -m pip install requests新建generate_slides.pyimport json import os import sys import requests API_KEY os.environ.get(ANTHROPIC_API_KEY) BASE_URL os.environ.get(ANTHROPIC_BASE_URL, https://taotoken.net/api) MODEL os.environ.get(CLAUDE_MODEL, claude-sonnet-4-5) if not API_KEY: raise SystemExit(缺少 ANTHROPIC_API_KEY请先在 TaoToken 官网创建 Key 并导出环境变量) topic sys.argv[1] if len(sys.argv) 1 else AI 原生应用的 Token 成本优化 page_count int(sys.argv[2]) if len(sys.argv) 2 else 8 system_prompt 你是一个幻灯片脚本生成器。 输出必须是严格 JSON不要 Markdown不要解释。 JSON 结构 { title: 总标题, slides: [ { page: 1, title: 页面标题, bullets: [要点1, 要点2], speaker_notes: 讲者备注 } ] } 要求页面之间逻辑递进每页 bullets 不超过 5 条讲者备注口语化但信息密度高。 user_prompt f主题{topic} 页数{page_count} 受众开发者与 AI 技术团队 风格CSDN 技术博客式少空话多可执行步骤。 请生成 {page_count} 页 Slides 脚本。 payload { model: MODEL, max_tokens: 4096, temperature: 0.2, system: system_prompt, messages: [ {role: user, content: user_prompt} ], } headers { content-type: application/json, x-api-key: API_KEY, anthropic-version: 2023-06-01, } url f{BASE_URL}/v1/messages try: resp requests.post(url, headersheaders, jsonpayload, timeout120) resp.raise_for_status() except requests.HTTPError as e: print(HTTP 错误, resp.status_code) print(resp.text[:1000]) raise e data resp.json() text_blocks [ block.get(text, ) for block in data.get(content, []) if block.get(type) text ] raw_text .join(text_blocks).strip() try: slides json.loads(raw_text) except json.JSONDecodeError: print(模型返回不是严格 JSON原始文本如下) print(raw_text) raise output_path slides_output.json with open(output_path, w, encodingutf-8) as f: json.dump(slides, f, ensure_asciiFalse, indent2) usage data.get(usage, {}) print(f已生成{output_path}) print(f输入 tokens{usage.get(input_tokens)}) print(f输出 tokens{usage.get(output_tokens)})运行方式python generate_slides.py Claude Cowork 合并后的 Slides 自动化 8这个脚本有三个关键点。第一BASE_URL默认写https://taotoken.net/api端点再拼/v1/messages不要在 Base URL 后面重复加/v1。第二请求头用x-api-key和anthropic-version这是 Anthropic 兼容接口常见写法如果你的客户端只接受 Bearer可以改用Authorization: Bearer YOUR_API_KEY但不要在一次请求里同时塞两套鉴权头。第三max_tokens不要无脑拉满Slides 脚本的上下文通常可控4096 足够先生成 8 页结构化内容后续再按页扩写。脚本产出的slides_output.json可以继续本地渲染。比如你可以在本机用模板替换把每页title、bullets、speaker_notes写入 Markdownimport json with open(slides_output.json, r, encodingutf-8) as f: deck json.load(f) with open(slides.md, w, encodingutf-8) as f: f.write(f# {deck[title]}\n\n) for slide in deck[slides]: f.write(f## {slide[page]}. {slide[title]}\n\n) for bullet in slide[bullets]: f.write(f- {bullet}\n) f.write(f\n {slide[speaker_notes]}\n\n) print(已输出 slides.md)这一步完全在本地执行不需要把数据库、知识库或生产系统直连给模型。真要把企业素材加进去也建议先导出脱敏文本再由读者本地脚本拼接进 prompt。3. Claude Code settings.json让交互式会话和脚本复用同一 KeyClaude Slides 生成脚本很多时候不是孤立运行的。你可能先在 Claude Code 里对话式改大纲再让脚本批量生成页面也可能让 Claude Code 读本地 Markdown再调用同一个 Key 做改写。这时需要把 Claude Code 的配置固定下来避免出现“终端里脚本能用Claude Code 里报 401”的割裂。Claude Code 推荐用settings.json管理环境变量。项目级配置可以放在.claude/settings.json用户级配置可以放在~/.claude/settings.json。推荐版本如下{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY } }部分旧版本或某些 SDK 只认ANTHROPIC_API_KEY那就改成{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: YOUR_API_KEY } }不要把ANTHROPIC_AUTH_TOKEN和ANTHROPIC_API_KEY同时塞进同一个env因为不同版本可能优先读取不同的键反而导致你改了 Key 但请求仍用旧值。一个项目里只保留一种鉴权字段团队协作时把settings.json里的 Key 换成环境变量引用或本地覆盖不要把真实 Key 提交到 Git。配置完成后在本机启动 Claude Code用状态命令检查当前 Base URL 和模型。不同版本命令略有差异但核心是确认它没有继续走默认 Anthropic 域名。如果你在 Claude Code 里执行本地脚本也要确认子进程继承了ANTHROPIC_BASE_URL。某些 IDE 终端不会自动加载你的 shell 配置这种情况下在项目根目录放.env再用dotenv加载或者直接在启动脚本里source .env。Claude Code 文档入口可以放到文末统一走 CTA这里只需要记住原则Claude Code 用ANTHROPIC_*Base URL 是https://taotoken.net/apiKey 是你在 TaoToken 官网创建的YOUR_API_KEY。4. Codex config.toml 与 CC Switch 三件套供应商配置不要串线同一个开发机上经常同时存在 Claude Code、Codex、Shell 脚本。它们可以共用 TaoToken 的 Key 和 Base URL但配置字段不能混。最忌讳的是把ANTHROPIC_BASE_URL、ANTHROPIC_API_KEY复制进 Codex 的config.toml因为 Codex 不是 Anthropic 协议客户端它不会按你想象的方式读取这些变量。Codex 使用~/.codex/config.toml典型配置如下# ~/.codex/config.toml model gpt-5-codex model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api responses如果你的 Codex 版本或目标模型要求 chat completions可以把wire_api调整为本机版本支持的值。运行前导出export TAOTOKEN_API_KEYYOUR_API_KEY注意这里没有ANTHROPIC_*。Codex 走的是 OpenAI 兼容思路环境变量名和 provider 字段都以 Codex 文档为准TaoToken 只提供 Key 和 Base URL协议适配由你使用的客户端决定。再讲 CC Switch 三件套。很多开发者用 CC Switch 在多个供应商、多个 CLI 之间切换建议把它理解成三份独立配置Claude Code 配置只放ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN或ANTHROPIC_API_KEY。Codex 配置只放base_url、env_key、model_provider环境变量用TAOTOKEN_API_KEY。Shell 脚本配置显式导出ANTHROPIC_BASE_URL、ANTHROPIC_API_KEY、TAOTOKEN_API_KEY分别给不同脚本使用。可以用下面的 JSON 作为心智模板字段名以你本机 CC Switch 版本为准{ claude_code: { env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY } }, codex: { model_provider: taotoken, base_url: https://taotoken.net/api, env_key: TAOTOKEN_API_KEY }, shell: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: YOUR_API_KEY, TAOTOKEN_API_KEY: YOUR_API_KEY } }核心不是 JSON 字段完全一致而是供应商隔离Claude Code 不读 Codex 的 providerCodex 不读ANTHROPIC_*Shell 脚本不依赖 GUI 工具的隐式状态。切换供应商时只改 Key 或 Base URL不要把不同协议的字段互相粘贴。5. Token 用量对照Cowork/Docs/Slides 脚本的成本拆解Claude Cowork、Docs、Slides 合并到统一 Claude 后交互入口少了但脚本里的 Token 消耗并不会凭空消失。一次 Slides 生成通常拆成几个阶段主题理解、大纲、逐页文案、讲者备注、风格统一、修订。每个阶段都可以独立请求也可以合并成一次请求。合并请求通常更省上下文因为背景信息只发一次拆开请求更容易重试和局部修改但会重复发送系统提示和主题背景。下面是一组示例用量对照只用于帮助你建立成本估算模型实际以 TaoToken 控制台和接口返回的usage为准阶段输入 tokens 示例输出 tokens 示例说明主题理解 大纲800 - 1200600 - 900包含受众、风格、页数约束逐页文案扩写300 - 500 / 页250 - 400 / 页8 页约 2400 - 4000 输入讲者备注400 - 700 / 页300 - 500 / 页可与逐页文案合并风格统一与修订1500 - 25001200 - 2000只发需要改的页更省合计参考7000 - 120005000 - 9000因主题复杂度和模型而异如果每页单独请求并且每次都把完整品牌规范、历史大纲、全部已生成页面重新塞进 prompt输入 Token 会迅速膨胀。更省的方式是先让模型输出结构化 JSON再本地缓存每页结果。修订时只发送目标页和相邻页上下文不要重发整份 deck。把稳定的系统提示、输出格式、品牌语气放在system字段减少重复描述。设置合理的max_tokens防止模型在不需要的页面上过度扩写。对失败请求做指数退避但不要对 400、401 这类参数错误盲目重试。把usage.input_tokens和usage.output_tokens写入本地日志按主题、页数、模型分组统计。TaoToken 在这里只提供 Key 和 Base URL不参与你的业务逻辑但你可以通过 TaoToken 控制台查看 Key 的调用与用量。成本入口可以先从官网进入https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_slides_cost 。如果你要长期跑批建议先固定模型和 prompt 模板再用十组代表性主题做基准测试记录每组输入、输出和最终可用率。最终成本不看单次请求价格而看“生成一版可交付 Slides 需要多少 Token、多少重试、多少人工修订”。6. 常见报错排查401、404、模型名与超时接入 TaoToken 后最常见的报错不是模型能力问题而是配置问题。下面按出现频率排序。401 invalid x-api-key 或 authentication failed先检查 Key 是否从 TaoToken 官网创建是否复制完整是否带了多余空格。再检查请求头Anthropic 兼容接口常见x-api-key部分客户端用Authorization: Bearer。如果你同时设置了ANTHROPIC_AUTH_TOKEN和ANTHROPIC_API_KEY先删掉一个再测。Claude Code 里如果报 401多半是settings.json没被读取或者项目级配置覆盖了用户级配置。404 /v1/messages not foundBase URL 写成https://taotoken.net/api端点拼成https://taotoken.net/api/v1/messages。如果你在 Base URL 里已经写了/v1又拼一次/v1/messages就会变成/v1/v1/messages。工具配置里只填 Base URL不要填完整端点脚本里再拼端点。400 model not found模型名以 TaoToken 控制台或模型对话页面可用列表为准。不要拿旧文章里的模型名硬套也不要在 Claude 脚本里填 Codex 模型名。把模型名抽成CLAUDE_MODEL环境变量切换时只改一处。429 rate limit并发太高或短时间请求太多。Slides 批处理不要一次开几十个线程先用 2 到 4 个并发跑基准。对 429 做重试但重试前记录时间、主题、页数避免重复扣费。请求超时max_tokens太大、页数太多、网络抖动都会导致超时。把 20 页一次性生成改成先出大纲再分批生成每页。Python 里设置timeout120并捕获requests.Timeout单独处理。Claude Code 改了配置不生效先确认你改的是当前项目读取的settings.json再重启 Claude Code。检查环境变量是否被 shell 里的旧值覆盖。最后用状态命令确认当前 Base URL不要只看配置文件。Codex 报 provider 不识别检查~/.codex/config.toml里是否误写了ANTHROPIC_*。Codex 只读它自己的 provider 配置环境变量用TAOTOKEN_API_KEY。如果你在 CC Switch 里切换确认当前激活的是 Codex 配置不是 Claude Code 配置。7. 把 Slides 脚本做成可维护的小项目单文件脚本能跑通后建议整理成小项目避免每次手改 Key 和 prompt。一个最小结构如下slides_gen/ .env.example generate_slides.py render_markdown.py prompts/ slides_system.txt outputs/ logs/.env.example只写占位符不写真实 KeyANTHROPIC_BASE_URLhttps://taotoken.net/api ANTHROPIC_API_KEYYOUR_API_KEY CLAUDE_MODELclaude-sonnet-4-5 TAOTOKEN_API_KEYYOUR_API_KEY本地运行时复制成.envcp .env.example .env # 编辑 .env把 YOUR_API_KEY 换成真实 Key为了让批处理幂等可以按“主题 页数 模型 prompt 版本”的哈希命名输出文件import hashlib import json def task_hash(topic: str, pages: int, model: str, prompt_version: str) - str: raw json.dumps({ topic: topic, pages: pages, model: model, prompt_version: prompt_version, }, ensure_asciiFalse, sort_keysTrue) return hashlib.sha256(raw.encode(utf-8)).hexdigest()[:16]如果输出文件已存在就直接读取缓存不再请求接口。这样反复调试渲染模板时不会重复消耗 Token。只有主题、页数、模型或 prompt 版本变化时才重新请求。日志里至少记录这些字段{ task_hash: a1b2c3d4e5f6, model: claude-sonnet-4-5, input_tokens: 1832, output_tokens: 1260, elapsed_ms: 8421, status: ok }这样你才能回答“为什么这个月 Slides 生成成本变高”是主题变复杂是页数变多是并发重试还是模型切换。TaoToken 提供 Key 和 Base URL成本治理仍然在你的脚本工程里完成。8. 接入路径模型对话 → Coding Plan → 创建 Key → Claude Code 文档如果你已经准备把 Claude Slides 生成脚本跑起来建议按下面路径走一遍。先到模型对话页面确认当前可用模型和基础调用体验模型对话https://taotoken.net/models/detail/chat?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_slides_chat如果你不只是做单次 Slides 生成还要长期跑 Claude Code、Codex 或批处理脚本可以看 Coding PlanCoding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_slides_coding然后到控制台创建 API Key把YOUR_API_KEY替换成真实值API Keyshttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_slides_keys最后按 Claude Code 文档完成settings.json、环境变量和本地脚本配置Claude Code 文档https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_slides_doc回到本文的最小闭环ANTHROPIC_BASE_URLhttps://taotoken.net/apiANTHROPIC_API_KEYYOUR_API_KEYClaude Slides 脚本请求https://taotoken.net/api/v1/messages本地解析 JSON本地渲染 Markdown 或 PPTX记录input_tokens和output_tokens。TaoToken 只提供 Key 和 Base URL剩下的自动化、模板、缓存和成本控制都在你的工程里完成。
返回列表