Developer docs
Models
Listing models, their capabilities, parameters and prices.
Poremu routes each model to the vendor that runs it best. You always use the same request shape — only model and the allowed parameters change.
List models
GET /v1/models
GET /v1/models?modality=image # image | video | chat
GET /v1/models/{id}{
"items": [
{
"id": "nano-banana-pro",
"name": "Nano Banana Pro",
"family": "Google",
"modality": "image",
"tier": "premium",
"uncensored": false,
"capabilities": { "textToImage": true, "imageToImage": true, "maxInputImages": 6 },
"aspectRatios": ["1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3"],
"resolutions": ["1k", "2k", "4k"],
"defaults": { "aspectRatio": "1:1", "resolution": "1k" },
"creditsFrom": 40,
"available": true
}
]
}| Field | Meaning |
|---|---|
capabilities | What the model accepts: text-to-image, image-to-image (edit / reference), text-to-video, image-to-video, maxInputImages, audio, negativePrompt, seed. |
aspectRatios / resolutions / qualities / durations | Allowed values. Passing anything else returns VALIDATION_ERROR. |
defaults | Used when you omit a parameter. |
creditsFrom | Price for one output with default parameters (chat: a typical 1k-in / 500-out turn). Use /v1/generations/estimate for an exact quote. |
chatPricing | Chat models only: { inputPerMillion, outputPerMillion } credits per 1M tokens. |
available | false while a model is paused. Creating a job returns MODEL_UNAVAILABLE. |
Image models
| id | Best for | Input images |
|---|---|---|
gpt-image | Text rendering, product shots, precise edits | up to 4 |
nano-banana | Fast, cheap, great prompt adherence | up to 3 |
nano-banana-pro | Highest fidelity, 2K / 4K | up to 6 |
grok-imagine | Stylised, bold compositions | 1 |
| Fashion & portrait realism | — |
qwen-image-3 | Posters, typography, multilingual text | up to 3 (edit) |
Video models
| id | Modes | Durations | Audio |
|---|---|---|---|
gemini-omni-flash | text · image | 10 s | yes |
| text · image | 5 · 10 s | yes |
seedance-2.5 | text · image | 4–15 s | yes |
grok-video | text · image | 6 · 10 s | yes |
Chat models
Chat models are used through /v1/chat/* and billed per token. capabilities adds vision, reasoning, contextWindow and maxOutputTokens.
| id | Vendor | Context | Vision | Credits / 1M input | Credits / 1M output |
|---|---|---|---|---|---|
gpt-5.5 | OpenAI | 400k | yes | 1,450 | 8,700 |
gpt-5.4-mini | OpenAI | 400k | yes | 220 | 1,310 |
gemini-4-argon | 1M | yes | 730 | 3,630 | |
gemini-3.8-flash | 1M | yes | 280 | 1,370 | |
grok-4.7 | xAI | 256k | yes | 730 | 2,030 |
| Venice (uncensored) | 32k | — | 60 | 270 |
| Venice (uncensored) | 32k | — | 150 | 580 |
deepseek-v4-uncensored | Venice (uncensored) | 128k | — | 100 | 390 |
Figures are rounded — read live prices from chatPricing.
Uncensored models
Models flagged uncensored: true (for example z-image-turbo, lustify-v8, wan-2.7, and the chat models venice-uncensored, venice-roleplay, deepseek-v4-uncensored) are only listed and usable for accounts that completed adult verification and enabled them in Settings → Content. Requests from other accounts return ADULT_VERIFICATION_REQUIRED or NSFW_DISABLED. The content policy applies to every model.