iApp Image Generation
Generates an image from a Thai or English description, with the text you supply rendered in the picture exactly as written.
/v3/store/image-generation/iapp-image-generation/generateTry it- Price1.5 ICper request
- Capacity1,000 images/hour
- Served8.9Kcalls
Input
- prompt
- การ์ดอวยพรวันเกิดสีพาสเทล มีเค้กและลูกโป่ง ลายเส้นน่ารักแบบภาพประกอบ
- text
- สุขสันต์วันเกิด
- font
- itim
- size
- 1024x1024
OutputPOST /v3/store/image-generation/iapp-image-generation/generate

- status
- success
- id
- 20260902-054442-f26467
- width
- 1024
- height
- 1024
- font
- itim
- text
- สุขสันต์วันเกิด
- mime_type
- image/png
- time
- translate: 3.1 generate: 8.6 total: 11.8
- iapp
- images: 1 version: 1.0.0-20260902
Made with this API
Generated by v1.1.0 on 3 September 2026, unedited. Click a picture to see it full size.
Request
JSON, one image per request; a failed or rejected request is free. 1.5 IC per image during the preview; the list price of 3 IC applies when the preview ends, announced at least 14 days ahead.
Headers
apikeystringrequiredBody
promptstringrequiredtextstring | arrayprompt but not in text is not guaranteed.fontstringkanit-bold.sizestring1024x1024, the default, 1280x768, 768x1280, 1536x1024 or 1024x1536.stylestringphotorealistic, flat vector, watercolor.seedintegerreference_imagestringdata: prefix accepted, up to 6 MB. The picture keeps this image's subject, look and style and follows the prompt for the rest.personsarrayperson_referencestringoff, the default, or auto, which scans the prompt for well-known Thai people written with their exact full name or official position. Prefer persons.text_scalenumber| Endpoint | Does | Price |
|---|---|---|
POST /v3/store/image-generation/iapp-image-generation/generate | Makes one image | 3 IC per image, 1.5 IC in preview |
GET …/fonts | Lists the typefaces | Free |
GET …/persons?q= | Searches Thai public figures by name | Free |
GET …/persons/portrait?id= | A portrait thumbnail of a person | Free |
POST …/persons/detect | The people recognised in a description, for a confirmation step | Free |
The 19 typefaces
All published under the SIL Open Font License. kanit-bold, the default, and kanit, prompt-bold, prompt: modern. sarabun-bold, sarabun: formal, for documents. mitr: rounded. chakrapetch-bold: technical, geometric. athiti-bold: compact. k2d-bold: display. notosans: neutral sans-serif. pridi, taviraj, notoserif: serif. itim: playful. mali, sriracha: handwriting. charm: cursive handwriting. srisakdi: decorative.
People: search, portrait, detect
The demo's @ picker uses these free endpoints, which share a limit of 20 requests per second per key.
- Search,
GET …/persons?q=<name>&limit=<n>: a Thai or Latin name, full or partial; an emptyqreturns the most requested.limitis 1 to 24, default 12. Each result has a stableid, the Thainame,name_enand, for office holders, arole. - Portrait,
GET …/persons/portrait?id=<id>&size=<px>: a square JPEG,size48 to 320, default 128, cached 24 hours; 404 when there is none. - Detect,
POST …/persons/detectwith{"prompt": "…"}: up to four people recognised in the description, each withid,name,name_en,role, thematchedtext and itskind(role,fullorshort). It never adds anyone: use it to ask the user who should get a real face, then send the confirmed ids inpersons.
Response
image_base64, with its mime_type, width and height; the font, text and seed used; time, split into translate, generate and total; and text_check, whose result of ok, duplicate, missing or extra says whether the text came out exactly once. Every success carries the header iapp-input-images: 1.The image as Base64 in image_base64, with its mime_type, width and height; the font, text and seed used; time, split into translate, generate and total; and text_check, whose result of ok, duplicate, missing or extra says whether the text came out exactly once. Every success carries the header iapp-input-images: 1.
Status codes
| Code | Meaning |
|---|---|
| 400 | An invalid size, font or field; the message names it |
| 422 | Rejected by the content safety filter, prompt_rejected before generation or content_rejected after the image check; not charged |
| 503 | The model is starting; retry after 60 seconds |
Details
Measured
| Measure | Result |
|---|---|
| Thai text rendered exactly, gallery run of 34 prompts, 3 Sep 2026 | 32 of 34, 94% |
| Thai text letter-perfect, acceptance set of 11 prompts, 2 Sep 2026 | 11 of 11 |
| Generation time, 1024 × 1024 | 20 to 45 s |
| Serving capacity | About 17 images per minute, 1,000 per hour; beyond that, requests queue |
Limits
- Rate limits per key: 2 per second, 30 per minute, 600 per hour.
- Text keeps the shape of the chosen typeface; effects such as neon glow or chalk texture are applied only partially.
- Prompts describing sexual content, sexual content involving minors or extreme gore are rejected before generation, and every image is screened after it; with a real person in the picture, through
personsorreference_image, any sexual cue is rejected, swimwear included.
Data handling
Prompts and text are used only to make the requested image, which is returned inline and deleted within 24 hours. The model runs on iApp's own GPUs, and no prompt or image goes to a third party. The service is GDPR and PDPA compliant.
Changelog
| Version | Date | Changes |
|---|---|---|
| v1.1.3-20260904 | 4 Sep 2026 | Thai cultural knowledge grown from 31 to 791 concepts drawn from Thai Wikipedia, recognised in Thai or English on word boundaries and never where a word means something else, with all 50 test descriptions passing. |
| v1.1.2-20260904 | 4 Sep 2026 | Thai subjects named in a description, such as uniforms, Songkran, ordination, Muay Thai, khon, spirit houses and dishes, come out the way they look: of 12 Thai-culture prompts, 5 were wrong before and all 12 are right now. |
| v1.1.1-20260904 | 4 Sep 2026 | The content safety filter before and after generation, name detection limited to full names, official positions and first names of well-known people, and POST …/persons/detect, with the person endpoints limited to 20 requests per second. |
| v1.1.0-20260903 | 3 Sep 2026 | Text placed as a physical part of the scene, text_check in the response, reference_image, and more than 4,000 Thai public figures through persons, from the iApp Thai Famous People dataset. |
| v1.0.0-20260902 | 2 Sep 2026 | Preview release: Thai and English prompts, exact Thai text in 19 typefaces, five sizes, 1.5 IC per image. |







