# Time-Lapse Calculator

> Computes the number of frames, the shooting interval and the playback speed-up factor for a time-lapse from the real event duration, the desired clip length and the frame rate, plus storage needs from a per-frame file size.

- Calculator id: `time-lapse` · Category: Photography & Optics (`photography`) · Tool name: `calculate_time_lapse`
- Canonical page: https://tttkmbb.com/photography/time-lapse · This document: https://tttkmbb.com/photography/time-lapse.md · JSON definition: https://tttkmbb.com/photography/time-lapse.json

## Purpose

Computes the number of frames, the shooting interval and the playback speed-up factor for a time-lapse from the real event duration, the desired clip length and the frame rate, plus storage needs from a per-frame file size.

**Use when:** You are planning a time-lapse and need the intervalometer setting, how many shots it takes, or how much card space is required.

**Do not use when:** You need the file size of a normal video (use video-file-size) or the size of individual photos (use image-file-size).

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `event_duration_minutes` | number | min | required | Real-time length of the event to record, in minutes. (> 0, max 1000000) |
| `clip_duration_seconds` | number | s | required | Desired length of the finished time-lapse clip, in seconds. (> 0, max 86400) |
| `fps` | number | fps | optional, default 30 | Frames per second of the final video (24, 25, 30, 60). (min 1, max 240) |
| `file_size_per_frame_mb` | number | MB | optional | Optional size of one captured frame in MB (RAW 25–50, JPEG 5–12); returns the total storage needed. (> 0, max 1000) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `frames` | integer |  | clip_duration_seconds × fps, rounded. |
| `interval_seconds` | number | s | event duration / frames: the intervalometer setting. |
| `speed_factor` | number | × | Event duration / clip duration: how many times faster than real time the clip plays. |
| `shooting_time_text` | string |  | The event duration written as hours and minutes. |
| `storage_mb` | number | MB | frames × file_size_per_frame_mb (only when the file size is given). |
| `storage_gb` | number | GB | Storage in decimal gigabytes (only when the file size is given). |

## Formula

`frames = clip_duration_seconds × fps; interval_seconds = event_duration_minutes × 60 / frames; speed_factor = event_duration_minutes × 60 / clip_duration_seconds; storage_gb = frames × file_size_per_frame_mb / 1000`

The interval must be longer than the exposure time plus the camera's write time; intervals below about 1 s exceed what most intervalometers allow. Frame count is rounded to a whole number before the interval is derived.

## Data Sources

- Wikipedia – Time-lapse photography — https://en.wikipedia.org/wiki/Time-lapse_photography (reference, retrieved 2026-09-24)
- Wikipedia – Intervalometer — https://en.wikipedia.org/wiki/Intervalometer (reference, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/time-lapse?event_duration_minutes=…&clip_duration_seconds=…`
- `POST https://tttkmbb.com/api/v1/calculate/time-lapse` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/time-lapse · OpenAPI operationId `calculate_time_lapse` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "time-lapse", "inputs": {…}}`

## Example

- 2-hour event as a 30 s clip at 30 fps, 25 MB RAW frames: inputs `{"event_duration_minutes":120,"clip_duration_seconds":30,"fps":30,"file_size_per_frame_mb":25}` → `{"frames":900,"interval_seconds":8,"speed_factor":240,"storage_gb":22.5,"shooting_time_text":"2 h 0 min"}`
- 6-hour sunset as a 20 s clip at 24 fps: inputs `{"event_duration_minutes":360,"clip_duration_seconds":20,"fps":24}` → `{"frames":480,"interval_seconds":45,"speed_factor":1080}`

```
GET https://tttkmbb.com/api/v1/calculate/time-lapse?event_duration_minutes=120&clip_duration_seconds=30&fps=30&file_size_per_frame_mb=25
```

## Limitations

You need the file size of a normal video (use video-file-size) or the size of individual photos (use image-file-size). The interval must be longer than the exposure time plus the camera's write time; intervals below about 1 s exceed what most intervalometers allow. Frame count is rounded to a whole number before the interval is derived. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**What interval should I use for clouds, sunsets or stars?**

Rules of thumb: fast clouds 1–3 s, sunsets 5–10 s, slow clouds and shadows 10–30 s, stars 20–40 s (limited by the exposure), plants and construction minutes. Compute the interval from the planned clip length and check it against these.

**Does the shutter speed matter?**

The exposure time must fit inside the interval with margin for the camera to save the file; for smooth motion many shooters use a shutter of about half the interval ('dragging' the shutter).

## Related

- [Image File Size Calculator](https://tttkmbb.com/photography/image-file-size.md) — Per-frame file size from resolution and format.
- [Video File Size Calculator](https://tttkmbb.com/everyday/video-file-size.md) — Size of the rendered clip from its bitrate.
- [Data Storage Converter](https://tttkmbb.com/conversion/data-storage.md) — Convert the storage figure between units.
