@everworker/oneringai 0.4.4 → 0.4.6
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 +25 -12
- package/dist/{ImageModel-OWbA277F.d.ts → ImageModel-1uP-2vk7.d.ts} +8 -2
- package/dist/{ImageModel-Ds5_6sf7.d.cts → ImageModel-BDI37OED.d.cts} +8 -2
- package/dist/capabilities/agents/index.d.cts +1 -1
- package/dist/capabilities/agents/index.d.ts +1 -1
- package/dist/capabilities/images/index.cjs +149 -7
- package/dist/capabilities/images/index.cjs.map +1 -1
- package/dist/capabilities/images/index.d.cts +1 -1
- package/dist/capabilities/images/index.d.ts +1 -1
- package/dist/capabilities/images/index.js +149 -7
- package/dist/capabilities/images/index.js.map +1 -1
- package/dist/{index-DmYrHH7d.d.cts → index-DJ-qAK15.d.cts} +25 -5
- package/dist/{index-Dyl6pHfq.d.ts → index-oBtp-8Qn.d.ts} +25 -5
- package/dist/index.cjs +1348 -199
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +47 -13
- package/dist/index.d.ts +47 -13
- package/dist/index.js +1348 -199
- package/dist/index.js.map +1 -1
- package/dist/shared/index.cjs +785 -133
- package/dist/shared/index.cjs.map +1 -1
- package/dist/shared/index.d.cts +20 -2
- package/dist/shared/index.d.ts +20 -2
- package/dist/shared/index.js +785 -133
- package/dist/shared/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -92,7 +92,7 @@ Showcasing another amazing "built with oneringai": ["no saas" agentic business t
|
|
|
92
92
|
- 🔌 **Tool Execution Plugins** - NEW: Pluggable pipeline for logging, analytics, UI updates, custom behavior
|
|
93
93
|
- 💾 **Session Persistence** - Save and resume conversations with full state restoration
|
|
94
94
|
- 👤 **Multi-User Support** - Set `userId` once, flows automatically to all tool executions and session metadata
|
|
95
|
-
- 🔒 **
|
|
95
|
+
- 🔒 **Auth Identities** - Restrict agents to specific connectors (and accounts), composable with access policies
|
|
96
96
|
- 🤖 **Universal Agent** - ⚠️ *Deprecated* - Use `Agent` with plugins instead
|
|
97
97
|
- 🤖 **Task Agents** - ⚠️ *Deprecated* - Use `Agent` with `WorkingMemoryPluginNextGen`
|
|
98
98
|
- 🔬 **Research Agent** - ⚠️ *Deprecated* - Use `Agent` with search tools
|
|
@@ -120,7 +120,7 @@ Showcasing another amazing "built with oneringai": ["no saas" agentic business t
|
|
|
120
120
|
- 🔄 **Streaming** - Real-time responses with event streams
|
|
121
121
|
- 📝 **TypeScript** - Full type safety and IntelliSense support
|
|
122
122
|
|
|
123
|
-
> **v0.2.0 — Multi-User Support:** Set `userId` once on an agent and it automatically flows to all tool executions, OAuth token retrieval, session metadata, and connector scoping. Combine with `
|
|
123
|
+
> **v0.2.0 — Multi-User Support:** Set `userId` once on an agent and it automatically flows to all tool executions, OAuth token retrieval, session metadata, and connector scoping. Combine with `identities` and access policies for complete multi-tenant isolation. See [Multi-User Support](#multi-user-support-userid) and [Auth Identities](#auth-identities-identities) in the User Guide.
|
|
124
124
|
|
|
125
125
|
## Quick Start
|
|
126
126
|
|
|
@@ -454,7 +454,10 @@ const agent = Agent.create({
|
|
|
454
454
|
connector: 'openai',
|
|
455
455
|
model: 'gpt-4',
|
|
456
456
|
userId: 'user-123', // Flows to all tool executions automatically
|
|
457
|
-
|
|
457
|
+
identities: [ // Only these connectors visible to tools
|
|
458
|
+
{ connector: 'github' },
|
|
459
|
+
{ connector: 'slack' },
|
|
460
|
+
],
|
|
458
461
|
tools: [weatherTool, emailTool],
|
|
459
462
|
context: {
|
|
460
463
|
features: {
|
|
@@ -685,7 +688,7 @@ const agent = Agent.create({
|
|
|
685
688
|
},
|
|
686
689
|
});
|
|
687
690
|
|
|
688
|
-
// Agent now has memory_store, memory_retrieve, memory_delete,
|
|
691
|
+
// Agent now has memory_store, memory_retrieve, memory_delete, memory_query tools
|
|
689
692
|
await agent.run('Check weather for SF and remember the result');
|
|
690
693
|
```
|
|
691
694
|
|
|
@@ -793,7 +796,7 @@ const agent = Agent.create({
|
|
|
793
796
|
**Available Features:**
|
|
794
797
|
| Feature | Default | Plugin | Associated Tools |
|
|
795
798
|
|---------|---------|--------|------------------|
|
|
796
|
-
| `workingMemory` | `true` | WorkingMemoryPluginNextGen | `memory_store/retrieve/delete/
|
|
799
|
+
| `workingMemory` | `true` | WorkingMemoryPluginNextGen | `memory_store/retrieve/delete/query/cleanup_raw` |
|
|
797
800
|
| `inContextMemory` | `false` | InContextMemoryPluginNextGen | `context_set/delete/list` |
|
|
798
801
|
| `persistentInstructions` | `false` | PersistentInstructionsPluginNextGen | `instructions_set/remove/list/clear` |
|
|
799
802
|
| `userInfo` | `false` | UserInfoPluginNextGen | `user_info_set/get/remove/clear`, `todo_add/update/remove` |
|
|
@@ -971,7 +974,7 @@ for await (const event of agent.streamDirect('Tell me a story')) {
|
|
|
971
974
|
|
|
972
975
|
**Comparison:**
|
|
973
976
|
|
|
974
|
-
| Aspect | `run()`
|
|
977
|
+
| Aspect | `run()` | `runDirect()` |
|
|
975
978
|
|--------|-------------------|---------------|
|
|
976
979
|
| History tracking | ✅ | ❌ |
|
|
977
980
|
| Memory/Cache | ✅ | ❌ |
|
|
@@ -1639,7 +1642,7 @@ await agent.run('Find available meeting slots for alice and bob this week');
|
|
|
1639
1642
|
|
|
1640
1643
|
Supports both **delegated** (`/me` — user signs in) and **application** (`/users/{id}` — app-only) permission modes. See the [User Guide](./USER_GUIDE.md#microsoft-graph-connector-tools) for full parameter reference.
|
|
1641
1644
|
|
|
1642
|
-
### 23. Tool Catalog
|
|
1645
|
+
### 23. Tool Catalog
|
|
1643
1646
|
|
|
1644
1647
|
When agents have 100+ available tools, sending all definitions to the LLM wastes tokens and degrades performance. The Tool Catalog lets agents discover and load only the categories they need:
|
|
1645
1648
|
|
|
@@ -1656,14 +1659,22 @@ ToolCatalogRegistry.registerTools('knowledge', [
|
|
|
1656
1659
|
{ name: 'entity_search', displayName: 'Entity Search', description: 'Search entities', tool: entitySearchTool, safeByDefault: true },
|
|
1657
1660
|
]);
|
|
1658
1661
|
|
|
1659
|
-
// Enable tool catalog
|
|
1662
|
+
// Enable tool catalog with scoping
|
|
1660
1663
|
const agent = Agent.create({
|
|
1661
1664
|
connector: 'openai',
|
|
1662
1665
|
model: 'gpt-4',
|
|
1666
|
+
// Identities control which connector categories are visible
|
|
1667
|
+
identities: [{ connector: 'github' }, { connector: 'slack' }],
|
|
1663
1668
|
context: {
|
|
1664
1669
|
features: { toolCatalog: true },
|
|
1670
|
+
toolCategories: ['filesystem', 'knowledge'], // scope for built-in categories
|
|
1671
|
+
plugins: {
|
|
1672
|
+
toolCatalog: {
|
|
1673
|
+
pinned: ['filesystem'], // always loaded, LLM can't unload
|
|
1674
|
+
autoLoadCategories: ['knowledge'], // pre-loaded, LLM can unload
|
|
1675
|
+
},
|
|
1676
|
+
},
|
|
1665
1677
|
},
|
|
1666
|
-
toolCategories: ['filesystem', 'knowledge'], // optional scope
|
|
1667
1678
|
});
|
|
1668
1679
|
|
|
1669
1680
|
// Agent gets 3 metatools: tool_catalog_search, tool_catalog_load, tool_catalog_unload
|
|
@@ -1673,8 +1684,10 @@ await agent.run('Search for information about quantum computing');
|
|
|
1673
1684
|
|
|
1674
1685
|
**Key Features:**
|
|
1675
1686
|
- **Dynamic loading** — Agent loads only needed categories, saving token budget
|
|
1676
|
-
- **
|
|
1677
|
-
- **
|
|
1687
|
+
- **Pinned categories** — Always-loaded categories that the LLM cannot unload
|
|
1688
|
+
- **Dual scoping** — `toolCategories` scopes built-in categories, `identities` scopes connector categories
|
|
1689
|
+
- **Dynamic instructions** — LLM sees exactly which categories are available, with `[PINNED]` markers
|
|
1690
|
+
- **Connector discovery** — Connector tools auto-discovered as categories, filtered by `identities`
|
|
1678
1691
|
- **Registry API** — `ToolCatalogRegistry.resolveTools()` for app-level tool resolution
|
|
1679
1692
|
|
|
1680
1693
|
See the [User Guide](./USER_GUIDE.md#tool-catalog) for full documentation.
|
|
@@ -1827,4 +1840,4 @@ MIT License - See [LICENSE](./LICENSE) file.
|
|
|
1827
1840
|
|
|
1828
1841
|
---
|
|
1829
1842
|
|
|
1830
|
-
**Version:** 0.4.
|
|
1843
|
+
**Version:** 0.4.6 | **Last Updated:** 2026-03-04 | **[User Guide](./USER_GUIDE.md)** | **[API Reference](./API_REFERENCE.md)** | **[Changelog](./CHANGELOG.md)**
|
|
@@ -230,11 +230,11 @@ declare class ImageGeneration {
|
|
|
230
230
|
/**
|
|
231
231
|
* Supported image sizes by model
|
|
232
232
|
*/
|
|
233
|
-
type ImageSize = '256x256' | '512x512' | '1024x1024' | '1024x1536' | '1536x1024' | '1792x1024' | '1024x1792' | 'auto';
|
|
233
|
+
type ImageSize = '256x256' | '512x512' | '1024x1024' | '1024x1536' | '1536x1024' | '1792x1024' | '1024x1792' | '1536x1536' | 'auto';
|
|
234
234
|
/**
|
|
235
235
|
* Supported aspect ratios
|
|
236
236
|
*/
|
|
237
|
-
type AspectRatio = '1:1' | '3:4' | '4:3' | '9:16' | '16:9' | '3:2' | '2:3';
|
|
237
|
+
type AspectRatio = '1:1' | '3:4' | '4:3' | '9:16' | '16:9' | '3:2' | '2:3' | '1:4' | '4:1' | '1:8' | '8:1' | '2:1' | '1:2';
|
|
238
238
|
/**
|
|
239
239
|
* Image model capabilities
|
|
240
240
|
*/
|
|
@@ -309,6 +309,12 @@ declare const IMAGE_MODELS: {
|
|
|
309
309
|
readonly IMAGEN_4_ULTRA: "imagen-4.0-ultra-generate-001";
|
|
310
310
|
/** Imagen 4.0 Fast: Optimized for speed */
|
|
311
311
|
readonly IMAGEN_4_FAST: "imagen-4.0-fast-generate-001";
|
|
312
|
+
/** Nano Banana 2: Gemini 3.1 Flash native image gen with 4K support */
|
|
313
|
+
readonly GEMINI_3_1_FLASH_IMAGE: "gemini-3.1-flash-image-preview";
|
|
314
|
+
/** Nano Banana Pro: Gemini 3 Pro professional design engine with reasoning */
|
|
315
|
+
readonly GEMINI_3_PRO_IMAGE: "gemini-3-pro-image-preview";
|
|
316
|
+
/** Nano Banana: Gemini 2.5 Flash native image gen/editing */
|
|
317
|
+
readonly GEMINI_2_5_FLASH_IMAGE: "gemini-2.5-flash-image";
|
|
312
318
|
};
|
|
313
319
|
readonly grok: {
|
|
314
320
|
/** Grok Imagine Image: xAI image generation with editing support */
|
|
@@ -230,11 +230,11 @@ declare class ImageGeneration {
|
|
|
230
230
|
/**
|
|
231
231
|
* Supported image sizes by model
|
|
232
232
|
*/
|
|
233
|
-
type ImageSize = '256x256' | '512x512' | '1024x1024' | '1024x1536' | '1536x1024' | '1792x1024' | '1024x1792' | 'auto';
|
|
233
|
+
type ImageSize = '256x256' | '512x512' | '1024x1024' | '1024x1536' | '1536x1024' | '1792x1024' | '1024x1792' | '1536x1536' | 'auto';
|
|
234
234
|
/**
|
|
235
235
|
* Supported aspect ratios
|
|
236
236
|
*/
|
|
237
|
-
type AspectRatio = '1:1' | '3:4' | '4:3' | '9:16' | '16:9' | '3:2' | '2:3';
|
|
237
|
+
type AspectRatio = '1:1' | '3:4' | '4:3' | '9:16' | '16:9' | '3:2' | '2:3' | '1:4' | '4:1' | '1:8' | '8:1' | '2:1' | '1:2';
|
|
238
238
|
/**
|
|
239
239
|
* Image model capabilities
|
|
240
240
|
*/
|
|
@@ -309,6 +309,12 @@ declare const IMAGE_MODELS: {
|
|
|
309
309
|
readonly IMAGEN_4_ULTRA: "imagen-4.0-ultra-generate-001";
|
|
310
310
|
/** Imagen 4.0 Fast: Optimized for speed */
|
|
311
311
|
readonly IMAGEN_4_FAST: "imagen-4.0-fast-generate-001";
|
|
312
|
+
/** Nano Banana 2: Gemini 3.1 Flash native image gen with 4K support */
|
|
313
|
+
readonly GEMINI_3_1_FLASH_IMAGE: "gemini-3.1-flash-image-preview";
|
|
314
|
+
/** Nano Banana Pro: Gemini 3 Pro professional design engine with reasoning */
|
|
315
|
+
readonly GEMINI_3_PRO_IMAGE: "gemini-3-pro-image-preview";
|
|
316
|
+
/** Nano Banana: Gemini 2.5 Flash native image gen/editing */
|
|
317
|
+
readonly GEMINI_2_5_FLASH_IMAGE: "gemini-2.5-flash-image";
|
|
312
318
|
};
|
|
313
319
|
readonly grok: {
|
|
314
320
|
/** Grok Imagine Image: xAI image generation with editing support */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { a3 as AfterToolContext, a4 as AgentEventName, w as AgentEvents, a5 as AgenticLoopEventName, a6 as AgenticLoopEvents, a7 as ApprovalResult, a8 as ApproveToolContext, z as AuditEntry, a9 as BeforeToolContext, be as ExecutionCompleteEvent, al as ExecutionConfig, E as ExecutionContext, y as ExecutionMetrics, bf as ExecutionStartEvent, v as HistoryMode, am as Hook, H as HookConfig, an as HookManager, D as HookName, bg as LLMRequestEvent, bh as LLMResponseEvent, aw as ModifyingHook, bi as ToolCompleteEvent, aU as ToolModification, bj as ToolStartEvent } from '../../index-
|
|
1
|
+
export { a3 as AfterToolContext, a4 as AgentEventName, w as AgentEvents, a5 as AgenticLoopEventName, a6 as AgenticLoopEvents, a7 as ApprovalResult, a8 as ApproveToolContext, z as AuditEntry, a9 as BeforeToolContext, be as ExecutionCompleteEvent, al as ExecutionConfig, E as ExecutionContext, y as ExecutionMetrics, bf as ExecutionStartEvent, v as HistoryMode, am as Hook, H as HookConfig, an as HookManager, D as HookName, bg as LLMRequestEvent, bh as LLMResponseEvent, aw as ModifyingHook, bi as ToolCompleteEvent, aU as ToolModification, bj as ToolStartEvent } from '../../index-DJ-qAK15.cjs';
|
|
2
2
|
import '../../IProvider-B8sqUzJG.cjs';
|
|
3
3
|
import '../../Vendor-DYh_bzwo.cjs';
|
|
4
4
|
import 'eventemitter3';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { a3 as AfterToolContext, a4 as AgentEventName, w as AgentEvents, a5 as AgenticLoopEventName, a6 as AgenticLoopEvents, a7 as ApprovalResult, a8 as ApproveToolContext, z as AuditEntry, a9 as BeforeToolContext, be as ExecutionCompleteEvent, al as ExecutionConfig, E as ExecutionContext, y as ExecutionMetrics, bf as ExecutionStartEvent, v as HistoryMode, am as Hook, H as HookConfig, an as HookManager, D as HookName, bg as LLMRequestEvent, bh as LLMResponseEvent, aw as ModifyingHook, bi as ToolCompleteEvent, aU as ToolModification, bj as ToolStartEvent } from '../../index-
|
|
1
|
+
export { a3 as AfterToolContext, a4 as AgentEventName, w as AgentEvents, a5 as AgenticLoopEventName, a6 as AgenticLoopEvents, a7 as ApprovalResult, a8 as ApproveToolContext, z as AuditEntry, a9 as BeforeToolContext, be as ExecutionCompleteEvent, al as ExecutionConfig, E as ExecutionContext, y as ExecutionMetrics, bf as ExecutionStartEvent, v as HistoryMode, am as Hook, H as HookConfig, an as HookManager, D as HookName, bg as LLMRequestEvent, bh as LLMResponseEvent, aw as ModifyingHook, bi as ToolCompleteEvent, aU as ToolModification, bj as ToolStartEvent } from '../../index-oBtp-8Qn.js';
|
|
2
2
|
import '../../IProvider-CxDUGl6n.js';
|
|
3
3
|
import '../../Vendor-DYh_bzwo.js';
|
|
4
4
|
import 'eventemitter3';
|
|
@@ -3228,7 +3228,13 @@ var IMAGE_MODELS = {
|
|
|
3228
3228
|
/** Imagen 4.0 Ultra: Highest quality */
|
|
3229
3229
|
IMAGEN_4_ULTRA: "imagen-4.0-ultra-generate-001",
|
|
3230
3230
|
/** Imagen 4.0 Fast: Optimized for speed */
|
|
3231
|
-
IMAGEN_4_FAST: "imagen-4.0-fast-generate-001"
|
|
3231
|
+
IMAGEN_4_FAST: "imagen-4.0-fast-generate-001",
|
|
3232
|
+
/** Nano Banana 2: Gemini 3.1 Flash native image gen with 4K support */
|
|
3233
|
+
GEMINI_3_1_FLASH_IMAGE: "gemini-3.1-flash-image-preview",
|
|
3234
|
+
/** Nano Banana Pro: Gemini 3 Pro professional design engine with reasoning */
|
|
3235
|
+
GEMINI_3_PRO_IMAGE: "gemini-3-pro-image-preview",
|
|
3236
|
+
/** Nano Banana: Gemini 2.5 Flash native image gen/editing */
|
|
3237
|
+
GEMINI_2_5_FLASH_IMAGE: "gemini-2.5-flash-image"
|
|
3232
3238
|
},
|
|
3233
3239
|
[Vendor.Grok]: {
|
|
3234
3240
|
/** Grok Imagine Image: xAI image generation with editing support */
|
|
@@ -3412,7 +3418,7 @@ var IMAGE_MODEL_REGISTRY = {
|
|
|
3412
3418
|
sources: {
|
|
3413
3419
|
documentation: "https://ai.google.dev/gemini-api/docs/imagen",
|
|
3414
3420
|
pricing: "https://ai.google.dev/pricing",
|
|
3415
|
-
lastVerified: "2026-
|
|
3421
|
+
lastVerified: "2026-03-04"
|
|
3416
3422
|
},
|
|
3417
3423
|
capabilities: {
|
|
3418
3424
|
sizes: ["1024x1024"],
|
|
@@ -3523,7 +3529,7 @@ var IMAGE_MODEL_REGISTRY = {
|
|
|
3523
3529
|
sources: {
|
|
3524
3530
|
documentation: "https://ai.google.dev/gemini-api/docs/imagen",
|
|
3525
3531
|
pricing: "https://ai.google.dev/pricing",
|
|
3526
|
-
lastVerified: "2026-
|
|
3532
|
+
lastVerified: "2026-03-04"
|
|
3527
3533
|
},
|
|
3528
3534
|
capabilities: {
|
|
3529
3535
|
sizes: ["1024x1024"],
|
|
@@ -3620,7 +3626,8 @@ var IMAGE_MODEL_REGISTRY = {
|
|
|
3620
3626
|
}
|
|
3621
3627
|
},
|
|
3622
3628
|
pricing: {
|
|
3623
|
-
perImage: 0.
|
|
3629
|
+
perImage: 0.06,
|
|
3630
|
+
// Updated per official pricing page (was $0.08)
|
|
3624
3631
|
currency: "USD"
|
|
3625
3632
|
}
|
|
3626
3633
|
},
|
|
@@ -3634,7 +3641,7 @@ var IMAGE_MODEL_REGISTRY = {
|
|
|
3634
3641
|
sources: {
|
|
3635
3642
|
documentation: "https://ai.google.dev/gemini-api/docs/imagen",
|
|
3636
3643
|
pricing: "https://ai.google.dev/pricing",
|
|
3637
|
-
lastVerified: "2026-
|
|
3644
|
+
lastVerified: "2026-03-04"
|
|
3638
3645
|
},
|
|
3639
3646
|
capabilities: {
|
|
3640
3647
|
sizes: ["1024x1024"],
|
|
@@ -3735,6 +3742,141 @@ var IMAGE_MODEL_REGISTRY = {
|
|
|
3735
3742
|
currency: "USD"
|
|
3736
3743
|
}
|
|
3737
3744
|
},
|
|
3745
|
+
// ======================== Google Nano Banana (Gemini Native Image) ========================
|
|
3746
|
+
"gemini-3.1-flash-image-preview": {
|
|
3747
|
+
name: "gemini-3.1-flash-image-preview",
|
|
3748
|
+
displayName: "Nano Banana 2 (Gemini 3.1 Flash Image)",
|
|
3749
|
+
provider: Vendor.Google,
|
|
3750
|
+
description: "High-efficiency native image generation and editing with 4K support and thinking capabilities",
|
|
3751
|
+
isActive: true,
|
|
3752
|
+
releaseDate: "2026-02-01",
|
|
3753
|
+
sources: {
|
|
3754
|
+
documentation: "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-image-preview",
|
|
3755
|
+
pricing: "https://ai.google.dev/pricing",
|
|
3756
|
+
lastVerified: "2026-03-04"
|
|
3757
|
+
},
|
|
3758
|
+
capabilities: {
|
|
3759
|
+
sizes: ["512x512", "1024x1024", "1536x1536", "auto"],
|
|
3760
|
+
aspectRatios: ["1:1", "1:4", "4:1", "1:8", "8:1"],
|
|
3761
|
+
maxImagesPerRequest: 4,
|
|
3762
|
+
outputFormats: ["png", "jpeg"],
|
|
3763
|
+
features: {
|
|
3764
|
+
generation: true,
|
|
3765
|
+
editing: true,
|
|
3766
|
+
variations: false,
|
|
3767
|
+
styleControl: false,
|
|
3768
|
+
qualityControl: true,
|
|
3769
|
+
// Multiple resolution tiers: 0.5K, 1K, 2K, 4K
|
|
3770
|
+
transparency: false,
|
|
3771
|
+
promptRevision: false
|
|
3772
|
+
},
|
|
3773
|
+
limits: { maxPromptLength: 131072 },
|
|
3774
|
+
// 131K input tokens
|
|
3775
|
+
vendorOptions: {
|
|
3776
|
+
outputImageResolution: {
|
|
3777
|
+
type: "enum",
|
|
3778
|
+
label: "Resolution",
|
|
3779
|
+
description: "Output image resolution tier",
|
|
3780
|
+
enum: ["0.5K", "1K", "2K", "4K"],
|
|
3781
|
+
default: "1K",
|
|
3782
|
+
controlType: "select"
|
|
3783
|
+
}
|
|
3784
|
+
}
|
|
3785
|
+
},
|
|
3786
|
+
pricing: {
|
|
3787
|
+
// Per-image, varies by resolution: $0.045 (512px), $0.067 (1K), $0.101 (2K), $0.151 (4K)
|
|
3788
|
+
perImageStandard: 0.067,
|
|
3789
|
+
// 1K default
|
|
3790
|
+
perImageHD: 0.151,
|
|
3791
|
+
// 4K
|
|
3792
|
+
currency: "USD"
|
|
3793
|
+
}
|
|
3794
|
+
},
|
|
3795
|
+
"gemini-3-pro-image-preview": {
|
|
3796
|
+
name: "gemini-3-pro-image-preview",
|
|
3797
|
+
displayName: "Nano Banana Pro (Gemini 3 Pro Image)",
|
|
3798
|
+
provider: Vendor.Google,
|
|
3799
|
+
description: "Professional design engine with reasoning for studio-quality 4K visuals, complex layouts, and precise text rendering",
|
|
3800
|
+
isActive: true,
|
|
3801
|
+
releaseDate: "2025-11-01",
|
|
3802
|
+
sources: {
|
|
3803
|
+
documentation: "https://ai.google.dev/gemini-api/docs/models/gemini-3-pro-image-preview",
|
|
3804
|
+
pricing: "https://ai.google.dev/pricing",
|
|
3805
|
+
lastVerified: "2026-03-04"
|
|
3806
|
+
},
|
|
3807
|
+
capabilities: {
|
|
3808
|
+
sizes: ["1024x1024", "auto"],
|
|
3809
|
+
aspectRatios: ["1:1", "3:4", "4:3", "9:16", "16:9"],
|
|
3810
|
+
maxImagesPerRequest: 4,
|
|
3811
|
+
outputFormats: ["png", "jpeg"],
|
|
3812
|
+
features: {
|
|
3813
|
+
generation: true,
|
|
3814
|
+
editing: true,
|
|
3815
|
+
variations: false,
|
|
3816
|
+
styleControl: true,
|
|
3817
|
+
// Reasoning-driven design
|
|
3818
|
+
qualityControl: true,
|
|
3819
|
+
// 1K, 2K, 4K tiers
|
|
3820
|
+
transparency: false,
|
|
3821
|
+
promptRevision: false
|
|
3822
|
+
},
|
|
3823
|
+
limits: { maxPromptLength: 65536 },
|
|
3824
|
+
// 65K input tokens
|
|
3825
|
+
vendorOptions: {
|
|
3826
|
+
outputImageResolution: {
|
|
3827
|
+
type: "enum",
|
|
3828
|
+
label: "Resolution",
|
|
3829
|
+
description: "Output image resolution tier",
|
|
3830
|
+
enum: ["1K", "2K", "4K"],
|
|
3831
|
+
default: "1K",
|
|
3832
|
+
controlType: "select"
|
|
3833
|
+
}
|
|
3834
|
+
}
|
|
3835
|
+
},
|
|
3836
|
+
pricing: {
|
|
3837
|
+
// $0.134 per 1K/2K image, $0.24 per 4K image
|
|
3838
|
+
perImageStandard: 0.134,
|
|
3839
|
+
// 1K/2K
|
|
3840
|
+
perImageHD: 0.24,
|
|
3841
|
+
// 4K
|
|
3842
|
+
currency: "USD"
|
|
3843
|
+
}
|
|
3844
|
+
},
|
|
3845
|
+
"gemini-2.5-flash-image": {
|
|
3846
|
+
name: "gemini-2.5-flash-image",
|
|
3847
|
+
displayName: "Nano Banana (Gemini 2.5 Flash Image)",
|
|
3848
|
+
provider: Vendor.Google,
|
|
3849
|
+
description: "Native image generation and editing designed for fast, creative workflows",
|
|
3850
|
+
isActive: true,
|
|
3851
|
+
releaseDate: "2025-10-01",
|
|
3852
|
+
sources: {
|
|
3853
|
+
documentation: "https://ai.google.dev/gemini-api/docs/models/gemini-2.5-flash-image",
|
|
3854
|
+
pricing: "https://ai.google.dev/pricing",
|
|
3855
|
+
lastVerified: "2026-03-04"
|
|
3856
|
+
},
|
|
3857
|
+
capabilities: {
|
|
3858
|
+
sizes: ["1024x1024", "auto"],
|
|
3859
|
+
aspectRatios: ["1:1", "3:4", "4:3", "9:16", "16:9"],
|
|
3860
|
+
maxImagesPerRequest: 4,
|
|
3861
|
+
outputFormats: ["png", "jpeg"],
|
|
3862
|
+
features: {
|
|
3863
|
+
generation: true,
|
|
3864
|
+
editing: true,
|
|
3865
|
+
variations: false,
|
|
3866
|
+
styleControl: false,
|
|
3867
|
+
qualityControl: false,
|
|
3868
|
+
transparency: false,
|
|
3869
|
+
promptRevision: false
|
|
3870
|
+
},
|
|
3871
|
+
limits: { maxPromptLength: 65536 }
|
|
3872
|
+
// 65K input tokens
|
|
3873
|
+
},
|
|
3874
|
+
pricing: {
|
|
3875
|
+
perImage: 0.039,
|
|
3876
|
+
// $0.039 per image
|
|
3877
|
+
currency: "USD"
|
|
3878
|
+
}
|
|
3879
|
+
},
|
|
3738
3880
|
// ======================== xAI Grok ========================
|
|
3739
3881
|
"grok-imagine-image": {
|
|
3740
3882
|
name: "grok-imagine-image",
|
|
@@ -3746,11 +3888,11 @@ var IMAGE_MODEL_REGISTRY = {
|
|
|
3746
3888
|
sources: {
|
|
3747
3889
|
documentation: "https://docs.x.ai/docs/guides/image-generation",
|
|
3748
3890
|
pricing: "https://docs.x.ai/docs/models",
|
|
3749
|
-
lastVerified: "2026-
|
|
3891
|
+
lastVerified: "2026-03-04"
|
|
3750
3892
|
},
|
|
3751
3893
|
capabilities: {
|
|
3752
3894
|
sizes: ["1024x1024"],
|
|
3753
|
-
aspectRatios: ["1:1", "4:3", "3:4", "16:9", "9:16", "3:2", "2:3"],
|
|
3895
|
+
aspectRatios: ["1:1", "4:3", "3:4", "16:9", "9:16", "3:2", "2:3", "2:1", "1:2"],
|
|
3754
3896
|
maxImagesPerRequest: 10,
|
|
3755
3897
|
outputFormats: ["png", "jpeg"],
|
|
3756
3898
|
features: {
|