从视频中提取帧 API

API ID 14854

视频帧提取器:从直接视频文件URL(mp4、mov、webm、mkv、m4v)中提取静止图像场景变化检测每N秒N均匀间隔的帧或确切时间戳

API 文档

端点

请求
视频帧提取器 - 场景检测 每个请求返回最多100个结果作为JSON
Endpoint ID: 38670
GET https://zylalabs.com/api/14854/extract+frames+from+video+api/38670/video+frame+extractor
输入参数

视频帧提取器 — 端点功能

对象 描述
contactSheet 可选 Also create one tiled grid image per video with all frames and their timecodes (one extra result row of type contact_sheet). Handy for a quick overview or for sending one image to an AI vision model.
maxVideoMinutes 可选 Skip videos longer than this many minutes. A safety guard against huge files and surprise cost.
timestamps 可选 Used in timestamps mode: times to extract, as seconds (12.5) or HH:MM:SS (00:01:02.5). Times beyond the video end are skipped.
sceneThreshold 可选 Used in scenes mode: sensitivity from 0.01 to 1. Lower finds more scene changes (0.1 very sensitive), higher only hard cuts. 0.3 is a good default.
maxFramesPerVideo 可选 Hard cap on frames per video (any mode). You pay per frame, so this caps the cost. Maximum 500.
format 可选 Image format of the extracted frames. Jpg is smallest, png is lossless, webp is a good compromise.
width 可选 Resize frames to this width, keeping the aspect ratio. Never upscales. 0 keeps the original size.
quality 可选 Quality for jpg and webp, 1 to 100 (higher = better and bigger files). Ignored for png.
videoUrls 可选 Direct links to video files (mp4, mov, webm, mkv, m4v) or stored file URLs. Links must be public and point straight to the file. YouTube, TikTok, Instagram and Facebook page links are not supported and are skipped. Several values: comma separated.
mode 可选 Scenes = a frame at every scene change (ffmpeg scene detection). Interval = one frame every N seconds. Count = N evenly spaced frames. Timestamps = exact times you list.
frameCount 可选 Used in count mode: how many evenly spaced frames to extract per video (limited by Max frames per video).
everySeconds 可选 Used in interval mode: extract one frame every this many seconds, starting at 0.

剩余免费测试请求:3 / 3。


输入参数

contactSheet
maxVideoMinutes
timestamps
sceneThreshold
maxFramesPerVideo
format
width
quality
videoUrls
mode
frameCount
everySeconds
API 示例响应
JSON
{
    "count": 5,
    "items": [
        {
            "type": "frame",
            "videoUrl": "https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_1MB.mp4",
            "frameIndex": 0,
            "timestampSec": 0.625,
            "timecode": "00:00:00.625",
            "imageUrl": "https://2-29-135-242.sslip.io/m/f/VxrfPUV2ZRQ9L0c3t/1-001.jpg",
            "key": "1-001.jpg",
            "width": 640,
            "height": 360,
            "sceneScore": null,
            "mode": "count",
            "durationSec": 10,
            "fps": 30,
            "videoWidth": 640,
            "videoHeight": 360,
            "extractedAt": "2026-11-12T03:21:59Z"
        },
        {
            "type": "frame",
            "videoUrl": "https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_1MB.mp4",
            "frameIndex": 1,
            "timestampSec": 1.875,
            "timecode": "00:00:01.875",
            "imageUrl": "https://2-29-135-242.sslip.io/m/f/VxrfPUV2ZRQ9L0c3t/1-002.jpg",
            "key": "1-002.jpg",
            "width": 640,
            "height": 360,
            "sceneScore": null,
            "mode": "count",
            "durationSec": 10,
            "fps": 30,
            "videoWidth": 640,
            "videoHeight": 360,
            "extractedAt": "2026-11-12T03:21:59Z"
        },
        {
            "type": "frame",
            "videoUrl": "https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_1MB.mp4",
            "frameIndex": 2,
            "timestampSec": 3.125,
            "timecode": "00:00:03.125",
            "imageUrl": "https://2-29-135-242.sslip.io/m/f/VxrfPUV2ZRQ9L0c3t/1-003.jpg",
            "key": "1-003.jpg",
            "width": 640,
            "height": 360,
            "sceneScore": null,
            "mode": "count",
            "durationSec": 10,
            "fps": 30,
            "videoWidth": 640,
            "videoHeight": 360,
            "extractedAt": "2026-11-12T03:21:59Z"
        },
        {
            "type": "frame",
            "videoUrl": "https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_1MB.mp4",
            "frameIndex": 3,
            "timestampSec": 4.375,
            "timecode": "00:00:04.375",
            "imageUrl": "https://2-29-135-242.sslip.io/m/f/VxrfPUV2ZRQ9L0c3t/1-004.jpg",
            "key": "1-004.jpg",
            "width": 640,
            "height": 360,
            "sceneScore": null,
            "mode": "count",
            "durationSec": 10,
            "fps": 30,
            "videoWidth": 640,
            "videoHeight": 360,
            "extractedAt": "2026-11-12T03:22:00Z"
        },
        {
            "type": "frame",
            "videoUrl": "https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_1MB.mp4",
            "frameIndex": 4,
            "timestampSec": 5.625,
            "timecode": "00:00:05.625",
            "imageUrl": "https://2-29-135-242.sslip.io/m/f/VxrfPUV2ZRQ9L0c3t/1-005.jpg",
            "key": "1-005.jpg",
            "width": 640,
            "height": 360,
            "sceneScore": null,
            "mode": "count",
            "durationSec": 10,
            "fps": 30,
            "videoWidth": 640,
            "videoHeight": 360,
            "extractedAt": "2026-11-12T03:22:00Z"
        }
    ]
}
视频帧提取器 — 代码片段

