跳转到内容
搜索文档

更新日志

Cloudflare 的最新更新与改进。

Images 绑定现按唯一转换计费

Images 绑定(binding)现在按唯一转换计费,这与已用于基于 URL 转换的计费模型一致。在同一个日历月内对相同源图像和参数组合的重复请求仅计算一次。

在此之前,无论图像或参数是否唯一,对绑定的每次调用都被计为一次单独的转换。有了这项改进,您可以在热点路径上调用绑定,而无需为每个单独的请求付费。

.info() 的调用不再计费。

欲了解更多信息,请参阅 Images 定价Images 绑定文档

使用 Images 绑定管理托管的图像

使用 Images 绑定(binding)可以直接从您的 Worker 上传、列出、检索、更新和删除存储在 Images 中的图像,而无需管理 API 令牌(tokens)或发送 HTTP 请求。

env.IMAGES.hosted 命名空间支持以下存储和管理操作:

例如,您可以从请求主体中上传图像并返回其元数据:

const image = await env.IMAGES.hosted.upload(request.body, {
	filename: "upload.jpg",
	metadata: { source: "worker" },
});

return Response.json(image);

或者检索并提供托管图像的原始字节:

const bytes = await env.IMAGES.hosted.image("IMAGE_ID").bytes();
return new Response(bytes);

欲了解更多信息,请参阅 Images 绑定

RealtimeKit 会后转录现已正式发布

RealtimeKit 让您可以在 Cloudflare 的全球 WebRTC 基础设施上构建人们通过实时音视频进行会议的产品,例如医疗健康科技、教育科技、监考以及其他实时平台。

会后转录现已正式发布,已完成的 RealtimeKit 会议可在结束后自动生成完整的转录文件。这些转录文件还可为AI 生成摘要提供支持,用于会议记录、审查工作流以及转录文件可用后的跟进任务。

会后转录是由 Workers AI 使用 Whisper Large v3 Turbo 驱动的托管服务。RealtimeKit 处理转录过程,并可通过 webhook 或 REST API 返回转录和摘要文件,因此您无需运行自己的转录基础设施。

生成转录和摘要

要在会议结束后生成转录,请在创建会议时设置 transcribe_on_end: true。要在转录可用后也自动生成 AI 摘要,请设置 summarize_on_end: true

curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/meetings" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Weekly product review",
    "transcribe_on_end": true,
    "summarize_on_end": true,
    "ai_config": {
      "transcription": {
        "language": "en"
      },
      "summarization": {
        "word_limit": 500,
        "text_format": "markdown",
        "summary_type": "team_meeting"
      }
    }
  }'

获取结果

当 RealtimeKit 完成会议处理后,会为转录文件创建下载 URL,如果设置了 summarize_on_end,则还会为摘要创建下载 URL。您可以通过 webhook 自动接收这些 URL,或通过 REST API 稍后为特定会话获取。

要在结果准备好后立即接收,请配置 meeting.transcriptmeeting.summary webhook 事件:

curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/webhooks" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "AI results webhook",
    "url": "https://example.com/webhook",
    "events": ["meeting.transcript", "meeting.summary"],
    "enabled": true
  }'

要稍后获取结果,请调用相应会话的转录摘要端点:

curl -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/sessions/$SESSION_ID/transcript" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

curl -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/sessions/$SESSION_ID/summary" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

仅当未设置 summarize_on_end 且您希望在转录可用后手动生成摘要时,才使用为会话转录生成摘要 API:

curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/sessions/$SESSION_ID/summary" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

会后转录支持 CSV、JSON、SRT 和 VTT 转录输出格式自动语言检测和 Whisper 语言代码。RealtimeKit 还支持使用 Deepgram Nova-3 进行实时转录,用于实时字幕、会议内无障碍功能和实时记录。

RealtimeKit 转录文档摘要文档中了解更多信息。

Cloudflare 实时 WebSocket 适配器现支持自动重连并可缓冲 WebRTC 媒体

Cloudflare 实时 SFU 是一款运行在 Cloudflare 全球网络上的 WebRTC 选择性转发单元,使您无需管理 SFU 基础设施或区域,即可在全球 WebRTC 客户端之间路由实时音频、视频和数据。

当您使用 WebSocket 适配器将 WebRTC 媒体流传输至 WebSocket 端点时,该适配器现在可在端点短暂断连或重启后自动重连并缓冲音视频。

