Guides

    best_rank_overall is a min of category boards, not a global scale

    Kling 2.5 Turbo reporting rank 9 means 9th on image-to-video while 23rd on text-to-video; five models can hold 'rank 3' at once.

    Versely Team6 min read

    Kling 2.5 Turbo reporting rank 9 means 9th on image-to-video while 23rd on text-to-video; five models can hold “rank 3” at once.

    best_rank_overall is not a single scale spanning content types. It is the best (lowest) position the model holds on any of its category leaderboards: min(best_rank_by_category). Kling 2.5 Turbo carries {text-to-video: 23, image-to-video: 9} and reports 9. A page that prints “#9 overall” next to another model’s “#9 overall” and calls it one ranking is stating something the data does not support. /best prints the number with the board that earned it.

    The number is a min()

    Every ranked catalog row has best_rank_by_category: a map of arena name to position. best_rank_overall is the minimum of those values. best_score_overall is the Elo on the board that produced that minimum, not a blended score.

    That has three consequences people skip:

    1. A better overall rank can be a worse rank on the job you are running. Kling’s 9 is an image-to-video 9. Its text-to-video rank is 23. Sorting “best video model” on overall rank promotes the image-to-video result into a text-to-video shortlist.
    2. Two models with the same overall rank are not tied. They can sit on different boards. Rank 3 on text-to-image is not rank 3 on text-to-video.
    3. Elo is only comparable within the board that produced it. Reading the quality-per-credit report is the same rule from the other side of the catalog: pick the arena first.

    The honest print is rankLabel: “#9 in image-to-video”, never a bare “#9 overall.” Category pages that mean image-to-video should rank on that category’s own column, not on the cross-category minimum.

    Credits are a separate comparable. jobFloorCredits() is the fewest credits one complete generation can cost. Rank is not a price. Do not sort a mixed catalog on display_price and do not sort it on a bare overall rank as if those were the same axis.

    Kling 2.5 Turbo is the worked example

    The row is a text-to-video product: categories: ["text-to-video"], requires_image: false, 5s or 10s, 1080p, 21 credits for the first five seconds. The Artificial Analysis matches on the record are both named “Kling 2.5 Turbo 1080p”:

    • text-to-video: rank 23, Elo 1198
    • image-to-video: rank 9, Elo 1287

    best_rank_overall is 9. best_score_overall is 1287 — the image-to-video Elo. The card that says “rank 9” is reporting the image-to-video board even though the SKU you open is the text-to-video row.

    If the job is “type a prompt, get a clip,” you want best text-to-video model, where this row is 23rd on that arena, not 9th. If the job is “animate this still,” you want best image-to-video model, where 9 is the number that was actually earned. Using the overall 9 for both questions is how a min() becomes a lie.

    The family name does not fix it. Other Kling rows have their own maps. Do not copy 9 onto a Pro image-to-video SKU, and do not treat 23 as “Kling is mediocre” when the 9 is sitting on the other board.

    Five models can hold rank 3 at once

    Because each number lives on its own leaderboard, several models can all print “rank 3” in the same catalog snapshot. They are not tied for third on one list. They are third on their list. The /best methodology note is explicit: five models across video, image, and audio can hold rank 3 simultaneously.

    In the current published set that is easy to see without inventing a global podium. Nano Banana 2 is 3rd on text-to-image (and 6th on edit-image, so overall 3). Happy Horse 1.0 Text to Video is 3rd on text-to-video. Seedance 2.0 is 3rd on image-to-video (and 4th on text-to-video, so overall 3). Three different arenas. Three different “#3”s. An audio model can hold 3 on text-to-audio at the same time and the integer still would not mean “third best model on Versely.” If you sort a mixed table on best_rank_overall and read the first three rows as a podium, you have mixed those boards into one sentence.

    The quality-per-credit report keeps the arenas separate for this reason. “Best video model” is not a question that report answers. Neither is a bare overall rank.

    How /best prints the board

    /best is a filter plus a disclosed sort over the published model set — the rows that have a /models/{slug} page — not an editorial favourite. Each query states its criterion on the page. Ranked video and image tables that sort on quality use the best leaderboard position the model holds, with unranked models after and cheapest complete job as the tiebreak. The spec column is supposed to show rankLabel, which includes the board.

    Read it in this order: name the job as a category; read the rank with the board (“#9 in image-to-video” is a complete sentence, “#9” is not); open the model page for durations, aspects, and whether a still is required; use job floor credits when the question is price. Kling 2.5 Turbo’s 9 does not make it an image-required row — the SKU still generates from text. The rank map is not the input schema.

    When a launch moves a board, the min() moves with it. A model can keep its text-to-video 23 and lose the overall 9 because something else took image-to-video 8. That is not a quality collapse. Compare two positions on the same category column. That is the whole correction this field exists to make.

    FAQ

    Does rank 9 mean Kling 2.5 Turbo is the ninth-best model on Versely?

    No. It means 9th on the image-to-video leaderboard. The same row is 23rd on text-to-video. best_rank_overall is the min of those, not a global scale.

    Why can five models all be “rank 3”?

    Each 3 is a position on a different category board. Image, video, and audio arenas do not share a podium. Printing five “#3 overall” labels is what the min() field used to invite, and it is why the label now includes the board.

    Should I sort my own shortlist on best_rank_overall?

    Only after you have filtered to one category, and even then prefer that category’s own rank column. Across content types the integer is not comparable. Across billing types, sort on complete-job credits, not on rank.

    Where is the live table?

    /best for the query catalog. Best image-to-video and best text-to-video for the two boards in the Kling example. The model page for the breakdown. The quality-per-credit report if you want Elo against credits per job, still per arena.