API 레퍼런스

GPT Image 2 오픈 API를 사용하여 프로그래밍 방식으로 이미지를 생성하고 편집하세요. 자체 API 키로 인증하고, 크레딧으로 결제하고, 폴링으로 결과를 받으세요.

개요

GPT Image 2 API를 사용하면 GPT Image 2 계정을 통해 이미지를 생성할 수 있습니다. 요청은 사이트 API 키를 사용하며 서버 측 Kie 통합을 통해 라우팅됩니다.

API 키 생성 경로:

/settings/apikeys

그런 다음 호출:

POST /api/v1/images/generations
GET /api/v1/images/tasks/{task_id}

이미지 생성은 비동기적입니다. 생성 엔드포인트는 작업 id를 반환하며, 작업 엔드포인트는 생성이 성공하면 최종 이미지 URL을 반환합니다.

인증

GPT Image 2 API 키를 Bearer 토큰으로 전송하세요:

Authorization: Bearer sk-xxx

브라우저 측 코드에 API 키를 노출하지 마세요. 백엔드, 스크립트 또는 서버리스 함수에서 사용하세요.

청구

API 사용은 웹 앱과 동일한 크레딧을 소비합니다:

작업크레딧 비용
이미지 생성이미지당 10 크레딧

작업이 수락되기 전에 제공업체 요청이 실패하면, 소비된 크레딧은 작업 실패 흐름에 의해 자동으로 환불됩니다.

이미지 생성 만들기

엔드포인트

POST https://gpt-image-2.art/api/v1/images/generations

요청 본문

파라미터타입필수설명
modelstring아니오gpt-image-2를 사용하세요. 내부 별칭 gpt-image-2-text-to-imagegpt-image-2-image-to-image도 지원됩니다.
promptstring이미지의 텍스트 설명. image_urls가 제공되지 않는 한 필수입니다.
image_urlsstring[]아니오이미지 간 생성을 위한 참조 이미지 URL.
ninteger아니오생성할 이미지 수, 1에서 10까지. 기본값: 1.
sizestring아니오1024x1024, 1536x1024, 1024x1536, 1920x1088, 1088x1920, 3824x2160, 2160x3824 또는 auto 중 하나.
qualitystring아니오제공업체 품질 옵션, 예: high 또는 auto.
output_formatstring아니오제공업체가 지원하는 경우 png, jpeg 또는 webp.
response_formatstring아니오url만 지원됩니다.
userstring아니오자체 추적을 위한 선택적 최종 사용자 식별자.

텍스트에서 이미지 예시

curl https://gpt-image-2.art/api/v1/images/generations \
  -H "Authorization: Bearer $GPT_IMAGE_2_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A cinematic product photo of a matte black coffee bag on a marble counter",
    "size": "1536x1024",
    "quality": "high",
    "n": 1
  }'

이미지에서 이미지 예시

curl https://gpt-image-2.art/api/v1/images/generations \
  -H "Authorization: Bearer $GPT_IMAGE_2_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Keep the product unchanged and place it on a clean studio background",
    "image_urls": ["https://example.com/product.png"],
    "size": "1024x1024",
    "n": 1
  }'

생성 응답

{
  "id": "8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3",
  "object": "image.generation",
  "created": 1714000000,
  "model": "gpt-image-2-text-to-image",
  "status": "pending",
  "credits": 10,
  "data": []
}

id를 저장하고 작업 엔드포인트를 폴링하세요.

이미지 작업 조회

엔드포인트

GET https://gpt-image-2.art/api/v1/images/tasks/{task_id}

예시

curl https://gpt-image-2.art/api/v1/images/tasks/8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3 \
  -H "Authorization: Bearer $GPT_IMAGE_2_API_KEY"

성공 응답

{
  "id": "8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3",
  "object": "image.generation",
  "created": 1714000000,
  "model": "gpt-image-2-text-to-image",
  "status": "succeeded",
  "credits": 10,
  "data": [
    {
      "url": "https://..."
    }
  ]
}

가능한 status 값:

상태의미
pending작업이 대기열에 있습니다.
processing제공업체가 이미지를 생성하고 있습니다.
succeeded이미지 URL이 data에서 사용 가능합니다.
failed생성에 실패했습니다.
canceled생성이 취소되었습니다.

JavaScript 예시

const apiKey = process.env.GPT_IMAGE_2_API_KEY;

const createRes = await fetch(
  'https://gpt-image-2.art/api/v1/images/generations',
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${apiKey}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      model: 'gpt-image-2',
      prompt:
        'A premium skincare bottle on wet stone with soft studio lighting',
      size: '1024x1024',
      n: 1,
    }),
  }
);

const task = await createRes.json();

let result = task;
while (['pending', 'processing'].includes(result.status)) {
  await new Promise((resolve) => setTimeout(resolve, 3000));
  const queryRes = await fetch(
    `https://gpt-image-2.art/api/v1/images/tasks/${task.id}`,
    {
      headers: {
        Authorization: `Bearer ${apiKey}`,
      },
    }
  );
  result = await queryRes.json();
}

console.log(result.data);

오류 형식

오류는 OpenAI 스타일 형식을 따릅니다:

{
  "error": {
    "message": "Invalid API key provided.",
    "type": "authentication_error",
    "param": null,
    "code": "invalid_api_key"
  }
}

관련 리소스