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·품질 리포트를 받으세요.

크레딧이란?

1 크레딧으로 세로 15,000 px까지의 이미지 1장을 전체 변환할 수 있습니다. 더 긴 이미지는 자동으로 여러 크레딧이 계산됩니다. 미리보기는 무료입니다.

인증

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 선택1Return 202 Accepted immediately; poll GET /api/v1/jobs/{id} for the result.

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 }

요청 한도

분당 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 변경 이력

이미지 속에 갇힌 웹을 지금 되찾으세요

가입 즉시 무료 크레딧을 드립니다. 신용카드가 필요 없습니다.