Skip to content

Images in Playground

Generate, edit and read saved images with narrowly scoped browser permissions.

No current prepared translation is available. The English source is shown without machine translation.

Playground Images

Images is the third Playground tab, next to Request builder and Model Verification. Choose an available key, a reviewed model/route and Generate or Edit. Generate needs a prompt; Edit accepts ordered source images and an optional supported mask. Only the selected route's settings are shown. When no key or offer is available, follow the displayed message or contact Support; do not send through another API domain.

Before Send, inspect the price. A known exact USD quote can be enforced as the maximum for that request. A token-metered price with no usage is unknown: acknowledgement does not make it free, approximate a guaranteed ceiling or reserve funds. Usage Limit valuation is separate from wallet cost. The confirmed quote is bound to the route, contract and effective price context; a changed quote must be refreshed before admission. Client file checks do not replace server decoding and bounds.

The page never receives the permanent key secret. Its temporary Images permission has a narrow purpose: read, one sealed creation or one saved-operation download retry. General browser keys remain unsuitable for long-running async/Batch. Accepted Images work can continue after its short permission expires, but your session, key and access must still be valid before processing starts. Already sent paid work cannot be cancelled by revoking the session.

Send creates one intention. Double-click protection, read-only polling and page reload do not send another generation. If the HTTP answer is lost, check the saved submission using the same intent. An explicit retry in the still-open page can send only the same serialized bytes and Idempotency-Key. Reloading preserves a scoped pointer, not the body, files, prompt or tokens, so it performs lookup only. The page opens with a blank form instead of reopening completed history. Selecting a history entry does not lock that form. Use New request above the controls to clear the draft; it never launches anything and never deletes prior operations. A known earlier operation can stay in history while you deliberately prepare different work. This is not a retry of an unknown paid outcome: investigate that earlier operation rather than duplicate it.

History and files use the same current key/actor access. Read access to completed work does not require a positive balance but still requires permission. Preview and Download verify private file size, type and checksum. A retrieval failure can retry downloads only, without generating or accounting again. Files expire under the24-hour policy; saved metadata/idempotency remains. accounting_recorded means ready for settlement, not proof of a wallet debit.

See operation states and retention, unpaid quotes, generation and editing. The Request builder's Responses image_generation tool is a separate foreground feature, not the new durable Images workflow.

Empty catalog or unavailable model

Check that the selected key is active and allowed to use the requested model and operation. Refresh the available offers or choose another supported model. An image capability badge alone does not guarantee an available generation or editing offer. If the catalog remains empty, contact Support with the model and operation, without sharing your API key. Do not change API domains or use another person’s credentials to bypass the problem.

Raw request, cURL and Raw response

Use the three tabs in Request and response to inspect your own operation. Raw request shows the complete API endpoint, a safe Authorization placeholder, the intent key and the generation JSON. Before launch it is a draft. After launch it describes the prepared request; copying never sends it again.

For editing, the text view is a multipart field/file summary, not a JSON body. Save exact request body saves the original multipart bytes as images-request-body.bin. The cURL tab then uses that file together with the same boundary and Idempotency-Key. Draft examples use local source/mask paths that you must supply. The endpoint uses your current service domain, including a custom domain; do not replace it with another service's host.

Set MODEL_API_KEY in your own shell to the same key and actor context selected in Playground. The browser permission is deliberately absent from the example. An unsent draft also requires IMAGES_IDEMPOTENCY_KEY, assigned once and retained. Executing cURL can incur a charge; copying it does not. Changing the key, actor or intent is not a retry of the old operation. Do not automatically resend after an ambiguous outcome.

Raw response lets you choose the submission response, latest status, lookup, download retry or an explicitly fetched saved result. It shows HTTP metadata followed by the original UTF-8 body, including errors and whitespace. Reading the saved result is not generation. The text preview is shortened after128KiB; Copy or Save contains the complete captured response up to64MiB. Interrupted, oversized or invalid-UTF8 responses are marked incomplete rather than offered as a complete capture.

Raw data stays only in the open tab. Changing keys clears it; reloading does not reconstruct the original request from history. Saved files and clipboard text can contain private prompts or outputs: keep them private. Clipboard access can be blocked by your browser; select the text manually or use Save.

