fireflies-transcript
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFireflies Transcript
Fireflies 转录文本
Fetch any meeting transcript from Fireflies.ai as raw text via GraphQL. Read-only.
通过GraphQL从Fireflies.ai获取任意会议的原始转录文本。仅支持读取操作。
Auth (state-check first)
认证(先检查状态)
The API key lives in a local env file (mode 600, never commit or print it):
bash
source /path/to/fireflies-env-file # exports FIREFLIES_API_KEY
[ -n "$FIREFLIES_API_KEY" ] || echo "MISSING KEY - stop and tell the user"Every call is a POST to with
and a JSON body .
https://api.fireflies.ai/graphqlAuthorization: Bearer $FIREFLIES_API_KEY{"query": "..."}API密钥存储在本地环境文件中(权限模式600,切勿提交或打印):
bash
source /path/to/fireflies-env-file # 导出 FIREFLIES_API_KEY
[ -n "$FIREFLIES_API_KEY" ] || echo "MISSING KEY - stop and tell the user"每次调用均为向发送POST请求,请求头包含,请求体为JSON格式。
https://api.fireflies.ai/graphqlAuthorization: Bearer $FIREFLIES_API_KEY{"query": "..."}Step 1 - find the meeting id
步骤1 - 查找会议ID
bash
curl -sS -X POST https://api.fireflies.ai/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $FIREFLIES_API_KEY" \
-d '{"query":"{ transcripts(limit: 25) { id title date duration } }"}' \
| jq -r '.data.transcripts[] | "\(.id) | \(.title) | \(.date)"'- is epoch milliseconds. Convert on macOS:
date.date -r $((1784127600000/1000)) - The filter is EXACT-match — it returns
transcripts(title:)for partial names. List recent meetings and grep locally instead.[] - Ad-hoc meetings have no proper title (e.g. ). Identify those by date/time, then confirm via content or speakers, not the title.
Untitled - Wed, 15 Jul 2026 17:00:55 CEST - Paginate older meetings with (e.g.
skip:).transcripts(limit: 50, skip: 25)
bash
curl -sS -X POST https://api.fireflies.ai/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $FIREFLIES_API_KEY" \
-d '{"query":"{ transcripts(limit: 25) { id title date duration } }"}' \
| jq -r '.data.transcripts[] | "\(.id) | \(.title) | \(.date)"'- 为毫秒级时间戳。在macOS上转换:
date。date -r $((1784127600000/1000)) - 过滤器为精确匹配——部分匹配名称会返回
transcripts(title:)。建议列出近期会议后在本地使用grep筛选。[] - 临时会议无正式标题(例如)。需通过日期/时间识别,再通过内容或参会者确认,不要仅依赖标题。
Untitled - Wed, 15 Jul 2026 17:00:55 CEST - 使用参数翻页查看更早的会议(例如
skip:)。transcripts(limit: 50, skip: 25)
Step 2 - pull the raw transcript
步骤2 - 提取原始转录文本
bash
QUERY='{ transcript(id: "MEETING_ID") { title sentences { speaker_name text } } }'
curl -sS -X POST https://api.fireflies.ai/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $FIREFLIES_API_KEY" \
-d "$(jq -nc --arg query "$QUERY" '{query: $query}')" \
> /tmp/ff.jsonbash
QUERY='{ transcript(id: "MEETING_ID") { title sentences { speaker_name text } } }'
curl -sS -X POST https://api.fireflies.ai/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $FIREFLIES_API_KEY" \
-d "$(jq -nc --arg query "$QUERY" '{query: $query}')" \
> /tmp/ff.jsonspeaker-labeled raw text (usual deliverable)
带发言者标签的原始文本(常规交付格式)
jq -r '.data.transcript.sentences[] | "(.speaker_name): (.text)"' /tmp/ff.json
jq -r '.data.transcript.sentences[] | "(.speaker_name): (.text)"' /tmp/ff.json
bare text only
仅提取纯文本
jq -r '.data.transcript.sentences[].text' /tmp/ff.json
Transcripts run to hundreds of sentences — save to a file, never dump to stdout/chat.
Optional extras on the same `transcript(id:)` query: `summary { overview short_summary keywords }`,
`participants`, `duration`, `meeting_link`.jq -r '.data.transcript.sentences[].text' /tmp/ff.json
转录文本包含数百条语句——请保存到文件中,切勿直接输出到标准输出/聊天窗口。
在`transcript(id:)`查询中可添加可选扩展字段:`summary { overview short_summary keywords }`、`participants`、`duration`、`meeting_link`。Failure modes
失败场景
- — recording still processing or no audio captured; nothing to pull.
sentences: null - in the response instead of
errors[]— usually a bad field name; fix the query.data - 401/invalid key — key was rotated; ask the user for a new one (Fireflies dashboard: Settings -> Developer settings), update the local env file.
- ——录音仍在处理中或未捕获到音频;无法提取内容。
sentences: null - 响应中返回而非
errors[]——通常是字段名称错误;请修正查询语句。data - 401/无效密钥——密钥已更新;请向用户索要新密钥(Fireflies控制台:设置 -> 开发者设置),并更新本地环境文件。
Verify before reporting done
完成前验证
A pull is successful only if the sentence count is > 0 and the speakers/topic
match the meeting the user asked about — check the first few lines, don't trust the title alone.
只有当语句数量大于0,且发言者/主题与用户要求的会议匹配时,提取操作才算成功——请检查前几行内容,不要仅信任标题。