Inspiration
Research teams often produce valuable findings that are difficult to communicate beyond academic reports, technical dashboards or lengthy PDF documents. Turning those findings into clear public-facing media can take considerable time, and the process often weakens traceability between the original evidence and the final message.
EvidenceCast AI was inspired by a simple question:
How can research evidence be transformed into engaging media without losing human oversight, source traceability or confidence in what is being communicated?
We wanted to create a workflow in which evidence is not simply passed to a generative model and turned into attractive content. Instead, every claim should first be reviewed, approved and linked to its original source before it becomes part of a storyboard, narration, infographic or video.
The project was also inspired by the need for better communication tools in public-interest fields such as health, climate resilience, education and community development, where misleading summaries or invented statistics can cause real harm.
What it does
EvidenceCast AI converts approved research evidence into traceable media assets.
A user begins with a report or structured source document. The system extracts relevant findings and converts them into evidence cards. Each card contains a supported claim, the source excerpt and a stable identifier.
A human reviewer can then:
- approve the evidence card;
- edit it for clarity;
- reject it; or
- leave it pending for further review.
Only approved evidence cards can continue into the media workflow.
EvidenceCast AI then produces:
- a structured three-scene storyboard;
- editable narration segments;
- scene-level media-generation requests;
- subtitles in SRT and WebVTT formats;
- a thumbnail;
- an infographic;
- a captioned MP4 video;
- evaluation records; and
- provenance manifests linking the final assets back to the source evidence.
The project also supports scene-level regeneration. When one scene needs improvement, it can be regenerated without replacing the entire delivery. The new output retains explicit parent-child lineage, making it possible to see which asset was replaced and why.
For reliable judging, the public application includes three synthetic fixtures:
- community acceptance of biolarviciding;
- climate financing and smallholder farmers; and
- teacher attendance supervision.
These fixtures contain no personal data and allow the complete approved workflow to be demonstrated without requiring paid provider credentials.
How we built it
EvidenceCast AI was built as a modular Python application with a Streamlit frontend and a FastAPI backend.
The main workflow is:
Source document
↓
Evidence extraction
↓
Human-reviewed evidence cards
↓
Approved-only storyboard
↓
Reviewed narration
↓
Scene-level media generation
↓
Subtitles, infographic and video assembly
↓
Evaluation, verification and provenance
↓
Backblaze B2 storage
We used Genblaze as the media-orchestration layer. Generation is handled at scene level rather than as one large request. This design makes failures easier to diagnose, allows individual scenes to be regenerated and creates a clearer audit trail.
We implemented integrations for several image and speech providers, including GMI Cloud, OpenAI-compatible image generation and NVIDIA-hosted services. Provider requests, results and failures are persisted rather than hidden.
Backblaze B2 acts as the durable workflow ledger. It stores:
- original source files;
- extracted text;
- evidence-card reviews;
- storyboards;
- narration reviews;
- generation requests;
- progress events;
- provider responses;
- controlled failure records;
- asset hashes;
- provenance manifests;
- subtitles;
- thumbnails;
- infographics; and
- final media deliveries.
Each source is identified using a SHA-256 hash. This allows later artefacts to remain linked to the exact source package from which they were created.
The public application is deployed on Render using two services:
Streamlit frontend
↓ public HTTPS
FastAPI backend
↓
Backblaze B2
FFmpeg is used for video assembly, subtitle composition and final media export.
Challenges we ran into
One of the largest challenges was preserving traceability across the whole workflow. It was not enough to create an attractive video. We needed to retain a clear connection between the original report, the approved claim, the storyboard scene, the narration segment and the final media asset.
A second challenge was designing human approval as a genuine control rather than a cosmetic step. EvidenceCast therefore prevents pending or rejected evidence from entering the media-generation pipeline.
Provider availability was another major challenge. During live validation:
- GMI Cloud reached an insufficient-credit boundary;
- the selected NVIDIA image model was unavailable in the hosted catalogue;
- the NVIDIA Magpie speech endpoint returned a gateway timeout; and
- a later voice-list request timed out.
Instead of presenting these attempts as successful generations, EvidenceCast stored the request details and failure records in Backblaze B2.
We also faced infrastructure limitations. The Render Free service has limited memory and is suitable for demonstrating the workflow, restoring approved records and viewing outputs, but it is not reliable for heavy FFmpeg assembly. A public media-generation attempt caused the container to exit with status 137, which was consistent with the process being terminated under resource pressure.
We therefore separated lightweight public demonstration from resource-intensive media assembly. The reviewed validation delivery was produced using deterministic Pillow images and eSpeak narration and is explicitly marked:
provider_generated: false
This prevents a locally produced validation asset from being misrepresented as a successful provider-generated result.
Another challenge was maintaining session continuity in Streamlit. A session restart could remove the in-memory storyboard or narration state. We addressed this by allowing approved storyboards and narration-review packages to be restored directly from Backblaze B2.
Accomplishments that we're proud of
We are proud that EvidenceCast AI treats provenance as part of the product rather than as an optional technical note.
The project successfully demonstrates:
- human approval before media generation;
- approved-only storyboard construction;
- reviewed narration;
- scene-level generation and regeneration;
- explicit parent-child lineage;
- SHA-256 asset verification;
- provenance-manifest validation;
- durable restoration from Backblaze B2;
- transparent recording of provider failures;
- three complete synthetic judge fixtures;
- a public Streamlit application;
- a public FastAPI service; and
- a complete captioned demonstration video.
We are particularly proud that the system does not hide unsuccessful provider calls or label fallback outputs as something they are not. The local reviewed delivery remains clearly identified as a non-provider-generated validation asset.
The public deployment also passed the project smoke checks for:
PASS fixture: biolarviciding-community-acceptance
PASS fixture: climate-finance-smallholders
PASS fixture: teacher-attendance-supervision
PASS frontend health
PASS backend health
PASS backend readiness
PASS all three sample reports
What we learned
We learned that trustworthy generative media requires more than model access.
The hardest part is not generating an image or narration. The harder task is deciding which claims are allowed to enter the workflow, preserving the evidence behind them and making every transformation inspectable.
We also learned that failures can be valuable project outputs. A provider timeout, unavailable model or insufficient-credit response should not simply disappear. When retained with its request, timestamp and workflow context, it becomes part of the system’s operational evidence.
Another important lesson was that provenance must be designed from the beginning. Adding traceability after media has already been generated is much harder than assigning stable identifiers and storage paths throughout the workflow.
We also learned to separate public demonstration requirements from compute-intensive processing. Lightweight hosted services are well suited to evidence review, record restoration and workflow inspection, while video assembly may require local processing or a higher-memory deployment.
Finally, we learned that human review and automation do not compete with each other. Human approval can make generative workflows more reliable, more explainable and safer for public communication.
What's next for EvidenceCast AI
The next stage is to strengthen EvidenceCast AI as a practical research-communication platform.
Planned improvements include:
- support for additional report formats and structured datasets;
- better PDF table and figure extraction;
- multilingual evidence cards and narration;
- stronger citation display inside generated media;
- collaborative reviewer roles;
- side-by-side comparison of regenerated scenes;
- automated accessibility checks;
- speaker and pronunciation controls;
- configurable organisation-level approval policies;
- richer delivery analytics;
- more efficient cloud-based media assembly; and
- integration with institutional research repositories.
We also plan to add stronger evaluation tools for detecting unsupported claims, missing citations, visual-text inconsistency and narration that goes beyond the approved evidence.
The long-term goal is for EvidenceCast AI to become a trusted bridge between research and public understanding: helping organisations communicate faster while ensuring that every visual, spoken statement and media asset remains connected to reviewed evidence.
Log in or sign up for Devpost to join the conversation.