@howells/motif-sdk 5.1.1 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/dist/image.js +247 -119
- package/dist/index.cjs +428 -251
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +428 -251
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,6 +32,22 @@ console.log(result.value.model, result.value.files[0]?.url, result.value.cost);
|
|
|
32
32
|
|
|
33
33
|
Every Task function returns `Result<TaskOutput, MotifError>` from `neverthrow` and does not throw for fal request failures; check `isErr()` / `isOk()`.
|
|
34
34
|
|
|
35
|
+
## Curated Models and Tiers
|
|
36
|
+
|
|
37
|
+
The Task client curates 21 generation Models, with separate rankings for generation and editing. `TASKS.generate` and `TASKS.vary` expose the current choices, Tiers and evidence in `basis` and `rankedAt`. A generation with `references` uses the editing ranking.
|
|
38
|
+
|
|
39
|
+
| Tier | Generation default | Editing default |
|
|
40
|
+
| -------------------- | ------------------ | ----------------- |
|
|
41
|
+
| `quality` | Sunburst at `max` | Sunburst at `max` |
|
|
42
|
+
| `balanced` (default) | Nano Banana 2.1 | Nano Banana 2.1 |
|
|
43
|
+
| `fast` | Nano Banana 2 Lite | Grok |
|
|
44
|
+
|
|
45
|
+
These are the first choices when the request's capabilities and available keys permit them. Explicit Models, Looks and pins take precedence. Selected specialists remain for typography, transparency, control and inexpensive drafts. Archived predecessors remain available through explicit Models, pins and existing Looks, including `flux2-dev` for streaming.
|
|
46
|
+
|
|
47
|
+
Nano Banana 2.1 (`banana21`) supports up to 14 References and 1K/2K/4K output, with no 0.5K output. Its balanced placement uses preliminary Arena evidence. Sunburst and Flare default to the benchmarked `max` quality on fal; `params: { quality: "high" }` with an explicit `model` overrides it. The direct provider image layer described below has its own adapter capabilities and chooses no Model.
|
|
48
|
+
|
|
49
|
+
Token-billed Task plans, including Sunburst, Flare, Nano Banana 2.1, Banana Lite and MAI 2.5, report `cost: { usd: null, basis: "unknown" }`; a published representative price is not an exact total. The [curation audit](https://github.com/howells/motif/blob/main/docs/research/image-model-curation-2026-10-07.md) records the current rankings, specialist roles and provider coverage gaps.
|
|
50
|
+
|
|
35
51
|
Pass `onProgress(status, queuePosition)` to hear fal's queue state while a run waits: `"queued"` with its place in line, then `"processing"`, then `"completed"` (or `"failed"`). Passing it sends the run through fal's queue, since only the queue reports state. Models without streaming report state, not a percentage.
|
|
36
52
|
|
|
37
53
|
Pass `onSubmitted(requestId)` to hear the request id the moment fal's queue accepts the run, before any wait. Keep it: after a restart, `motif.resume(task, input, requestId)` waits for that same job and returns its output, submitting nothing and so paying nothing twice. Passing `onSubmitted` also queues the run.
|
package/dist/image.js
CHANGED
|
@@ -51,7 +51,7 @@ function falHttpError(status, body, requestId) {
|
|
|
51
51
|
}
|
|
52
52
|
//#endregion
|
|
53
53
|
//#region src/models.ts
|
|
54
|
-
const AA_IMAGE_LEADERBOARD_SNAPSHOT = "2026-
|
|
54
|
+
const AA_IMAGE_LEADERBOARD_SNAPSHOT = "2026-10-07";
|
|
55
55
|
const AA_IMAGE_SOURCES = ["https://artificialanalysis.ai/image/leaderboard/text-to-image", "https://artificialanalysis.ai/image/leaderboard/editing"];
|
|
56
56
|
const FAL_PRICING_CHECKED_AT = "2026-05-12";
|
|
57
57
|
const FAL_PRICING_CHECKED_JUL_2026 = "2026-07-11";
|
|
@@ -59,6 +59,22 @@ const FAL_PRICING_CHECKED_AUG_2026 = "2026-08-23";
|
|
|
59
59
|
const FAL_PRICING_CHECKED_SEP_2026 = "2026-09-16";
|
|
60
60
|
const MODELS = {
|
|
61
61
|
flare: {
|
|
62
|
+
benchmark: {
|
|
63
|
+
artificialAnalysis: {
|
|
64
|
+
editing: {
|
|
65
|
+
elo: 1163,
|
|
66
|
+
rank: 2
|
|
67
|
+
},
|
|
68
|
+
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
69
|
+
sourceUrls: AA_IMAGE_SOURCES,
|
|
70
|
+
textToImage: {
|
|
71
|
+
elo: 1191,
|
|
72
|
+
rank: 2
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
useCase: "Frontier generation and editing, evaluated at max quality"
|
|
76
|
+
},
|
|
77
|
+
defaultQuality: "max",
|
|
62
78
|
customImageSize: {
|
|
63
79
|
maxEdge: 3840,
|
|
64
80
|
maxPixels: 8294400,
|
|
@@ -95,6 +111,22 @@ const MODELS = {
|
|
|
95
111
|
useQueue: true
|
|
96
112
|
},
|
|
97
113
|
sunburst: {
|
|
114
|
+
benchmark: {
|
|
115
|
+
artificialAnalysis: {
|
|
116
|
+
editing: {
|
|
117
|
+
elo: 1183,
|
|
118
|
+
rank: 1
|
|
119
|
+
},
|
|
120
|
+
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
121
|
+
sourceUrls: AA_IMAGE_SOURCES,
|
|
122
|
+
textToImage: {
|
|
123
|
+
elo: 1198,
|
|
124
|
+
rank: 1
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
useCase: "Frontier generation and editing, evaluated at max quality"
|
|
128
|
+
},
|
|
129
|
+
defaultQuality: "max",
|
|
98
130
|
customImageSize: {
|
|
99
131
|
maxEdge: 3840,
|
|
100
132
|
maxPixels: 8294400,
|
|
@@ -134,14 +166,14 @@ const MODELS = {
|
|
|
134
166
|
benchmark: {
|
|
135
167
|
artificialAnalysis: {
|
|
136
168
|
editing: {
|
|
137
|
-
elo:
|
|
138
|
-
rank:
|
|
169
|
+
elo: 1125,
|
|
170
|
+
rank: 5
|
|
139
171
|
},
|
|
140
172
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
141
173
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
142
174
|
textToImage: {
|
|
143
|
-
elo:
|
|
144
|
-
rank:
|
|
175
|
+
elo: 1172,
|
|
176
|
+
rank: 3
|
|
145
177
|
}
|
|
146
178
|
},
|
|
147
179
|
speed: {
|
|
@@ -154,7 +186,7 @@ const MODELS = {
|
|
|
154
186
|
quality: "frontier",
|
|
155
187
|
speed: "very_slow"
|
|
156
188
|
},
|
|
157
|
-
useCase: "
|
|
189
|
+
useCase: "Established frontier generation and transparent PNGs"
|
|
158
190
|
},
|
|
159
191
|
customImageSize: {
|
|
160
192
|
maxEdge: 3840,
|
|
@@ -205,14 +237,14 @@ const MODELS = {
|
|
|
205
237
|
benchmark: {
|
|
206
238
|
artificialAnalysis: {
|
|
207
239
|
editing: {
|
|
208
|
-
elo:
|
|
209
|
-
rank:
|
|
240
|
+
elo: 1103,
|
|
241
|
+
rank: 12
|
|
210
242
|
},
|
|
211
243
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
212
244
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
213
245
|
textToImage: {
|
|
214
|
-
elo:
|
|
215
|
-
rank:
|
|
246
|
+
elo: 1107,
|
|
247
|
+
rank: 8
|
|
216
248
|
}
|
|
217
249
|
},
|
|
218
250
|
speed: {
|
|
@@ -225,7 +257,7 @@ const MODELS = {
|
|
|
225
257
|
quality: "frontier",
|
|
226
258
|
speed: "slow"
|
|
227
259
|
},
|
|
228
|
-
useCase: "
|
|
260
|
+
useCase: "Established OpenAI editor with transparent PNG support"
|
|
229
261
|
},
|
|
230
262
|
editEndpoint: "fal-ai/gpt-image-1.5/edit",
|
|
231
263
|
endpoint: "fal-ai/gpt-image-1.5",
|
|
@@ -258,18 +290,103 @@ const MODELS = {
|
|
|
258
290
|
supportsSyncMode: true,
|
|
259
291
|
type: "generation"
|
|
260
292
|
},
|
|
261
|
-
|
|
293
|
+
banana21: {
|
|
294
|
+
benchmark: { useCase: "Efficient generation and reference editing; Arena #5 generation / #6 editing, preliminary 2026-10-06" },
|
|
295
|
+
editEndpoint: "google/nano-banana-2.1/edit",
|
|
296
|
+
endpoint: "google/nano-banana-2.1",
|
|
297
|
+
maxReferenceImages: 14,
|
|
298
|
+
name: "Nano Banana 2.1",
|
|
299
|
+
pricePerImageUsd: null,
|
|
300
|
+
pricing: "Token-based: input $1.764/M, text/thinking output $8.823/M, image output $35.294/M; ~ $0.040 / $0.059 / $0.134 at 1K / 2K / 4K plus variable usage",
|
|
301
|
+
sizeMode: "aspect_ratio",
|
|
302
|
+
supportedAspects: [
|
|
303
|
+
"auto",
|
|
304
|
+
"21:9",
|
|
305
|
+
"16:9",
|
|
306
|
+
"3:2",
|
|
307
|
+
"4:3",
|
|
308
|
+
"5:4",
|
|
309
|
+
"1:1",
|
|
310
|
+
"4:5",
|
|
311
|
+
"3:4",
|
|
312
|
+
"2:3",
|
|
313
|
+
"9:16",
|
|
314
|
+
"4:1",
|
|
315
|
+
"1:4",
|
|
316
|
+
"8:1",
|
|
317
|
+
"1:8"
|
|
318
|
+
],
|
|
319
|
+
supportedResolutions: [
|
|
320
|
+
"1K",
|
|
321
|
+
"2K",
|
|
322
|
+
"4K"
|
|
323
|
+
],
|
|
324
|
+
supportsAspect: true,
|
|
325
|
+
supportsEdit: true,
|
|
326
|
+
supportsLimitGenerations: true,
|
|
327
|
+
supportsNumImages: true,
|
|
328
|
+
supportsOutputFormat: true,
|
|
329
|
+
supportsResolution: true,
|
|
330
|
+
supportsSafetyTolerance: true,
|
|
331
|
+
supportsSeed: true,
|
|
332
|
+
supportsSyncMode: true,
|
|
333
|
+
supportsThinkingLevel: true,
|
|
334
|
+
supportsWebSearch: true,
|
|
335
|
+
type: "generation"
|
|
336
|
+
},
|
|
337
|
+
"mai-image-2.5": {
|
|
262
338
|
benchmark: {
|
|
263
339
|
artificialAnalysis: {
|
|
264
340
|
editing: {
|
|
265
|
-
elo:
|
|
341
|
+
elo: 1114,
|
|
266
342
|
rank: 7
|
|
267
343
|
},
|
|
268
344
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
269
345
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
270
346
|
textToImage: {
|
|
271
|
-
elo:
|
|
272
|
-
rank:
|
|
347
|
+
elo: 1104,
|
|
348
|
+
rank: 10
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
useCase: "Strong single-reference editing at a lower price than MAI 2.5 Pro"
|
|
352
|
+
},
|
|
353
|
+
editEndpoint: "microsoft/mai-image-2.5/edit",
|
|
354
|
+
endpoint: "microsoft/mai-image-2.5",
|
|
355
|
+
maxReferenceImages: 1,
|
|
356
|
+
name: "MAI Image 2.5",
|
|
357
|
+
pricePerImageUsd: null,
|
|
358
|
+
pricing: "Token-based: text input $5/M, image input $8/M; ~$0.05 image output plus input",
|
|
359
|
+
sizeMode: "aspect_ratio",
|
|
360
|
+
supportedAspects: [
|
|
361
|
+
"auto",
|
|
362
|
+
"1:1",
|
|
363
|
+
"4:3",
|
|
364
|
+
"3:4",
|
|
365
|
+
"16:9",
|
|
366
|
+
"9:16",
|
|
367
|
+
"3:2",
|
|
368
|
+
"2:3"
|
|
369
|
+
],
|
|
370
|
+
supportsAspect: true,
|
|
371
|
+
supportsEdit: true,
|
|
372
|
+
supportsNumImages: true,
|
|
373
|
+
supportsOutputFormat: true,
|
|
374
|
+
supportsResolution: false,
|
|
375
|
+
supportsSyncMode: true,
|
|
376
|
+
type: "generation"
|
|
377
|
+
},
|
|
378
|
+
banana2: {
|
|
379
|
+
benchmark: {
|
|
380
|
+
artificialAnalysis: {
|
|
381
|
+
editing: {
|
|
382
|
+
elo: 1110,
|
|
383
|
+
rank: 9
|
|
384
|
+
},
|
|
385
|
+
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
386
|
+
sourceUrls: AA_IMAGE_SOURCES,
|
|
387
|
+
textToImage: {
|
|
388
|
+
elo: 1126,
|
|
389
|
+
rank: 6
|
|
273
390
|
}
|
|
274
391
|
},
|
|
275
392
|
tiers: {
|
|
@@ -277,7 +394,7 @@ const MODELS = {
|
|
|
277
394
|
quality: "frontier",
|
|
278
395
|
speed: "unknown"
|
|
279
396
|
},
|
|
280
|
-
useCase: "
|
|
397
|
+
useCase: "Previous-generation Gemini workhorse; retains 0.5K output"
|
|
281
398
|
},
|
|
282
399
|
editEndpoint: "fal-ai/nano-banana-2/edit",
|
|
283
400
|
endpoint: "fal-ai/nano-banana-2",
|
|
@@ -313,14 +430,14 @@ const MODELS = {
|
|
|
313
430
|
benchmark: {
|
|
314
431
|
artificialAnalysis: {
|
|
315
432
|
editing: {
|
|
316
|
-
elo:
|
|
317
|
-
rank:
|
|
433
|
+
elo: 1101,
|
|
434
|
+
rank: 13
|
|
318
435
|
},
|
|
319
436
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
320
437
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
321
438
|
textToImage: {
|
|
322
|
-
elo:
|
|
323
|
-
rank:
|
|
439
|
+
elo: 1102,
|
|
440
|
+
rank: 11
|
|
324
441
|
}
|
|
325
442
|
},
|
|
326
443
|
speed: {
|
|
@@ -385,11 +502,15 @@ const MODELS = {
|
|
|
385
502
|
gemini: {
|
|
386
503
|
benchmark: { artificialAnalysis: {
|
|
387
504
|
editing: {
|
|
388
|
-
elo:
|
|
389
|
-
rank:
|
|
505
|
+
elo: 987,
|
|
506
|
+
rank: 50
|
|
390
507
|
},
|
|
391
508
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
392
|
-
sourceUrls: AA_IMAGE_SOURCES
|
|
509
|
+
sourceUrls: AA_IMAGE_SOURCES,
|
|
510
|
+
textToImage: {
|
|
511
|
+
elo: 985,
|
|
512
|
+
rank: 60
|
|
513
|
+
}
|
|
393
514
|
} },
|
|
394
515
|
editEndpoint: "fal-ai/gemini-25-flash-image/edit",
|
|
395
516
|
endpoint: "fal-ai/gemini-25-flash-image",
|
|
@@ -430,18 +551,6 @@ const MODELS = {
|
|
|
430
551
|
type: "generation"
|
|
431
552
|
},
|
|
432
553
|
gemini3: {
|
|
433
|
-
benchmark: { artificialAnalysis: {
|
|
434
|
-
editing: {
|
|
435
|
-
elo: 1245,
|
|
436
|
-
rank: 9
|
|
437
|
-
},
|
|
438
|
-
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
439
|
-
sourceUrls: AA_IMAGE_SOURCES,
|
|
440
|
-
textToImage: {
|
|
441
|
-
elo: 1297,
|
|
442
|
-
rank: 6
|
|
443
|
-
}
|
|
444
|
-
} },
|
|
445
554
|
editEndpoint: "fal-ai/gemini-3-pro-image-preview/edit",
|
|
446
555
|
endpoint: "fal-ai/gemini-3-pro-image-preview",
|
|
447
556
|
falPricing: {
|
|
@@ -491,14 +600,14 @@ const MODELS = {
|
|
|
491
600
|
benchmark: {
|
|
492
601
|
artificialAnalysis: {
|
|
493
602
|
editing: {
|
|
494
|
-
elo:
|
|
495
|
-
rank:
|
|
603
|
+
elo: 1015,
|
|
604
|
+
rank: 36
|
|
496
605
|
},
|
|
497
606
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
498
607
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
499
608
|
textToImage: {
|
|
500
|
-
elo:
|
|
501
|
-
rank:
|
|
609
|
+
elo: 1030,
|
|
610
|
+
rank: 21
|
|
502
611
|
}
|
|
503
612
|
},
|
|
504
613
|
speed: {
|
|
@@ -511,7 +620,7 @@ const MODELS = {
|
|
|
511
620
|
quality: "best",
|
|
512
621
|
speed: "balanced"
|
|
513
622
|
},
|
|
514
|
-
useCase: "
|
|
623
|
+
useCase: "Legacy budget generation and large multi-reference edits"
|
|
515
624
|
},
|
|
516
625
|
customImageSize: {
|
|
517
626
|
maxPixels: 16777216,
|
|
@@ -545,14 +654,14 @@ const MODELS = {
|
|
|
545
654
|
benchmark: {
|
|
546
655
|
artificialAnalysis: {
|
|
547
656
|
editing: {
|
|
548
|
-
elo:
|
|
549
|
-
rank:
|
|
657
|
+
elo: 1037,
|
|
658
|
+
rank: 32
|
|
550
659
|
},
|
|
551
660
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
552
661
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
553
662
|
textToImage: {
|
|
554
|
-
elo:
|
|
555
|
-
rank:
|
|
663
|
+
elo: 1022,
|
|
664
|
+
rank: 26
|
|
556
665
|
}
|
|
557
666
|
},
|
|
558
667
|
speed: {
|
|
@@ -598,14 +707,14 @@ const MODELS = {
|
|
|
598
707
|
seedream5: {
|
|
599
708
|
benchmark: { artificialAnalysis: {
|
|
600
709
|
editing: {
|
|
601
|
-
elo:
|
|
602
|
-
rank:
|
|
710
|
+
elo: 1108,
|
|
711
|
+
rank: 11
|
|
603
712
|
},
|
|
604
713
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
605
714
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
606
715
|
textToImage: {
|
|
607
|
-
elo:
|
|
608
|
-
rank:
|
|
716
|
+
elo: 1081,
|
|
717
|
+
rank: 15
|
|
609
718
|
}
|
|
610
719
|
} },
|
|
611
720
|
customImageSize: {
|
|
@@ -640,11 +749,15 @@ const MODELS = {
|
|
|
640
749
|
"seedream5-lite": {
|
|
641
750
|
benchmark: { artificialAnalysis: {
|
|
642
751
|
editing: {
|
|
643
|
-
elo:
|
|
644
|
-
rank:
|
|
752
|
+
elo: 1057,
|
|
753
|
+
rank: 24
|
|
645
754
|
},
|
|
646
755
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
647
|
-
sourceUrls: AA_IMAGE_SOURCES
|
|
756
|
+
sourceUrls: AA_IMAGE_SOURCES,
|
|
757
|
+
textToImage: {
|
|
758
|
+
elo: 1012,
|
|
759
|
+
rank: 36
|
|
760
|
+
}
|
|
648
761
|
} },
|
|
649
762
|
customImageSize: {
|
|
650
763
|
maxPixels: 16777216,
|
|
@@ -678,14 +791,14 @@ const MODELS = {
|
|
|
678
791
|
benchmark: {
|
|
679
792
|
artificialAnalysis: {
|
|
680
793
|
editing: {
|
|
681
|
-
elo:
|
|
682
|
-
rank:
|
|
794
|
+
elo: 997,
|
|
795
|
+
rank: 49
|
|
683
796
|
},
|
|
684
797
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
685
798
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
686
799
|
textToImage: {
|
|
687
|
-
elo:
|
|
688
|
-
rank:
|
|
800
|
+
elo: 1020,
|
|
801
|
+
rank: 28
|
|
689
802
|
}
|
|
690
803
|
},
|
|
691
804
|
speed: {
|
|
@@ -737,14 +850,14 @@ const MODELS = {
|
|
|
737
850
|
benchmark: {
|
|
738
851
|
artificialAnalysis: {
|
|
739
852
|
editing: {
|
|
740
|
-
elo:
|
|
741
|
-
rank:
|
|
853
|
+
elo: 1007,
|
|
854
|
+
rank: 41
|
|
742
855
|
},
|
|
743
856
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
744
857
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
745
858
|
textToImage: {
|
|
746
|
-
elo:
|
|
747
|
-
rank:
|
|
859
|
+
elo: 1004,
|
|
860
|
+
rank: 41
|
|
748
861
|
}
|
|
749
862
|
},
|
|
750
863
|
speed: {
|
|
@@ -795,11 +908,15 @@ const MODELS = {
|
|
|
795
908
|
"flux2-flex": {
|
|
796
909
|
benchmark: {
|
|
797
910
|
artificialAnalysis: {
|
|
911
|
+
editing: {
|
|
912
|
+
elo: 1007,
|
|
913
|
+
rank: 42
|
|
914
|
+
},
|
|
798
915
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
799
916
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
800
917
|
textToImage: {
|
|
801
|
-
elo:
|
|
802
|
-
rank:
|
|
918
|
+
elo: 1027,
|
|
919
|
+
rank: 22
|
|
803
920
|
}
|
|
804
921
|
},
|
|
805
922
|
speed: {
|
|
@@ -853,8 +970,16 @@ const MODELS = {
|
|
|
853
970
|
"flux2-dev": {
|
|
854
971
|
benchmark: {
|
|
855
972
|
artificialAnalysis: {
|
|
973
|
+
editing: {
|
|
974
|
+
elo: 1e3,
|
|
975
|
+
rank: 45
|
|
976
|
+
},
|
|
856
977
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
857
|
-
sourceUrls: AA_IMAGE_SOURCES
|
|
978
|
+
sourceUrls: AA_IMAGE_SOURCES,
|
|
979
|
+
textToImage: {
|
|
980
|
+
elo: 1e3,
|
|
981
|
+
rank: 42
|
|
982
|
+
}
|
|
858
983
|
},
|
|
859
984
|
speed: {
|
|
860
985
|
medianSeconds: 4.6,
|
|
@@ -1017,24 +1142,12 @@ const MODELS = {
|
|
|
1017
1142
|
},
|
|
1018
1143
|
reve: {
|
|
1019
1144
|
benchmark: {
|
|
1020
|
-
artificialAnalysis: {
|
|
1021
|
-
editing: {
|
|
1022
|
-
elo: 1263,
|
|
1023
|
-
rank: 2
|
|
1024
|
-
},
|
|
1025
|
-
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
1026
|
-
sourceUrls: AA_IMAGE_SOURCES,
|
|
1027
|
-
textToImage: {
|
|
1028
|
-
elo: 1322,
|
|
1029
|
-
rank: 2
|
|
1030
|
-
}
|
|
1031
|
-
},
|
|
1032
1145
|
tiers: {
|
|
1033
1146
|
price: "premium",
|
|
1034
1147
|
quality: "frontier",
|
|
1035
1148
|
speed: "unknown"
|
|
1036
1149
|
},
|
|
1037
|
-
useCase: "
|
|
1150
|
+
useCase: "Historical Reve route; not currently verified on fal"
|
|
1038
1151
|
},
|
|
1039
1152
|
editEndpoint: "fal-ai/reve/edit",
|
|
1040
1153
|
endpoint: "fal-ai/reve/text-to-image",
|
|
@@ -1075,8 +1188,8 @@ const MODELS = {
|
|
|
1075
1188
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
1076
1189
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
1077
1190
|
textToImage: {
|
|
1078
|
-
elo:
|
|
1079
|
-
rank:
|
|
1191
|
+
elo: 984,
|
|
1192
|
+
rank: 62
|
|
1080
1193
|
}
|
|
1081
1194
|
} },
|
|
1082
1195
|
customImageSize: {},
|
|
@@ -1134,8 +1247,8 @@ const MODELS = {
|
|
|
1134
1247
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
1135
1248
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
1136
1249
|
textToImage: {
|
|
1137
|
-
elo:
|
|
1138
|
-
rank:
|
|
1250
|
+
elo: 1004,
|
|
1251
|
+
rank: 40
|
|
1139
1252
|
}
|
|
1140
1253
|
} },
|
|
1141
1254
|
customImageSize: {
|
|
@@ -1173,14 +1286,14 @@ const MODELS = {
|
|
|
1173
1286
|
benchmark: {
|
|
1174
1287
|
artificialAnalysis: {
|
|
1175
1288
|
editing: {
|
|
1176
|
-
elo:
|
|
1177
|
-
rank:
|
|
1289
|
+
elo: 1073,
|
|
1290
|
+
rank: 19
|
|
1178
1291
|
},
|
|
1179
1292
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
1180
1293
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
1181
1294
|
textToImage: {
|
|
1182
|
-
elo:
|
|
1183
|
-
rank:
|
|
1295
|
+
elo: 1019,
|
|
1296
|
+
rank: 30
|
|
1184
1297
|
}
|
|
1185
1298
|
},
|
|
1186
1299
|
speed: {
|
|
@@ -1233,7 +1346,11 @@ const MODELS = {
|
|
|
1233
1346
|
benchmark: {
|
|
1234
1347
|
artificialAnalysis: {
|
|
1235
1348
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
1236
|
-
sourceUrls: AA_IMAGE_SOURCES
|
|
1349
|
+
sourceUrls: AA_IMAGE_SOURCES,
|
|
1350
|
+
textToImage: {
|
|
1351
|
+
elo: 890,
|
|
1352
|
+
rank: 106
|
|
1353
|
+
}
|
|
1237
1354
|
},
|
|
1238
1355
|
speed: {
|
|
1239
1356
|
medianSeconds: 23.3,
|
|
@@ -1275,14 +1392,14 @@ const MODELS = {
|
|
|
1275
1392
|
benchmark: {
|
|
1276
1393
|
artificialAnalysis: {
|
|
1277
1394
|
editing: {
|
|
1278
|
-
elo:
|
|
1279
|
-
rank:
|
|
1395
|
+
elo: 1056,
|
|
1396
|
+
rank: 25
|
|
1280
1397
|
},
|
|
1281
1398
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
1282
1399
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
1283
1400
|
textToImage: {
|
|
1284
|
-
elo:
|
|
1285
|
-
rank:
|
|
1401
|
+
elo: 1075,
|
|
1402
|
+
rank: 16
|
|
1286
1403
|
}
|
|
1287
1404
|
},
|
|
1288
1405
|
tiers: {
|
|
@@ -1290,7 +1407,7 @@ const MODELS = {
|
|
|
1290
1407
|
quality: "better",
|
|
1291
1408
|
speed: "unknown"
|
|
1292
1409
|
},
|
|
1293
|
-
useCase: "Strong
|
|
1410
|
+
useCase: "Strong generation with negative-prompt and seed controls"
|
|
1294
1411
|
},
|
|
1295
1412
|
customImageSize: {
|
|
1296
1413
|
maxPixels: 4194304,
|
|
@@ -1324,17 +1441,17 @@ const MODELS = {
|
|
|
1324
1441
|
benchmark: {
|
|
1325
1442
|
artificialAnalysis: {
|
|
1326
1443
|
editing: {
|
|
1327
|
-
elo:
|
|
1328
|
-
rank:
|
|
1444
|
+
elo: 1110,
|
|
1445
|
+
rank: 10
|
|
1329
1446
|
},
|
|
1330
1447
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
1331
1448
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
1332
1449
|
textToImage: {
|
|
1333
|
-
elo:
|
|
1334
|
-
rank:
|
|
1450
|
+
elo: 1100,
|
|
1451
|
+
rank: 12
|
|
1335
1452
|
}
|
|
1336
1453
|
},
|
|
1337
|
-
useCase: "
|
|
1454
|
+
useCase: "Strong single-reference editor; MAI 2.5 ranks higher on the current editing board"
|
|
1338
1455
|
},
|
|
1339
1456
|
editEndpoint: "microsoft/mai-image-2.5-pro/edit",
|
|
1340
1457
|
editImagesField: "image_url",
|
|
@@ -1373,20 +1490,26 @@ const MODELS = {
|
|
|
1373
1490
|
},
|
|
1374
1491
|
"banana2-lite": {
|
|
1375
1492
|
benchmark: { artificialAnalysis: {
|
|
1493
|
+
editing: {
|
|
1494
|
+
elo: 1046,
|
|
1495
|
+
rank: 26
|
|
1496
|
+
},
|
|
1376
1497
|
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
1377
1498
|
sourceUrls: AA_IMAGE_SOURCES,
|
|
1378
1499
|
textToImage: {
|
|
1379
|
-
elo:
|
|
1380
|
-
rank:
|
|
1500
|
+
elo: 1095,
|
|
1501
|
+
rank: 13
|
|
1381
1502
|
}
|
|
1382
1503
|
} },
|
|
1504
|
+
editEndpoint: "google/nano-banana-2-lite/edit",
|
|
1505
|
+
maxReferenceImages: 14,
|
|
1383
1506
|
endpoint: "google/nano-banana-2-lite",
|
|
1384
1507
|
name: "Nano Banana 2 Lite",
|
|
1385
|
-
pricing: "Token-based: text $0.3125/M input, $1.875/M output; image $0.3125/M input, $37.50/M output; fixed 1K output (~$0.
|
|
1386
|
-
pricePerImageUsd:
|
|
1508
|
+
pricing: "Token-based: text $0.3125/M input, $1.875/M output; image $0.3125/M input, $37.50/M output; fixed 1K output (~$0.042 image output, plus input/thinking)",
|
|
1509
|
+
pricePerImageUsd: null,
|
|
1387
1510
|
sizeMode: "aspect_ratio",
|
|
1388
1511
|
supportsAspect: true,
|
|
1389
|
-
supportsEdit:
|
|
1512
|
+
supportsEdit: true,
|
|
1390
1513
|
supportsLimitGenerations: true,
|
|
1391
1514
|
supportsNumImages: true,
|
|
1392
1515
|
supportsOutputFormat: true,
|
|
@@ -1459,6 +1582,21 @@ const MODELS = {
|
|
|
1459
1582
|
type: "generation"
|
|
1460
1583
|
},
|
|
1461
1584
|
"grok-image-2": {
|
|
1585
|
+
benchmark: {
|
|
1586
|
+
artificialAnalysis: {
|
|
1587
|
+
editing: {
|
|
1588
|
+
elo: 1110,
|
|
1589
|
+
rank: 8
|
|
1590
|
+
},
|
|
1591
|
+
snapshotDate: AA_IMAGE_LEADERBOARD_SNAPSHOT,
|
|
1592
|
+
sourceUrls: AA_IMAGE_SOURCES,
|
|
1593
|
+
textToImage: {
|
|
1594
|
+
elo: 1156,
|
|
1595
|
+
rank: 4
|
|
1596
|
+
}
|
|
1597
|
+
},
|
|
1598
|
+
useCase: "Strong generation and editing with predictable per-image billing"
|
|
1599
|
+
},
|
|
1462
1600
|
editEndpoint: "xai/grok-imagine-image/v2.0/edit",
|
|
1463
1601
|
endpoint: "xai/grok-imagine-image/v2.0/text-to-image",
|
|
1464
1602
|
falPricing: {
|
|
@@ -1557,35 +1695,25 @@ const MODELS = {
|
|
|
1557
1695
|
}
|
|
1558
1696
|
};
|
|
1559
1697
|
[
|
|
1560
|
-
"flare",
|
|
1561
1698
|
"sunburst",
|
|
1699
|
+
"flare",
|
|
1562
1700
|
"gpt2",
|
|
1563
1701
|
"gpt",
|
|
1702
|
+
"banana21",
|
|
1564
1703
|
"banana2",
|
|
1565
1704
|
"banana",
|
|
1566
|
-
"
|
|
1567
|
-
"
|
|
1568
|
-
"seedream4",
|
|
1569
|
-
"seedream45",
|
|
1705
|
+
"mai-image-2.5",
|
|
1706
|
+
"mai-image-2.5-pro",
|
|
1570
1707
|
"seedream5",
|
|
1571
|
-
"
|
|
1572
|
-
"
|
|
1573
|
-
"
|
|
1708
|
+
"qwen3",
|
|
1709
|
+
"banana2-lite",
|
|
1710
|
+
"grok-image-2",
|
|
1711
|
+
"grok-image",
|
|
1574
1712
|
"flux2-flex",
|
|
1575
|
-
"flux2-
|
|
1713
|
+
"flux2-pro",
|
|
1576
1714
|
"flux2-turbo",
|
|
1577
|
-
"
|
|
1578
|
-
"flux-fast",
|
|
1579
|
-
"recraft",
|
|
1580
|
-
"recraft4",
|
|
1581
|
-
"ideogram",
|
|
1715
|
+
"seedream5-lite",
|
|
1582
1716
|
"ideogram4",
|
|
1583
|
-
"grok-image",
|
|
1584
|
-
"grok-image-2",
|
|
1585
|
-
"qwen",
|
|
1586
|
-
"qwen3",
|
|
1587
|
-
"mai-image-2.5-pro",
|
|
1588
|
-
"banana2-lite",
|
|
1589
1717
|
"ideogram3-transparent",
|
|
1590
1718
|
"recraft41"
|
|
1591
1719
|
].filter((id) => MODELS[id]?.supportsEdit === true);
|