Skip to content

Rework demo READMEs and web pages: why each provider, one shared look - #9

Merged
SamyMe merged 3 commits into
masterfrom
edenai-assistant/docs-ui-rework
Sep 29, 2026
Merged

SamyMe merged 3 commits into
masterfrom
edenai-assistant/docs-ui-rework

Conversation

@SamyMe

@SamyMe SamyMe commented Sep 29, 2026

Copy link
Copy Markdown
Member

Summary

This builds on #8 (news-to-video). Merge #8 first; this PR's diff will then show only the rework commit.

READMEs

  • Structure: all three demo READMEs now open the same way: pitch, flow, At a glance (providers, time and cost per run, how it runs, endpoints), then Why these providers.
  • Why these providers: a table giving each provider's role in that demo and why it's a great fit. The reasons are backed by numbers we measured with real calls, and vendor claims are attributed.
    • Tavily: a search API built for AI agents that returns cleaned, ranked page content. About 1 s and $0.008 per search. In Upstream Watch it surfaced real CVEs.
    • Nebius: open-weight models (Qwen3-235B, gpt-oss-120b) on Token Factory, with reliable tool calling and strict JSON output, for under $0.001 per call.
    • Gradium: the voice specialist from the Kyutai research lab team, EU-hosted on Eden AI. Accurate transcription of browser recordings and a natural voice. Its reported Coval latency results are attributed and clearly separated from the non-streaming path this demo uses.
    • Pruna: fast video. A 5 s vertical clip with sound for $0.10, rendered in parallel. Its Design Arena ranking is attributed to Pruna.
  • Root README: a new Providers in this cookbook table.
  • Voice article: a "Why Gradium, Tavily and Nebius" section.
  • Stale details fixed: timings, the output folder naming, the article's vendor count, and how the voice demo now serves audio.

Web pages

  • One shared look for both demos:
    • an Eden AI Cookbook header;
    • provider chips showing each provider's role;
    • a live pipeline strip whose stages light up with their provider and time;
    • a footer on the one-key, one-bill setup.
  • Voice: the pipeline labels follow the dropdowns, so choosing Linkup renames the Search stage. A failing stage is marked, and malformed source URLs can't break rendering.
  • News: the step checklist becomes the same pipeline strip, and the failing stage is marked.

Upstream Watch has no web page: it runs as a GitHub Action, so its README is the only change there.

Testing

Tested in Chrome against the mock and fake Eden AI backends, so no billed calls:

  • Voice page: typed flow through all four stages, live label swaps, and the text-to-speech failure path, where the answer stays on screen and Speak is marked failed.
  • News page: all five stages, the three clip slots, the final video and the cost table.
  • Playback verified in a foreground tab, which earlier runs couldn't check:
    • the news clips and the final video play;
    • the voice answer plays: a real Gradium streaming WAV, repaired by the backend, with duration 10.56 s and the playhead advancing.

🤖 Generated with Claude Code

SamyMe and others added 3 commits September 29, 2026 07:19
A topic goes to a Tavily search. A Nebius LLM (gpt-oss-120b, falling
back to Qwen) writes a structured script: a headline, a narration of 34
words or fewer, and 3 shots. Pruna p-video renders the 3 clips in
parallel while Gradium reads the narration. ffmpeg crops them to
720x1280, adds captions and an "AI-generated" label, and lays the
narration over the clips' own audio at 20%. Everything goes through
Eden AI with one key; script.md records the sources, timing and cost.

Tested with a real key: 31 s end to end for $0.32 per video. The first
real run (64 s, captions overflowing, a 5 s frozen tail) led to the
gpt-oss default, caption auto-sizing and narration trimming.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- make_video() now runs the pipeline and reports each step as it
  finishes. The CLI prints the updates; the web app streams them.
- app.py: POST /api/run streams one JSON object per line, and /out/
  serves the clips and the final video. The page reads the stream with
  fetch, not EventSource, because EventSource reconnects when the
  stream ends and would silently start another billed run.
- static/index.html: topic box, step checklist and live timer, 3 clip
  slots that play as each Pruna clip lands, and the final 9:16 video
  with its sources and the time and cost of every call.
- Each clip is downloaded and announced as soon as it's ready. ffmpeg
  runs in a thread, and each run gets its own timestamped folder.

Tested with a real key through the web view (44 s, $0.32) and the CLI
(29 s, $0.32); streaming and validation were checked offline with fakes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
READMEs (all three demos, plus the root and the voice ARTICLE):
- "At a glance" (providers, time and cost per run, how it runs,
  endpoints) and "Why these providers": each provider's role in that
  demo, backed by our measured numbers, with vendor claims attributed.
- The root README gets a "Providers in this cookbook" table.
- Fix stale details: per-run timings, output folder naming, the vendor
  count in the article, and how the voice demo now serves audio.

Web pages (voice-web-research, news-to-video):
- One shared look: an Eden AI Cookbook header, provider chips, a live
  pipeline strip whose stages light up with their provider and time,
  and a footer explaining the one-key, one-bill setup.
- Voice: the pipeline labels follow the provider dropdowns, a failing
  stage is marked, and malformed source URLs no longer break rendering.
- News: the step checklist becomes the same pipeline strip, and the
  stage that fails is marked.

Tested in Chrome against the mock and fake backends: both flows, the
error paths, and audio and video playback, including a real Gradium
streaming WAV repaired by the backend.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@SamyMe
SamyMe merged commit 1de9f4e into master Sep 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant