API reference

Image generation

POST/v1/images/generations10 per image · +2 with store: true

Returns the image inline as base64 (b64_json), or a URL when the engine answers with one. Outputs are not retained on our side — unless you ask us to keep them:

Set store: true to persist the render to the eroq Store in the same call: the response answers with a durable CDN URL instead of base64, plus a stored block. The Store's rate (2 credits / started 10MB — one block for any 1024×1024 image) is charged on top and itemized in your ledger.

Image One is a diffusion engine: it responds to negative_prompt and cfg_scale, and reads comma-separated tag prompts as well as prose. It is NSFW-capable: mature imagery of adult characters renders within the acceptable-use policy; prompts outside it return content_blocked and are not charged.

Rendering takes a few seconds; the request holds until the image is ready.

Request body

FieldTypeDescription
promptrequiredstringWhat to draw, up to 2400 characters.
modelstringOnly eroq-image-one today. Default eroq-image-one.
negative_promptstringWhat to steer away from.
cfg_scalenumberPrompt adherence, 120. Engine default when omitted.
storebooleanPersist to the eroq Store and answer with a CDN URL. +2 credits per started 10MB. Default false.
response_formatstringb64_json (default) or url when available.

Example

curl https://eroq.ai/v1/images/generations \
  -H "Authorization: Bearer $EROQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "eroq-image-one",
  "prompt": "portrait of a starship mechanic, grease-stained overalls, warm hangar light, 35mm",
  "negative_prompt": "blurry, extra fingers"
}'

Response

application/json
{
  "created": 1756118400,
  "model": "eroq-image-one",
  "data": [{ "b64_json": "UklGRl4jAABXRUJQ…" }],
  "usage": { "credits_spent": 10, "credits_remaining": 987 }
}