Images 绑定现按唯一转换计费
Images 绑定(binding)现在按唯一转换计费,这与已用于基于 URL 转换的计费模型一致。在同一个日历月内对相同源图像和参数组合的重复请求仅计算一次。
在此之前,无论图像或参数是否唯一,对绑定的每次调用都被计为一次单独的转换。有了这项改进,您可以在热点路径上调用绑定,而无需为每个单独的请求付费。
对 .info() 的调用不再计费。
欲了解更多信息,请参阅 Images 定价和 Images 绑定文档。
Cloudflare 的最新更新与改进。
Images 绑定(binding)现在按唯一转换计费,这与已用于基于 URL 转换的计费模型一致。在同一个日历月内对相同源图像和参数组合的重复请求仅计算一次。
在此之前,无论图像或参数是否唯一,对绑定的每次调用都被计为一次单独的转换。有了这项改进,您可以在热点路径上调用绑定,而无需为每个单独的请求付费。
对 .info() 的调用不再计费。
欲了解更多信息,请参阅 Images 定价和 Images 绑定文档。
这些更新为使用 Images 进行优化和操作引入了新功能:
composite 选项:控制叠加层如何与底图混合。fit 模式:使用 aspect-crop 始终保留目标宽高比,或使用 scale-up 始终放大图像。upscale 参数:应用 AI 放大(upscaling),在放大图像时产生更清晰、更细致的结果。使用 Images 绑定(binding)可以直接从您的 Worker 上传、列出、检索、更新和删除存储在 Images 中的图像,而无需管理 API 令牌(tokens)或发送 HTTP 请求。
env.IMAGES.hosted 命名空间支持以下存储和管理操作:
.upload(image, options) — 向您的账户上传一个新图像。.list(options) — 通过分页列出图像。.image(imageId).details() — 获取图像元数据。.image(imageId).bytes() — 流式传输原始图像字节。.image(imageId).update(options) — 更新元数据或访问控制。.image(imageId).delete() — 删除图像。例如,您可以从请求主体中上传图像并返回其元数据:
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 让您可以在 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.transcript 和 meeting.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 实时 SFU 是一款运行在 Cloudflare 全球网络上的 WebRTC 选择性转发单元,使您无需管理 SFU 基础设施或区域,即可在全球 WebRTC 客户端之间路由实时音频、视频和数据。
当您使用 WebSocket 适配器将 WebRTC 媒体流传输至 WebSocket 端点时,该适配器现在可在端点短暂断连或重启后自动重连并缓冲音视频。
许多团队还将实时 SFU 用作后端应用程序的媒体层,例如转录、录制、笔记和 Agent 媒体处理服务。这些系统通常需要在后端基础设施中消费来自 SFU 的实时 WebRTC 音频或视频,包括 Durable Objects、Workers、Containers 或外部服务,而无需自行运行 WebRTC 客户端。
WebSocket 适配器通过将 WebRTC 媒体从 SFU 以应用程序可消费的载荷形式流式传输至标准 WebSocket 端点来弥合这一差距:PCM 音频帧和 JPEG 视频帧。
当您在 Stream 模式(出口)下使用 WebSocket 适配器将实时音视频从 SFU 发送到您自己的 WebSocket 端点时,SFU 现在会在端点短暂断连或重启后自动重连。这对于长时间运行的媒体管道尤其有用,因为在录制、转录或实时分析任务仍在进行时,WebSocket 端点可能会短暂重启。
此前,WebSocket 端点的短暂断连可能导致适配器关闭,需要应用程序在媒体恢复前重新创建适配器。现在,SFU 无需更改 API 即可重试同一端点长达 5 秒。如果端点在此时间窗口内恢复,音视频传输将自动恢复。
重连行为还包含实时优先媒体缓冲,因此短暂中断可减少媒体丢失,而无需重播过时视频。
重连期间:
如果端点在 5 秒重连窗口后仍不可用,适配器将关闭并必须重新创建。
您现在可以使用 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 版本:
@cloudflare/realtimekit 版本 1.4.0 或更高@cloudflare/realtimekit-ui、@cloudflare/realtimekit-react-ui 或 @cloudflare/realtimekit-angular-ui 版本 1.1.2 或更高2.0.0 或更高1.1.0 或更高RealtimeKit 提供 SDK 和 UI 组件,让您可以在 Cloudflare 的全球 WebRTC 基础设施上构建自己的会议体验。如今,各团队正在 RealtimeKit 上为全球受众构建从远程医疗到在线教育的各类产品。您可以通过我们的快速入门立即上手,或参考我们的 Cloudflare Meet 仓库 ↗ 作为参考。
流(Flows)是自动规则,它将条件(例如文件扩展名、URL 路径或查询参数)与参数进行匹配。您可以设置一个流,以自动将图像优化应用到您区域上的匹配请求,而无需编写代码或更改 URL。
转换流有两种模式:
width=auto 的响应式大小调整或基于目录的优化等使用场景定义您自己的条件和操作。若要开始使用,请转到 Cloudflare 仪表板 ↗中的 Images > Transformations(转换) > Automation(自动化)。
详细了解转换流。