REST API v1

img2htm API баримт бичиг

Нэг API дуудлагаар зургийг үйлдвэрлэлийн түвшний HTML болго
img2htm API зургийн файл эсвэл URL хүлээн авч HTML, CSS, ялгасан зураг, бүтэцлэгдсэн JSON, чанарын тайлан буцаана.

Эхлэх

img2htm API зургийн файл эсвэл URL хүлээн авч HTML, CSS, ялгасан зураг, бүтэцлэгдсэн JSON, чанарын тайлан буцаана. Сар бүрийн эхний 50 урьдчилан харах дуудлага үнэгүй.

  1. Бүртгэл үүсгэх → Хяналтын самбараас түлхүүр үүсгэх
  2. POST https://img2htm.com/api/v1/reconstruct with image_file, image_url or image_file_b64.
  3. Receive HTML, CSS, separated assets, structured JSON and a quality report in one response.

Хялбар интеграци

cURL, Node.js, Python, PHP, Ruby, Java, .NET, Swift жишээнүүд.

HTML + CSS + JSON

Нэг API дуудлагаар HTML, CSS, ялгасан зураг, бүтэцлэгдсэн JSON, чанарын тайлан авна.

Кредит гэж юу вэ?

Нэг кредит босоо 15,000 пиксел хүртэлх нэг зургийг бүрэн хөрвүүлнэ. Илүү урт зургийг автоматаар хэд хэдэн кредитээр тооцно. Урьдчилан харах нь үнэгүй.

Баталгаажуулалт

API түлхүүрээ Authorization: Bearer толгой эсвэл X-Api-Key толгойгоор илгээнэ үү.

Authorization: Bearer i2h_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# or
X-Api-Key: i2h_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Жишээ код

curl -X POST https://img2htm.com/api/v1/reconstruct \
  -H "Authorization: Bearer i2h_your_api_key" \
  -F "image_file=@product-page.jpg" \
  -F "mode=full" \
  -F "format=json"

Гаралтын формат

formatТайлбар
jsonDefault. JSON object with html, css, content (structured sections + texts), assets (separated image URLs), quality and urls.
htmlReturns the reconstructed index.html document directly (text/html).
zipStreams a ZIP with index.html, styles.css, content.json, quality.json, sections/ and assets/.

Хариу

{
  "id": "3f9a1c2b7d4e6f80a1b2",
  "status": "done",
  "mode": "full",
  "credits_used": 2,
  "width": 860,
  "height": 24000,
  "sections": 16,
  "quality": {
    "text_accuracy": 97.4,
    "visual_fidelity": 94.1,
    "structure": 95.2,
    "sections": 16,
    "seconds": 41.8,
    "provider": "anthropic:claude-sonnet-5",
    "review": [],
    "auto_pass": true
  },
  "urls": {
    "html": "https://img2htm.com/api/v1/jobs/3f9a1c2b7d4e6f80a1b2/html",
    "zip": "https://img2htm.com/en/convert/3f9a1c2b7d4e6f80a1b2/download",
    "preview": "https://img2htm.com/en/convert/3f9a1c2b7d4e6f80a1b2/preview"
  },
  "assets": ["https://img2htm.com/files/results/3f9a1c2b7d4e6f80a1b2/assets/s01-a01.png"],
  "html": "<!DOCTYPE html> ...",
  "css": "/* img2htm base styles */ ...",
  "content": { "sections": [ ... ], "texts": [ ... ] }
}

API лавлах

Reconstruct an image

POST/api/v1/reconstruct
ПараметрТөрөлТайлбар
image_file заавал*fileMultipart upload. JPG, PNG or WebP, up to 25 MB. *One of image_file, image_url, image_file_b64 is required.
image_urlstringPublic HTTP(S) URL of the image.
image_file_b64stringBase64-encoded image data.
mode сонголтоорfull | previewfull (default) converts the whole image and charges 1 credit per 15,000 vertical px. preview converts only the top 3,000 px for free.
lang сонголтоорstringOutput document language tag: ko, en, cn, tw, ja, mn, ru, th, id, vi, ar. Text is kept in its source language; this sets <html lang>/dir.
format сонголтоорjson | html | zipResponse format (see above).
async сонголтоор1Deprecated (always asynchronous): POST /reconstruct returns 202 Accepted with status: processing and a poll URL; poll GET /api/v1/jobs/{id} every 30–60 s until status: done (typically 30–45 min).

Get a job

GET/api/v1/jobs/{id}

Returns the job object. Add ?include_html=1 to embed html, css and content.

Get the HTML document

GET/api/v1/jobs/{id}/html

Returns index.html as text/html.

Account

GET/api/v1/account
{ "email": "you@example.com", "credits": 38, "pixels_per_credit": 15000, "key": "i2h_ab12cd34…", "calls": 1207 }

Image generation API

Text-to-image, image variations and rendered translation (the image is redrawn with its text translated). All asynchronous; results are returned as absolute image URLs and can be chained straight into HTML reconstruction.

1) POST /api/v1/images/variations   → 202 { "jobs":[{ "id":"…", "status":"processing", "poll":"…" }] }
2) GET  /api/v1/images/{id}          → { "status":"processing" }   (poll every 3–5 s, usually 40–90 s)
3) GET  /api/v1/images/{id}          → { "status":"done", "images":["https://img2htm.com/files/generated/….jpg"] }
4) POST /api/v1/images/{id}/reconstruct → 202 HTML reconstruction job (poll GET /api/v1/jobs/{id})

