رفتن به محتوا
سارویتوسعه‌دهندگان
مستندات/آمادهٔ انتشار

گزارش و خروجی مصرف

هر درخواست را از شناسه تا زمان، توکن و هزینه دنبال کنید.

گزارش هر درخواست

در کنسول، پروژه را انتخاب و «گزارش درخواست‌ها» را باز کنید. جستجو با شناسه، مسیر یا مدل انجام می‌شود. فیلتر کلید برای جدا کردن برنامه‌هاست. روی ردیف بزنید تا وضعیت، زمان اجرا، توکن‌ها و اعتبار را ببینید.

دریافت با API

GET /v1/requests/{id} اطلاعات یک درخواست همان پروژه را می‌دهد. GET /v1/usage مصرف ۳۰ روز اخیر را به تفکیک روز UTC برمی‌گرداند. مجموع روزانه شامل requests، errors، input_tokens، output_tokens و credits است. توکن‌های گزارش‌شده برای مسیرهایی است که سرویس اطلاعات توکن برمی‌گرداند؛ تصویر و ویدیو را با تعداد توکن متنی اندازه نگیرید.

رزرو باز

pending نشان می‌دهد حداقل یک رزرو این درخواست هنوز باز است. مقدار credits در این حالت می‌تواند موقت باشد. گزارش Work و ویدیو پس از تسویه به‌روزرسانی می‌شود، بنابراین گزارش اولیه را صورت‌حساب نهایی فرض نکنید.

خروجی CSV

دکمهٔ خروجی CSV ردیف‌های بارگذاری‌شده را دانلود می‌کند. برای بازهٔ کامل‌تر، ردیف‌های قدیمی‌تر را هم بارگذاری کنید. فایل UTF-8 است و شناسه، مسیر، مدل، وضعیت، اعتبار و زمان را دارد. دادهٔ خروجی به شکل متن امن برای برنامه‌های صفحه‌گسترده نوشته می‌شود.

چه چیزی ثبت نمی‌شود؟

متن ورودی و خروجی به‌صورت پیش‌فرض در گزارش ثبت نمی‌شود. کلید API کامل، هدر Authorization و تنظیمات محرمانهٔ provider در گزارش کاربر وجود ندارند. ثبت اختیاری متن تنها در تنظیمات پروژه فعال می‌شود و محدودیت زمان و اندازه دارد.

هزینه و سقف‌ها

گزارش مصرف، اعتبار تسویه‌شده و رزرو موقت را جدا نشان می‌دهد. فیلتر بازه و کلید روی مصرف اعمال می‌شود؛ سقف پروژه همیشه همهٔ کلیدها و ماه UTC جاری را پوشش می‌دهد. فهرست رزرو باز شامل موارد قدیمی‌تر از بازهٔ انتخابی هم هست. تعداد خطاهای موجودی یا سقف، تعداد تلاش است و ممکن است تلاش تکراری یک کاربر را هم شامل شود.

Python
import json, os, urllib.request, urllib.error

request = urllib.request.Request(
    "https://api.sarovi.site/v1/usage",
    headers={
        "Authorization": "Bearer " + os.environ["SAROVI_API_KEY"],
        "Content-Type": "application/json"
    },
    method="GET"
)
try:
    with urllib.request.urlopen(request, timeout=300) as response:
        result = json.load(response)
        print(result)
except urllib.error.HTTPError as error:
    detail = json.load(error)
    raise RuntimeError(f"{error.code}: {detail['error'].get('code', detail['error'].get('type', 'HTTP_ERROR'))}") from error

کلید را در متغیر محیطی SAROVI_API_KEY قرار بده. بدون نصب کتابخانه؛ با Python استاندارد.

قرارداد API 1.6.0 · تاریخچهٔ تغییرات