curl --location --request GET 'https://zylalabs.com/api/14854/extract+frames+from+video+api/38670/video+frame+extractor?contactSheet=true&maxVideoMinutes=30&sceneThreshold=0.3&maxFramesPerVideo=30&format=jpg&width=1280&quality=85&videoUrls=https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_1MB.mp4&mode=count&frameCount=8&everySeconds=10' --header 'Authorization: Bearer YOUR_API_KEY' 


    

API 访问密钥和身份验证

注册后,每个开发者都会被分配一个个人 API 访问密钥,这是一个唯一的字母和数字组合,用于访问我们的 API 端点。要使用 从视频中提取帧 API 进行身份验证,只需在 Authorization 标头中包含您的 bearer token。

标头
标头 描述
授权 必需 应为 Bearer access_key. 订阅后,请查看上方的"您的 API 访问密钥"。

无长期承诺。随时升级、降级或取消。

起价
$10,000/年


  • 自定义数量
  • 自定义速率限制
  • 专业客户支持
  • 实时 API 监控

概览

视频帧提取器:从直接的视频文件URL(mp4,mov,webm,mkv,m4v)中提取静态帧。场景变化检测, 每N秒, N个均匀间隔的帧或确切时间戳

从视频中提取帧 API FAQs

视频帧提取器:来自直接视频文件 URL(mp4 mov webm mkv m4v)的静态帧。场景变化检测,每 N 秒,N 个均匀间隔的帧或确切时间戳

每个请求最多返回100个结果,具体取决于端点

每个请求从公共来源收集实时数据 相同的请求可以从缓存中提供长达6小时

列表参数可以接受多个用逗号分隔的值,例如:伦敦,巴黎

终端接受这些查询参数,均为可选:videoUrls,mode,frameCount,everySeconds,timestamps,sceneThreshold,maxFramesPerVideo,format,width,quality,contactSheet,maxVideoMinutes。VideoUrls:视频文件(mp4,mov,webm,mkv,m4v)的直接链接或存储文件的URL。链接必须是公开的并且直接指向文件。不支持YouTube、TikTok、Instagram和Facebook页面链接,这些链接会被跳过。多个值:用逗号分隔。模式:场景=每个场景变化时的一帧(ffmpeg场景检测)。间隔=每N秒一帧。计数=N个均匀分布的帧。时间戳=你列出的确切时间。

一般常见问题

Zyla API Hub 就像一个大型 API 商店,您可以在一个地方找到数千个 API。我们还为所有 API 提供专门支持和实时监控。注册后,您可以选择要使用的 API。请记住,每个 API 都需要自己的订阅。但如果您订阅多个 API,您将为所有这些 API 使用相同的密钥,使事情变得更简单。
价格以 USD(美元)、EUR(欧元)、CAD(加元)、AUD(澳元)和 GBP(英镑)列出。我们接受所有主要的借记卡和信用卡。我们的支付系统使用最新的安全技术,由 Stripe 提供支持,Stripe 是世界上最可靠的支付公司之一。如果您在使用卡片付款时遇到任何问题,请通过 [email protected]

