엔드포인트
이미지 생성
POST /images/generations로 텍스트에서 이미지를 만들거나 기존 이미지를 편집하는 방법을 안내합니다. 요청 파라미터, 응답 형식, 채팅 모델을 통한 생성, 모델 목록 조회, 가격을 다룹니다. 요청이 실패할 때의 오류 코드도 확인할 수 있습니다.
플레이그라운드에서 사용해 보기카탈로그의 모든 이미지 모델(GPT image, Gemini image, FLUX, Seedream, Recraft 등)로 이미지를 생성하고 편집합니다. 이 엔드포인트는 OpenAI SDK의 경로를 사용하므로 client.images.generate(...)가 그대로 동작합니다.
POST https://api14.com/api/v1/images/generations
POST /api/v1/images도 별칭으로 허용됩니다. 둘 다 본문을 변경 없이 전달합니다.
요청
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
model | string | 예 | 이미지 모델 ID. 예: openai/gpt-5.4-image-2. |
prompt | string | 예 | 그릴 내용. |
n | integer | 아니요 | 이미지 수. 이미지마다 과금됩니다. |
size | string | 아니요 | 예: 1024x1024, 1536x1024. 지원하는 크기는 모델마다 다릅니다. |
aspect_ratio | string | 아니요 | 예: 16:9, 1:1. 크기 대신 비율을 받는 모델용입니다. |
quality | string | 아니요 | 예: low, medium, high (지원되는 경우). |
response_format | string | 아니요 | b64_json 또는 url (지원되는 경우). |
image | string 또는 string[] | 아니요 | 편집 / 이미지 투 이미지를 위한 참조 이미지(URL 또는 data: URI). |
모델별 옵션(해상도, 화면 비율)은 GET /images/models와 각 모델 페이지에 나와 있습니다.
예제
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.images.generate({
"model": "openai/gpt-5.4-image-2",
"prompt": "A minimalist product photo of a ceramic mug on a wooden table",
"n": 1,
"aspect_ratio": "1:1"
});
import { writeFile } from "node:fs/promises";
await writeFile("image.png", Buffer.from(result.data[0].b64_json, "base64"));
응답
{
"created": 1791100000,
"data": [
{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..." }
],
"usage": { "cost": 0.04 }
}
일부 모델은 b64_json 대신 url을 반환합니다. 호스팅된 URL은 만료될 수 있으니 바로 내려받으세요.
채팅을 통한 이미지 생성
텍스트도 출력하는 이미지 모델은 modalities와 함께 Chat completions로 호출할 수 있습니다.
{
"model": "google/gemini-2.5-flash-image",
"modalities": ["image", "text"],
"messages": [{ "role": "user", "content": "A watercolor fox, square" }]
}
생성된 이미지는 choices[0].message.images[]에 데이터 URL로 반환됩니다.
이미지 모델 목록 조회
# Public, no API key needed
curl https://api14.com/api/v1/images/models
curl "https://api14.com/api/v1/models?category=image"
가격
이미지 모델은 모델에 따라 이미지당 또는 이미지 토큰 100만 개당 표시된 가격으로 과금됩니다. 정확한 비용은 업스트림 응답에서 가져와 USD 잔액에서 차감됩니다.
오류
| 상태 | 코드 | 발생 조건 |
|---|---|---|
| 400 | model_required / invalid_json | model이 없거나 본문 형식이 잘못되었습니다. |
| 402 | insufficient_balance | USD 잔액이 $0입니다. |
| 403 | model_not_allowed / plan_required | 키 허용 목록이나 요금제에서 해당 모델이 제외됩니다. |
| 404 | model_not_found | 알 수 없거나 비활성화된 모델 ID입니다. |
| 413 | payload_too_large | 본문(예: 인라인 참조 이미지)이 크기 제한을 초과했습니다. |
업스트림 검증 오류(지원하지 않는 크기, 콘텐츠 정책)는 해당 상태 코드 그대로 전달됩니다. 오류를 참고하세요.