---
title: "Browser window · חלון דפדפן — estimate"
method: POST
path: "/v1/effects/browser-window/estimate"
tags: ["Effects · Overlays & graphics"]
---

# Browser window · חלון דפדפן — estimate

`POST /v1/effects/browser-window/estimate`

## Request

- Base URL: `https://apihub.co.il`
- URL: `https://apihub.co.il/v1/effects/browser-window/estimate`
- Auth: HTTP bearer

Price the request without executing it. Same body as `POST /v1/effects/browser-window`.

## Request body

- object
  - `at` object: Start at a word (instead of a time)
    - `edge` 'start' | 'end', required: The moment the word starts, or the moment it ends
    - `word` string, required: The word's id (w0001…)
    - `offset_ms` number: Shift in ms, applied after the cuts (default 0)
  - `keep` object[]: Keep only these spans of the video (seconds) — every join between them is a cut a transition plays on
    - `end` number, required
    - `start` number, required
  - `trim` object: Use only this part of the video (seconds)
    - `end` number
    - `start` number
  - `start` number: seconds on the output — when it starts (default: the effect's own)
  - `words` object[]: Your own timed words (ms) instead of a transcript
    - `id` string
    - `end` number, required
    - `text` string, required
    - `start` number, required
  - `during` object: Start and end with a stretch of words (instead of a time and a duration)
    - `to` string, required: Id of the last word
    - `from` string, required: Id of the first word
    - `pad_end_ms` number: End this much later (default 0)
    - `pad_start_ms` number: Start this much earlier (default 0)
  - `output` object
    - `fit` 'crop' | 'blur' | 'pad': When the aspect ratio changes: crop the edges, blurred copy behind, or solid bars
    - `fps` number
    - `format` 'mp4' | 'webm' | 'mov' | 'gif' | 'mp3' | 'wav' | 'm4a' | 'jpg' | 'png'
    - `quality` 'draft' | 'standard' | 'high': high (default) = best picture; draft renders fastest for previews
    - `background` string: Bar colour for fit=pad
    - `resolution` '480' | '720' | '1080' | 'source': Short side in pixels (1080 = Full HD). `source` keeps the input size, max 1080
    - `aspect_ratio` 'original' | '9:16' | '16:9' | '1:1' | '4:5' | '4:3': 9:16 for Reels/TikTok/Shorts, 1:1 or 4:5 for feed, 16:9 for YouTube
  - `params` object: The effect's own settings (every field has a default)
    - `url` string, uri: The page's screenshot (PNG / JPG) — a full-page capture scrolls; the picture is fitted to the window's width
    - `rect` object: The window on the frame (its top-left corner and size, %) — the top panel by default, the speaker below
      - `x` number, required: % of the width, from the left
      - `y` number, required: % of the height, from the top
      - `width` number, required: % of the width
      - `height` number, required: % of the height
    - `theme` 'dark' | 'light': The window's look
    - `zoom_x` number: The region: 0 left … 1 right
    - `zoom_y` number: The region: 0 top … 1 bottom of the window
    - `address` string: The address typed into the bar ("" = none, the page just loads)
    - `load_ms` integer: The page's fade-in, ms
    - `zoom_ms` integer: How long the zoom takes, ms
    - `zoom_to` number: Zoom into a region of the page to this size at the end (1 = no zoom)
    - `type_cps` number: Typing speed, letters per second
    - `scroll_ms` integer: How long the scroll takes, ms
    - `scroll_to` number: Scroll down to this point of the page (0 = the top, 1 = the bottom); 0 = no scroll
    - `spinner_ms` integer: The spinner turns this long before the page is in, ms
    - `zoom_at_ms` integer, nullable: When the zoom starts, ms from the effect's start (null = just after the scroll)
    - `scroll_blur` boolean: Smear the page while it scrolls (a fast whip)
    - `scroll_ease` 'in-out' | 'out' | 'linear': The scroll's ease
    - `scroll_delay_ms` integer: The scroll starts this long after the page is in, ms
  - `duration` number: seconds — how long it lasts
  - `image_url` string, uri: The photo (JPG / PNG) — same as params.url
  - `video_url` string, uri: The video to put it on — leave out for the plain canvas
  - `language_code` string: Spoken language for the automatic transcript, e.g. he, en
  - `transcript_id` string: Reuse a transcript (captions effects)

## Response `200`

Estimate

- Estimate
  - `operation` string
  - `estimated_credits` number
  - `credits_to_reserve` number
  - `estimated_usage` object
  - `note` string, nullable
  - `balance` object
    - `available` number
  - `sufficient` boolean

---

[API](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai.md) · [All operations](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/revisions/a8caa42835ce?raw)