Text → image

POST/api/v1/images/generate
ПараметрТөрөлТайлбар
prompt заавалstringGeneration prompt (any language).
count1–4Number of images (one job each). Default 1.
ratioauto 1:1 4:3 3:4 16:9 9:16Aspect ratio. Default auto.
resolution1K 2K 4KDefault 2K.
curl -X POST https://img2htm.com/api/v1/images/generate \
  -H "Authorization: Bearer i2h_your_api_key" -H "Content-Type: application/json" \
  -d '{"prompt":"Minimal skincare product hero shot on white marble, studio light","ratio":"1:1","resolution":"2K"}'

Image → variations

POST/api/v1/images/variations
ПараметрТөрөлТайлбар
image_file / image_url / image_file_b64file | stringSource image (one of these, or source_id / job_id).
source_idstringId of a finished image job (optionally id#index) — chain variations of variations.
job_idstringId of a reconstruction job — reuse the image you already uploaded.
promptstringOptional instruction; the default keeps the product and style and changes composition/background.
count, ratio, resolutionSame as generate.
curl -X POST https://img2htm.com/api/v1/images/variations \
  -H "Authorization: Bearer i2h_your_api_key" \
  -F "image_file=@product.jpg" -F "count=2" -F "prompt=same product, night beach background"

Image translation (rendered)

POST/api/v1/images/translate

Re-renders the image with every visible text translated into lang (layout, colours and product photos are preserved). Same source parameters as variations plus:

ПараметрТөрөлТайлбар
lang заавалstringTarget language: en ko ja cn tw vi th id ru mn ar es fr de pt it hi tr ms tl (see GET /api/v1/translate/languages).
curl -X POST https://img2htm.com/api/v1/images/translate \
  -H "Authorization: Bearer i2h_your_api_key" -H "Content-Type: application/json" \
  -d '{"image_url":"https://example.com/detail-ko.jpg","lang":"ja"}'

Get / list image jobs

GET/api/v1/images/{id}
GET/api/v1/images?status=done&kind=variation&limit=50&page=1
{
  "ok": true, "id": "9c1f…", "kind": "variation", "status": "done", "progress": 100,
  "prompt": "same product, night beach background", "ratio": "auto", "resolution": "2K",
  "images": ["https://img2htm.com/files/generated/9c1f…-1.jpg"], "gen_seconds": 71.3,
  "credits_used": 0, "created_at": "2026-09-04 13:20:11", "finished_at": "2026-09-04 13:21:30",
  "poll": "https://img2htm.com/api/v1/images/9c1f…"
}

status: pending → processing → done | failed (error holds the reason; credits are refunded).

Generated image → HTML

POST/api/v1/images/{id}/reconstruct

Creates a reconstruction job from a finished image (index selects the image, default 0; mode full|preview; lang as in /reconstruct). Returns 202 with the job id — poll GET /api/v1/jobs/{id} like any reconstruction.

Translation · OCR API

Gemini-powered text translation and image OCR (+translation). Synchronous, responds within seconds.

Text translation

POST/api/v1/translate
ПараметрТөрөлТайлбар
text or textsstring | string[]One text, or up to 500 strings (max 60,000 characters per request).
target_lang заавалstringTarget language code.
source_langstringOptional; auto-detected by default.
curl -X POST https://img2htm.com/api/v1/translate \
  -H "Authorization: Bearer i2h_your_api_key" -H "Content-Type: application/json" \
  -d '{"text":"리뷰티 스튜디오는 이미지 생성 API를 제공합니다.","target_lang":"en"}'
# → { "ok":true, "target_lang":"en", "model":"gemini-…", "translation":"Rebeauty Studio provides an image generation API." }

Image OCR (+ translation)

POST/api/v1/ocr
ПараметрТөрөлТайлбар
image_file / image_url / image_file_b64 заавалfile | stringImage to read.
translate_tostringOptional target language: returns text (original) and translation.
curl -X POST https://img2htm.com/api/v1/ocr -H "Authorization: Bearer i2h_your_api_key" \
  -F "image_file=@banner.png" -F "translate_to=en"
# → { "ok":true, "text":"…extracted…", "translation":"…" }
GET/api/v1/translate/languages

Supported language codes and names.

Хүсэлтийн хязгаар

Минутад 60 зураг per API key. When exceeded the API responds 429 Too Many Requests with a Retry-After: 60 header. Enterprise plans can raise this limit.

Экспоненциал хүлээлт

On 429 or 5xx, retry with exponential backoff: wait 1s, 2s, 4s, 8s … up to 5 attempts, adding random jitter. Never retry 4xx errors other than 429.

delay = min(60, (2 ** attempt) + random(0, 1))

Алдааны кодууд

HTTPТайлбар
400Missing image or unreadable URL.
401Missing, invalid or revoked API key.
402Insufficient credits. Response includes credits_needed and credits_available.
413File exceeds the upload limit.
415Unsupported image type.
429Rate limit exceeded.
500Conversion failed. Credits charged for the job are refunded automatically; error contains the reason.

Сан ба хэрэгслүүд

API өөрчлөлтийн түүх

API өөрчлөлтийн түүх

Пикселд түгжигдсэн вэбээ буцааж ав

Бүртгүүлэхэд үнэгүй кредит. Кредит карт шаардлагагүй.