Get the report & PDF¶
For a complete job, print the verdict, the score, a one-line summary and the result of each quality area, then save the PDF report. The PDF is the document you'd share with a colleague or customer.
get_report.py
# get_report.py - fetch the report and save the PDF
# usage: python get_report.py <job id>
import os
import sys
from centific import PhysicalAI
client = PhysicalAI(
api_key = os.environ["CENTIFIC_API_KEY"],
base_url = "https://humanoidiq-dev.centific.com",
)
job = client.qc.get(sys.argv[1])
if job.status != "complete":
sys.exit(f"Not ready - the job is '{job.status}'. Reports exist once it is 'complete'.")
report = job.report()
print("verdict :", report.verdict) # PASS or FAIL
print("score :", report.score) # out of 100
print("summary :", report.headline)
for area in report.areas:
if area["assessed"]:
print(f" {area['label']:<16} {area['fail']} failed")
pdf = job.save_pdf(f"{job.id}.pdf")
print("PDF saved:", pdf)
How to use it¶
The PDF is saved in the folder you ran it from, named after the job id.
Sample output¶
Illustrative: the summary, score and areas depend on your data.
Everything in the report¶
Each field is available as report.<field>:
| Field | Meaning |
|---|---|
verdict |
PASS or FAIL (the same outcome the job shows as VERIFIED / REJECTED) |
score |
0–100 |
projected |
What the score would be if you applied the suggested fixes |
headline |
A one-sentence summary |
checks |
How many checks ran and passed |
areas |
Each quality area (video quality, framing, tracking, movement, task completion) with its checks and fail count |
fix |
What to change, most important first (empty if nothing needs fixing) |
specs |
What we measured about the video: duration, frame rate, codec, size |
summary / episodes |
For multi-episode zips: the totals, and one row per episode |
expires_at |
When the report is deleted (30 days after it was produced) |
See everything at once
Add print(report.to_dict()) to the script.
Save your PDF within 30 days
After that the report is deleted. The job still shows complete, but the report
can no longer be fetched.