peepshow/ models/ reka

Reel #M-13 Reka Core / Flash / Edge

peepshow for models / reka

Reka CoreReka ingests video, audio, and image in one call. peepshow caps cost on long footage and slots in animated formats.

Reka Core / Flash / Edge-2603 accept video, audio, and image inputs natively in a single multimodal call — short clips arrive without preprocessing. peepshow doesn't replace that; it sits in front. Cap token cost on long video, normalise animated GIF / APNG / WebP, and keep an auditable frame trail that feeds Reka and every other model from the same bundle.

Reka already reads video. Why peepshow?

Reka accepts video natively. peepshow is not a competing video understanding stack — it's a control plane that sits in front of native video to handle the cases native upload doesn't.

  • Cost ceiling on long clips. Reka's native video bills per-second. peepshow extracts N scene-change frames so a 1-hour CCTV reel costs predictably instead of scaling linearly with seconds.
  • Animated GIF / APNG / WebP. Reka's video path expects container formats. peepshow flattens animated images into a clean frame sequence.
  • Audit trail. Reka's native sampling is opaque. peepshow gives you the exact frames the model saw — replayable, diffable, cacheable.
  • Audio transcript stays cheap. whisper.cpp on PATH → plain text transcript. Cheaper than feeding the raw audio for dialogue-heavy content.
  • Cross-model portability. Same peepshow bundle feeds Reka + Gemini + Claude + GPT. Extract once, run anywhere.
  • Sinks. Reka won't push frames to Notion / Slack / S3 / SQL. peepshow does — same run, 95 destinations.

Token-cost math (worked examples)

ClipNative uploadpeepshow + Reka
30s product demo~6K tokens~5K (6 frames + 200-word transcript)
10-minute lecture~120K tokens~12K (20 scene frames + transcript)
1-hour CCTV reel~720K tokens~22K (30 motion frames + sparse transcript)
3-hour conference recording~2.2M tokens (over context limit on Flash / Edge)~45K (60 scene frames + transcript chapters)

Reka publishes per-second video pricing across Core / Flash / Edge. Numbers above are approximate against the current Core tier — Flash and Edge are cheaper but with smaller context.

Install (CLI)

npm install -g peepshow

# Set Reka credentials:
export REKA_API_KEY=...

# Extract — peepshow's manifest still works alongside Reka's native video:
peepshow ./demo.mp4 --emit json > run.json

Install (Reka API directly, no CLI)

Calling the Reka API from your own code? Run peepshow first, then feed the JSON manifest in as multimodal parts:

# Hand frames + transcript to Reka (OpenAI-compatible chat endpoint)
node -e '
  import OpenAI from "openai";
  import { readFileSync } from "node:fs";
  const run = JSON.parse(readFileSync("run.json", "utf8"));
  const content = [
    { type: "text", text: "Summarise this clip." },
    ...run.frames.map(f => ({
      type: "image_url",
      image_url: { url: "data:image/jpeg;base64," + readFileSync(f.path).toString("base64") }
    })),
    { type: "text", text: "Transcript:\n" + (run.transcript?.text ?? "") }
  ];
  const client = new OpenAI({
    apiKey: process.env.REKA_API_KEY,
    baseURL: "https://api.reka.ai/v1",
  });
  const r = await client.chat.completions.create({
    model: "reka-core",
    messages: [{ role: "user", content }]
  });
  console.log(r.choices[0].message.content);
'

Animated GIF / APNG / WebP — peepshow's killer move on Reka

Reka's native video path expects video containers. Animated PNG, animated WebP, and most GIFs come back as still images — motion lost. peepshow probes the source, treats it as a frame sequence, and emits ordinary JPEGs Reka will gladly read alongside its native modalities.

peepshow ./meme.gif         # animated GIF → frame timeline
peepshow ./tutorial.apng    # animated PNG → frames
peepshow ./loop.webp        # animated WebP → frames

Frame strategy presets

peepshow picks scene-change frames by default. For Reka specifically, these presets are worth knowing:

  • --strategy scene --max 20Default — good balance for narrative clips that exceed Reka's native short-clip sweet spot.
  • --strategy fps --fps 1 --max 60Match Reka's internal video sampler cadence for comparison runs.
  • --strategy scene --max 12 --dedup perceptualLong static footage (CCTV / timelapse). Drops near-duplicates before Reka pays for them.

All 95 sinks still fire

Same CLI = same sinks. Push frames to SQLite, embed captions into Chroma, mirror to S3, drop a thumbnail in Slack, file a GitHub issue with the offending frame attached — all from one Reka run. Browse the full sink catalogue →.

Report + LLM analysis loop

Every run also writes a self-contained report.html + manifest.json next to the frames (see the Report page). When Reka consumes the frames, the analysis flows back into the report — whoever opens it next sees the model's understanding without re-running the prompt.

echo '{"summary":"<Reka's summary>","provider":"reka-core"}' \
  | peepshow report annotate "<outputDir>"

When to skip peepshow + use Reka direct

  • Clip is under 60s and you want full native motion + audio fidelity (lip-sync, sport, music).
  • One-shot prototype — token cost doesn't matter, and you don't need the audit trail.
  • No need to fan out to other models or sinks — Reka's native path is fine on its own.

Native video is excellent for those cases. peepshow earns its place when any of: long, animated format, cost-bounded, auditable, multi-model, local-first, fan out to other systems.