TECHNICAL SPECIFICATION

API REFERENCE SPEC

Base URL: https://framecall.site. Accepts multipart/form-data for uploads and application/json for text iterations. Output is guaranteed valid JSON.

POST /ask AUTH: X-API-KEY Send a video with custom prompt instructions; get back exact result.

MULTIPART/FORM-DATA PARAMETERS

prompt · string — Required. The prompt instruction defining your exact transcript, summary, or JSON schema.
file · file — Optional. Video (mp4, webm, mov), image (png, jpg), or PDF document. Up to 8 auxiliary files per ask.
provider · string — "aistudio" (default), "wrapper", or "gemini". All three share the same queue, caps and error codes; only the transport differs. Omit it and the operator's default is used.
model · string — Pin target model. Default: gemini-3.8-flash.
timeoutMs · number — Allowed execution budget in milliseconds (default: 180000, max: 600000).
progressId · string — Optional client tracking token to poll live steps via GET /progress/:id.
temporary · boolean — Default true. Forces isolated throwaway session with zero server retention.

RESPONSE (200 OK)

{
  "ok": true,
  "reply": "00:00.120 Speaker 1: Complete data privacy...\n00:04.300 Speaker 2: Instant JSON output.",
  "provider": "aistudio",
  "callId": "call-a4f91b-…"
}
GET /progress/:id AUTH: X-API-KEY / SESSION Poll real-time timeline steps for an in-flight prompt request.

RESPONSE (200 OK)

{
  "ok": true,
  "steps": [
    { "name": "browser:starting", "ms": 14 },
    { "name": "composer:typing", "ms": 120 },
    { "name": "generation:running", "ms": 10420 },
    { "name": "request:completed", "ms": 12480 }
  ]
}
POST /jobs AUTH: X-API-KEY Initialize a partitioned long-form video dubbing or transcription job.

JSON PARAMETERS

durationMs · number — Total video duration in milliseconds.
chunkMs · number — Target slice duration (e.g. 180000 for 3 min chunks).
overlapMs · number — Boundary overlap (e.g. 15000 for 15s continuity).
GET /health PUBLIC System liveness check, browser daemon status, and queue telemetry.
{
  "ok": true,
  "status": "ready",
  "defaultProvider": "aistudio",
  "chrome": "running",
  "browsers": [ 9223, 9222 ],
  "idle": false
}
ERR ERROR SPECIFICATION & RECOVERY STANDARD Deterministic machine-readable failure codes and retry strategies.
ERROR CODE HTTP RETRYABLE DESCRIPTION
QUEUE_FULL 429 true Server busy; concurrent pipeline processing queue depth limit reached.
QUOTA_EXCEEDED 429 false Account or invitation token request limit cap has been exhausted.
CLIENT_GONE 499 false Caller closed HTTP socket connection before prompt execution completed.
CHUNK_OFFSET_OUT_OF_RANGE 400 false Multipart job chunk timing offset falls outside valid duration boundaries.