Price quote and Usage Limit quote are preliminary values. Calculated cost is still distinct from a completed balance update. Saved-file availability requires an existing file and an unexpired download window. Aggregate-only token observations may appear in reported_tokens with token_usage_status=aggregate_only_not_priced; they do not supply a missing modality breakdown for token pricing. See generation response fields.

Automatic previews and operation progress

Completed images load automatically from the saved private result, with up to two checked file reads in parallel. No extra Preview click is needed. The Preview button remains a manual retry if loading failed. Status refresh does not download the same image repeatedly; inaccessible, corrupted or expired output is not replaced or regenerated.

Launch opens a progress window showing observed preparation, submission, queue, supplier and saved-result stages plus elapsed time. It cannot know the supplier's percentage complete. Close/Escape only hides it, and Show progress reopens the current view without sending. Loaded results close the window automatically. Viewing history alone does not interrupt you with a modal.

Accounting distinguishes the committed input from an observed settled debit and its timestamp. Awaiting settlement, temporarily unavailable and no longer available are not zero-cost outcomes. Calculated cost can be shown for a fixed per-image tariff after accounting as well as for a measured tariff. Settlement status is refreshed without reloading previews or sending another generation; Refresh remains available after bounded background reads end.

Supplier HTTP status, when present, describes the saved supplier response. HTTP202 in Raw response to creation merely acknowledges the operation; it does not show that supplier's success or failure. Investigate outcome_unknown rather than changing the intent to force another paid request.

When Launch is unavailable

The explanation beside Launch identifies incomplete settings, file validation, pending price calculation or unknown-cost confirmation. After valid parameters change, the price is calculated automatically; only a separate explicit Launch creates an image operation.

History across your keys

Operation history lists your own operations across the keys currently available to you. Use Filter history by key to narrow the list and Older operations for the next page. Selecting an earlier result does not change the key or draft of a new request. Expired results may remain in history but cannot be downloaded again from expired storage. A revoked or unavailable key does not gain new access through history.

A prompt can have a route-specific character limit. When no additional cap is configured, request-size limits still apply; large text is never silently truncated. A provider can impose its own constraints. Changing input requires a fresh price check before an explicit launch.

Prompt and compact operation details

The prompt counter shows prompt_max_chars and the current Unicode character count. Numeric caps constrain typing, paste and completed composition without splitting emoji; null removes only the additional character cap. An existing draft on a stricter route is retained and its exact blocking reason is shown. Audio prompt_max_chars0 disables optional context. Disabled Launch always has an adjacent reason. Accounting details reads the full authorized accounting view; compact status replies omit those fields and do not claim zero cost or completed settlement. Generated requests keep quote/route/idempotency binding but do not send max_cost_usd.

Get the result · Raw / cURL

After launching or selecting an operation in history, open Get the result · Raw / cURL immediately after Request and response in the result column. Operation history is the last block, spanning the full workspace width below both the form and results. Choose Operation status, Saved result (JSON), or an available Image file. Each image command uses its own zero-based file index and MIME-matched filename. Image entries appear only after file descriptors are available.

The displayed Operation key ID belongs to the history item, not necessarily to the key selected for a new form. Use that operation's authorized key and original actor context. Copying does not transfer access to another key or account. The API origin is https://api.model-gate.com for this profile, or the configured API origin of your current domain. No fallback to another profile is used.

The Raw block contains the bodyless GET endpoint and a safe Authorization placeholder. The cURL block uses your locally supplied MODEL_API_KEY and saves the response to a file. Browser tokens and key secrets are never copied. The commands have no create body, Content-Type, Idempotency-Key, quote or cost limit. Copy Raw and Copy cURL only copy text; selecting a command neither starts a download nor launches new work.

These are generated examples for another read, not the original request log. A command can be shown while a job is pending; it does not prove the result exists. Check status first and handle unavailable, expired or access-denied replies as errors, not media. --fail-with-body can write an HTTP error to the output file; check its exit status before opening that file. A failed read is not permission for another paid create. See the result API for complete examples.