这里为你编写了一个 Python 脚本。AI Builder Space 通常提供与 OpenAI 兼容的 API 接口，因此使用官方 `openai` 客户端库调用最为稳定高效。

### 1. 准备工作

安装 OpenAI 官方 SDK：
```bash
pip install openai
```

确保设置了环境变量：
* **macOS / Linux:**
  ```bash
  export AI_BUILDER_TOKEN="你的_api_key"
  ```
* **Windows (PowerShell):**
  ```powershell
  $env:AI_BUILDER_TOKEN="你的_api_key"
  ```

---

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

```python
import os
import sys
from pathlib import Path
from openai import OpenAI

# 1. 检查环境变量
api_key = os.environ.get("AI_BUILDER_TOKEN")
if not api_key:
    print("错误: 未找到环境变量 AI_BUILDER_TOKEN，请先设置！")
    sys.exit(1)

# 2. 配置路径与客户端
# AI Builder Space 默认兼容 OpenAI 规范的 Base URL
BASE_URL = os.environ.get(
    "AI_BUILDER_BASE_URL", "https://api.ai-builder.space/v1"
)
MEMOS_DIR = Path("memos")
TRANSCRIPTS_DIR = Path("transcripts")

# 支持的常见音频格式（iOS 语音备忘录通常为 .m4a）
SUPPORTED_EXTENSIONS = {
    ".m4a",
    ".mp3",
    ".wav",
    ".aac",
    ".ogg",
    ".flac",
    ".webm",
}

client = OpenAI(
    api_key=api_key,
    base_url=BASE_URL,
)


def transcribe():
    # 检查输入文件夹
    if not MEMOS_DIR.exists() or not MEMOS_DIR.is_dir():
        print(f"错误: 输入文件夹 '{MEMOS_DIR}' 不存在。")
        return

    # 自动创建输出文件夹
    TRANSCRIPTS_DIR.mkdir(parents=True, exist_ok=True)

    # 获取所有音频文件
    audio_files = [
        f
        for f in MEMOS_DIR.iterdir()
        if f.is_file() and f.suffix.lower() in SUPPORTED_EXTENSIONS
    ]

    if not audio_files:
        print(f"'{MEMOS_DIR}' 目录下没有找到支持的音频文件。")
        return

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

    for index, file_path in enumerate(audio_files, 1):
        target_txt = TRANSCRIPTS_DIR / f"{file_path.stem}.txt"

        # 如果已经转录过，则跳过（避免重复扣费）
        if target_txt.exists():
            print(
                f"[{index}/{len(audio_files)}] [跳过] {file_path.name} (对应 .txt 已存在)"
            )
            continue

        print(
            f"[{index}/{len(audio_files)}] [正在转录] {file_path.name} ...",
            end="",
            flush=True,
        )

        try:
            with open(file_path, "rb") as audio_file:
                # 调用语音转文字接口
                response = client.audio.transcriptions.create(
                    model="whisper-1",  # 默认 Whisper 模型
                    file=audio_file,
                )

            # 写入对应的 txt 文件
            target_txt.write_text(response.text, encoding="utf-8")
            print(" -> 完成")

        except Exception as e:
            print(f" -> 失败！错误信息: {e}")

    print("\n所有任务处理完毕！输出结果保存在 transcripts/ 文件夹中。")


if __name__ == "__main__":
    transcribe()
```

---

### 3. 说明与特性

1. **自动跳过已转录文件**：如果 `transcripts/` 中已经存在同名 `.txt`，会自动跳过，防止意外中断重新运行时重复扣费。
2. **格式支持**：兼容苹果 iOS 备忘录默认的 `.m4a`，以及 `.mp3`、`.wav` 等常见格式。
3. **接口兼容性**：默认使用 `whisper-1` 模型。如果在你的 AI Builder Space 控制台中有指定的模型名称（如 `whisper-large-v3`），可以直接修改代码里的 `model="..."` 参数。