Models
Every published EggAPI model ID, its generation type, and how it is billed
Pass one of these IDs as model in POST /v1/generate. The /edit, /text-to-video, and /image-to-video suffixes are part of the ID: each variant is its own model.
Image Models
| Model | API model value | Generation type | Resolutions |
|---|---|---|---|
| Seedream 5.0 Pro | bytedance/seedream-v5.0-pro | text-to-image | 1k, 2k |
| Seedream 5.0 Pro Edit | bytedance/seedream-v5.0-pro/edit | image-to-image | 1k, 2k |
| Seedream 4.5 | bytedance/seedream-v4.5 | text-to-image | 1k, 2k, 4k |
| Seedream 4.5 Edit | bytedance/seedream-v4.5/edit | image-to-image | 1k, 2k, 4k |
| Nano Banana Pro | google/nano-banana-pro/text-to-image | text-to-image | 1k, 2k, 4k |
| Nano Banana Pro Edit | google/nano-banana-pro/edit | image-to-image | 1k, 2k, 4k |
| Nano Banana 2 | google/nano-banana-2/text-to-image | text-to-image | 0.5k, 1k, 2k, 4k |
| Nano Banana 2 Edit | google/nano-banana-2/edit | image-to-image | 0.5k, 1k, 2k, 4k |
| GPT Image 2 | openai/gpt-image-2/text-to-image | text-to-image | 1k, 2k, 4k |
| GPT Image 2 Edit | openai/gpt-image-2/edit | image-to-image | 1k, 2k, 4k |
See Image Models for parameters and examples.
Video Models
| Model | API model value | Generation type | Resolutions |
|---|---|---|---|
| Seedance 2.5 | bytedance/seedance-2.5/text-to-video | text-to-video | 480p, 720p, 1080p |
| Seedance 2.5 | bytedance/seedance-2.5/image-to-video | image-to-video | 480p, 720p, 1080p |
| Seedance 2.0 | bytedance/seedance-2.0/text-to-video | text-to-video | 480p, 720p, 1080p, 4k |
| Seedance 2.0 | bytedance/seedance-2.0/image-to-video | image-to-video | 480p, 720p, 1080p, 4k |
| Wan 3.0 | alibaba/wan-3.0/text-to-video | text-to-video | 480p, 720p, 1080p |
| Wan 3.0 | alibaba/wan-3.0/image-to-video | image-to-video | 480p, 720p, 1080p |
| Wan 2.7 | alibaba/wan-2.7/text-to-video | text-to-video | 720p, 1080p |
| Wan 2.7 | alibaba/wan-2.7/image-to-video | image-to-video | 720p, 1080p |
See Video Models for parameters and examples.
The catalog is published from the EggAPI admin and can change. The live list, with current prices, is always at eggapi.ai/models, in
https://eggapi.ai/llms.txt, and from thelist_modelstool of the MCP server.
Billing
| Kind | Unit | Charge |
|---|---|---|
| Image | Output image | Price for the requested resolution × number of returned images. |
| Video | Second of video | Price for the requested resolution × the duration the model reports, or the requested duration when it reports none. |
- Most models are priced per resolution. When
resolutionis omitted, the model's base price applies; a resolution the model has no price for is rejected with400 VALIDATION_ERROR. - Prices are shown on eggapi.ai/pricing and on each model page.
- Creating a task holds its estimated cost from your balance; a request your balance cannot cover is rejected with
403 INSUFFICIENT_BALANCE. When the task completes, the hold is settled against the actual charge, and a failed task's hold is refunded in full. Requests rejected before a task is created are not charged.
Common Parameters
These top-level fields work with every model. Model-specific options go in parameters.
| Field | Type | Description |
|---|---|---|
model | string | Required. A model ID from the tables above. |
prompt | string | Required. Prompt text. 1 to 100000 characters. |
negative_prompt | string | What the output should avoid, for models that support it. Up to 1000 characters. |
aspect_ratio | string | Default 16:9. 16:9, 9:16, 4:3, 3:4, 1:1, or 21:9. |
resolution | string | Output resolution from the model's list above. Also selects the price tier. |
num_outputs | integer | Default 1. Number of images for text-to-image models. Up to 16; each returned image is billed. |
duration | integer | Video length in seconds. Required for video models; the published video models accept 4 to 15. |
image_urls | string[] | Public http(s) URLs of input images: the source images of an edit model, or the first frame of an image-to-video model. Up to 32 URLs. Use POST /v1/uploads to host local files. |
parameters | object | Model-specific options forwarded to the provider, such as output_format, last_image, reference_images, or generate_audio. Unknown top-level fields are forwarded the same way. |
webhook_url | string | Callback URL, up to 2048 characters. EggAPI sends task.completed or task.failed when the task finishes. See Async Tasks. |
nsfw_filter | boolean | Default false. Screens the prompt and every input image with the NSFW filter before the model runs. A blocked request returns 400 CONTENT_BLOCKED and is not charged; if the filter cannot give a verdict the request returns 503 MODERATION_UNAVAILABLE and nothing is generated. Off by default for API and MCP calls, always on in the EggAPI playground. Video and audio inputs are not screened. |
Routing and Providers
Each model has a chain of upstream provider routes. EggAPI sends the task to the first healthy route and falls back to the next one when a provider fails, with a circuit breaker per route. The upstream provider is an implementation detail, not part of the API contract: the model ID, parameters, and output format stay the same whichever provider runs the task.