为你编写了一个完整的 Python 脚本。它会自动遍历 `memos/` 目录中的常见音频文件，调用语音识别接口，并将转写结果按同名保存到 `transcripts/` 文件夹下。

### 准备工作

如果尚未安装 `requests` 库，先在终端运行：
```bash
pip install requests
```

### Python 脚本 (`transcribe_memos.py`)

```python
import os
import sys
from pathlib import Path
import requests

# 1. 获取环境变量中的 API Token
API_TOKEN = os.getenv("AI_BUILDER_TOKEN")
if not API_TOKEN:
    print("❌ 错误: 未检测到环境变量 'AI_BUILDER_TOKEN'，请先设置后再运行。")
    print("   示例 (Linux/macOS): export AI_BUILDER_TOKEN='your_api_key'")
    print("   示例 (Windows cmd):  set AI_BUILDER_TOKEN=your_api_key")
    print("   示例 (Windows PS):   $env:AI_BUILDER_TOKEN='your_api_key'")
    sys.exit(1)

# 2. 目录与配置
INPUT_DIR = Path("memos")
OUTPUT_DIR = Path("transcripts")
# 支持的常见音频格式
SUPPORTED_EXTENSIONS = {".mp3", ".wav", ".m4a", ".aac", ".flac", ".ogg", ".webm", ".opus"}

# AI Builder Space 通常兼容 OpenAI 标准的 Audio 接口
# 如果你的具体接口 URL 或模型名称有变化，可在此修改
API_URL = "https://api.ai-builder.space/v1/audio/transcriptions"
MODEL_NAME = "whisper-1"  # 默认 Whisper 模型，也可按需换成其它支持的模型

# 3. 检查输入目录并创建输出目录
if not INPUT_DIR.exists():
    print(f"❌ 错误: 未找到输入文件夹 '{INPUT_DIR}'")
    sys.exit(1)

OUTPUT_DIR.mkdir(parents=True, exist_ok=True)

# 4. 遍历处理音频文件
audio_files = [f for f in INPUT_DIR.iterdir() if f.suffix.lower() in SUPPORTED_EXTENSIONS]

if not audio_files:
    print(f"⚠️ 在 '{INPUT_DIR}' 中没有找到支持的音频文件。")
    sys.exit(0)

print(f"🔍 找到 {len(audio_files)} 个音频文件，开始处理...\n")

headers = {
    "Authorization": f"Bearer {API_TOKEN}"
}

for idx, audio_path in enumerate(audio_files, 1):
    output_txt_path = OUTPUT_DIR / f"{audio_path.stem}.txt"
    
    # 如果已经存在对应 txt，跳过避免重复消耗 token
    if output_txt_path.exists():
        print(f"[{idx}/{len(audio_files)}] ⏩ 已跳过 (已存在): {output_txt_path.name}")
        continue

    print(f"[{idx}/{len(audio_files)}] 🎙️ 正在转写: {audio_path.name} ...", end="", flush=True)

    try:
        with open(audio_path, "rb") as f:
            files = {
                "file": (audio_path.name, f)
            }
            data = {
                "model": MODEL_NAME
            }

            response = requests.post(API_URL, headers=headers, files=files, data=data, timeout=300)
            
            if response.status_code == 200:
                result = response.json()
                transcript_text = result.get("text", "").strip()
                
                # 保存为 .txt
                with open(output_txt_path, "w", encoding="utf-8") as out_file:
                    out_file.write(transcript_text)
                
                print(" ✅ 完成")
            else:
                print(f" ❌ 失败 (HTTP {response.status_code})")
                print(f"   原因: {response.text}")

    except Exception as e:
        print(f" ❌ 发生异常: {e}")

print("\n🎉 全部任务处理完成！结果已保存在:", OUTPUT_DIR.resolve())
```

### 功能特点说明：
1. **自动跳过已转写文件**：如果某条音频的 `.txt` 已经生成，再次运行会直接跳过，避免重复计费和耗时。
2. **多格式支持**：支持 `.mp3`、`.m4a`（苹果语音备忘录默认格式）、`.wav`、`.aac` 等。
3. **友好提示与错误捕获**：若环境变量未配置或某条请求失败，会输出详细报错原因，不会导致整个程序崩溃中断。