将 WebRTC 媒体流传输至 WebSocket 端点

许多团队还将实时 SFU 用作后端应用程序的媒体层,例如转录、录制、笔记和 Agent 媒体处理服务。这些系统通常需要在后端基础设施中消费来自 SFU 的实时 WebRTC 音频或视频,包括 Durable ObjectsWorkersContainers 或外部服务,而无需自行运行 WebRTC 客户端。

WebSocket 适配器通过将 WebRTC 媒体从 SFU 以应用程序可消费的载荷形式流式传输至标准 WebSocket 端点来弥合这一差距:PCM 音频帧和 JPEG 视频帧

变更内容

当您在 Stream 模式(出口)下使用 WebSocket 适配器将实时音视频从 SFU 发送到您自己的 WebSocket 端点时,SFU 现在会在端点短暂断连或重启后自动重连。这对于长时间运行的媒体管道尤其有用,因为在录制、转录或实时分析任务仍在进行时,WebSocket 端点可能会短暂重启。

此前,WebSocket 端点的短暂断连可能导致适配器关闭,需要应用程序在媒体恢复前重新创建适配器。现在,SFU 无需更改 API 即可重试同一端点长达 5 秒。如果端点在此时间窗口内恢复,音视频传输将自动恢复。

重连行为还包含实时优先媒体缓冲,因此短暂中断可减少媒体丢失,而无需重播过时视频。

重连行为

重连期间:

  • 音频使用有限的短暂积压队列来减少可听见的丢失。如果中断时间超过积压队列的覆盖范围,较旧的音频可能会被丢弃。
  • 视频从最新可用的 JPEG 帧恢复,而不是重播过时帧。
  • 恢复为尽力而为,不保证无间隙或精确一次传递。

如果端点在 5 秒重连窗口后仍不可用,适配器将关闭并必须重新创建。

了解更多

在 RealtimeKit 中录制特定参与者的音频轨道

您现在可以使用 RealtimeKit 的轨道录制功能录制特定参与者的音频轨道。轨道录制为每位参与者创建单独的 WebM 文件,而非单一的合成录制,这对后期处理、转录以及受监管或内容敏感的工作流非常有用。

要录制特定参与者,在启动轨道录制时传入 user_ids

curl --request POST \
  --url https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/recordings/track \
  --header 'Authorization: Bearer <api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "meeting_id": "97440c6a-140b-40a9-9499-b23fd7a3868a",
  "user_ids": ["user-123", "user-456"]
}'

要在选择性轨道录制中传入 user_ids,需使用以下最低 SDK 版本:

  • Web Core:@cloudflare/realtimekit 版本 1.4.0 或更高
  • Web UI Kit:@cloudflare/realtimekit-ui@cloudflare/realtimekit-react-ui@cloudflare/realtimekit-angular-ui 版本 1.1.2 或更高
  • Android Core 或 iOS Core:版本 2.0.0 或更高
  • Android UI Kit 或 iOS UI Kit:版本 1.1.0 或更高

RealtimeKit 提供 SDK 和 UI 组件,让您可以在 Cloudflare 的全球 WebRTC 基础设施上构建自己的会议体验。如今,各团队正在 RealtimeKit 上为全球受众构建从远程医疗到在线教育的各类产品。您可以通过我们的快速入门立即上手,或参考我们的 Cloudflare Meet 仓库 作为参考。

Images 中的转换流(flows)

自定义流配置面板

流(Flows)是自动规则,它将条件(例如文件扩展名、URL 路径或查询参数)与参数进行匹配。您可以设置一个流,以自动将图像优化应用到您区域上的匹配请求,而无需编写代码或更改 URL。

转换流有两种模式:

  • 提供商流(Provider flows) — 从其他图像优化服务进行迁移。您现有的 URL 将继续工作,同时 Cloudflare 会将特定提供商的参数重写为 Cloudflare 对应的参数。目前,Cloudflare 支持针对 Fastly Image Optimizer 的提供商流。
  • 自定义流(Custom flows) — 为自动格式转换、具有 width=auto响应式大小调整或基于目录的优化等使用场景定义您自己的条件和操作。

若要开始使用,请转到 Cloudflare 仪表板中的 Images > Transformations(转换) > Automation(自动化)

详细了解转换流