Imagefactory Reports API
The Reports API from Imagefactory — 2 operation(s) for reports.
The Reports API from Imagefactory — 2 operation(s) for reports.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/imagefactory-co-kr:imagefactory-co-kr-reports-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Imagefactory External Reports API
version: 1.2.0
description: Team usage, resize, and image generation. Team integration keys are issued in My Page → API Keys. Approved team members can issue and use image keys; team-wide usage requires an admin or owner. Unapproved teams cannot issue image keys or submit new jobs. Removing team approval preserves accepted jobs and their settlement. Generate outputs are 1024×1024; use resize for exact dimensions. Reference instructions are optional per image. Pair mode requires count = reference count; roundrobin permits 1–5 outputs. Product images and design references have separate roles. Safe zones use output pixels from the top-left. Private input blobs are deleted on completion or timeout.
contact:
name: Imagefactory Support
url: https://www.imagefactory.co.kr
servers:
- url: https://www.imagefactory.co.kr
description: Production
security:
- bearerAuth: []
tags:
- name: Reports
paths:
/api/external/v1/reports:
post:
tags:
- Reports
summary: Create an HTML advertising report from a website URL
description: Server-to-server only. Requires reports:generate and separate team report approval. No email or contact is created; no points are charged. Daily team quota applies. Reuse requestId after a lost response; changing its URL returns 409. KR public advertising scope. Website evidence supports proposals when own ads are not observed. Peer evidence and successful website analysis are still required. Worker unavailable returns 503.
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- url
- requestId
properties:
url:
type: string
maxLength: 3000
requestId:
type: string
pattern: ^[a-zA-Z0-9_-]{8,128}$
responses:
'202':
description: Accepted or existing request. Poll jobId.
content:
application/json:
schema:
type: object
required:
- success
- data
properties:
success:
const: true
data:
type: object
required:
- jobId
- status
- stage
- createdAt
- updatedAt
properties:
jobId:
type: string
pattern: ^[a-f0-9]{64}$
status:
enum:
- queued
- running
- completed
- failed
stage:
enum:
- profile
- research
- build
- publish
reportUrl:
type: string
format: uri
errorCode:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
'400':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'401':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'402':
description: Insufficient team points. No job or debit created.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'403':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'409':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'413':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'429':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'500':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'503':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
operationId: postApiExternalV1Reports
x-operation-id-source: derived
/api/external/v1/reports/{jobId}:
get:
tags:
- Reports
summary: Get report progress and the public HTML URL
description: Only the creating key in its original team may poll. reportUrl appears only on completion. Open it in a new tab; anyone holding that URL can view the report. Poll no faster than every 10 seconds and back off on 429.
parameters:
- name: jobId
in: path
required: true
schema:
type: string
pattern: ^[a-f0-9]{64}$
responses:
'200':
description: Report status
content:
application/json:
schema:
type: object
required:
- success
- data
properties:
success:
const: true
data:
type: object
required:
- jobId
- status
- stage
- createdAt
- updatedAt
properties:
jobId:
type: string
pattern: ^[a-f0-9]{64}$
status:
enum:
- queued
- running
- completed
- failed
stage:
enum:
- profile
- research
- build
- publish
reportUrl:
type: string
format: uri
errorCode:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
'400':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'401':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'402':
description: Insufficient team points. No job or debit created.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'403':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'404':
description: Not found or outside key scope
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'409':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'413':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'429':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'500':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
'503':
description: Request rejected; inspect errorCode.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
const: false
errorCode:
type: string
requestId:
type: string
error:
type: object
properties:
code:
type: string
message:
type: string
operationId: getApiExternalV1ReportsByJobId
x-operation-id-source: derived
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: imf_<token>:<secret>
description: API keys are issued from the Imagefactory account dashboard (My Page → API Keys). Team owners and admins can issue integration keys with usage:read permission.