此外,如果您已经以这些货币中的任何一种(USD、EUR、CAD、AUD、GBP)拥有有效订阅,该货币将保留用于后续订阅。只要您没有任何有效订阅,您可以随时更改货币。
定价页面上显示的本地货币基于您 IP 地址的国家/地区,仅供参考。实际价格以 USD(美元)为单位。当您付款时,即使您在我们的网站上看到以本地货币显示的等值金额,您的卡片对账单上也会以美元显示费用。这意味着您不能直接使用本地货币付款。
有时,银行可能会因其欺诈保护设置而拒绝收费。我们建议您首先联系您的银行,检查他们是否阻止了我们的收费。此外,您可以访问账单门户并更改关联的卡片以进行付款。如果这些方法不起作用并且您需要进一步帮助,请通过 [email protected]
价格由月度或年度订阅决定,具体取决于所选计划。
API 调用根据成功请求从您的计划中扣除。每个计划都包含您每月可以进行的特定数量的调用。只有成功的调用(由状态 200 响应指示)才会计入您的总数。这确保失败或不完整的请求不会影响您的月度配额。
Zyla API Hub 采用月度订阅系统。您的计费周期将从您购买付费计划的那一天开始,并在下个月的同一日期续订。因此,如果您想避免未来的费用,请提前取消订阅。
要升级您当前的订阅计划,只需转到 API 的定价页面并选择您要升级到的计划。升级将立即生效,让您立即享受新计划的功能。请注意,您之前计划中的任何剩余调用都不会转移到新计划,因此在升级时请注意这一点。您将被收取新计划的全部金额。
要检查您本月剩余多少 API 调用,请参考响应标头中的 "X-Zyla-API-Calls-Monthly-Remaining" 字段。例如,如果您的计划允许每月 1,000 个请求,而您已使用 100 个,则响应标头中的此字段将显示 900 个剩余调用。
要查看您的计划允许的最大 API 请求数,请检查 "X-Zyla-RateLimit-Limit" 响应标头。例如,如果您的计划包括每月 1,000 个请求,此标头将显示 1,000。
"X-Zyla-RateLimit-Reset" 标头显示您的速率限制重置之前的秒数。这告诉您何时您的请求计数将重新开始。例如,如果它显示 3,600,则意味着还有 3,600 秒直到限制重置。
是的,您可以随时通过访问您的账户并在账单页面上选择取消选项来取消您的计划。请注意,升级、降级和取消会立即生效。此外,取消后,您将不再有权访问该服务,即使您的配额中还有剩余调用。
为了让您有机会在没有任何承诺的情况下体验我们的 API,我们提供 7 天免费试用,允许您免费进行最多 50 次 API 调用。此试用只能使用一次,因此我们建议将其应用于您最感兴趣的 API。虽然我们的大多数 API 都提供免费试用,但有些可能不提供。试用在 7 天后或您进行了 50 次请求后结束,以先发生者为准。如果您在试用期间达到 50 次请求限制,您需要"开始您的付费计划"以继续发出请求。您可以在个人资料中的订阅 -> 选择您订阅的 API -> 定价标签下找到"开始您的付费计划"按钮。或者,如果您在第 7 天之前不取消订阅,您的免费试用将结束,您的计划将自动计费,授予您访问计划中指定的所有 API 调用的权限。请记住这一点以避免不必要的费用。
7 天后,您将被收取试用期间订阅的计划的全额费用。因此,在试用期结束前取消很重要。因忘记及时取消而提出的退款请求不被接受。
当您订阅 API 免费试用时,您可以进行最多 50 次 API 调用。如果您希望超出此限制进行额外的 API 调用,API 将提示您执行"开始您的付费计划"。您可以在个人资料中的订阅 -> 选择您订阅的 API -> 定价标签下找到"开始您的付费计划"按钮。
付款订单在每月 20 日至 30 日之间处理。如果您在 20 日之前提交请求,您的付款将在此时间范围内处理。
您可以通过我们的聊天渠道联系我们以获得即时帮助。我们始终在线,时间为上午 8 点至下午 5 点(EST)。如果您在该时间之后联系我们,我们将尽快回复您。此外,您可以通过 [email protected]

相关 API