주요 콘텐츠로 이동

모델 가이드

GPT Image 2 VIP

gpt-image-2-vip

정확한 크기

OpenAI Images API를 사용하며 정확한 크기, 이미지 편집, 세 가지 품질 단계를 지원합니다.

OpenAI 호환 경로텍스트로 이미지 생성이미지 편집품질 단계
모델 정보
모델 ID
gpt-image-2-vip
참고 가격
$0.03/회
출력 크기
1K / 2K / 4K
API 형식
OpenAI Images

프롬프트 프리셋

현재 YingTu에서 사용할 수 있는 설정입니다.

텍스트 포스터

A minimal coffee poster with the exact headline “COFFEE MADE SIMPLE”, high contrast type, warm natural light, clean commercial layout.

상품 배너

A clean e-commerce banner with a centered product, generous copy space, neutral background, and precise visual hierarchy.

UI 일러스트

A polished onboarding illustration with a simple interface motif, restrained colors, crisp shapes, and generous negative space.

사용 가능한 설정

현재 이미지 스튜디오에서 사용할 수 있는 설정입니다.

적합한 작업

  • 정확한 출력 크기
  • 눈에 띄는 텍스트가 있는 이미지
  • OpenAI Images 작업 흐름

사용 전 확인

  • 모든 결과에서 텍스트와 철자를 확인해야 합니다.
  • 품질 단계는 요청에 영향을 주므로 작업별로 선택하세요.
  • 이 페이지에서 선택할 수 있는 정확한 크기를 사용하세요.
이미지 편집: 지원

API 빠른 시작

이미지 스튜디오와 같은 요청 형식을 사용한 예시입니다.

API 페이지 보기
gpt-image-2-vip
import base64
import mimetypes
import os
import sys

import requests

API_KEY = os.environ.get("LAOZHANG_API_KEY")
if not API_KEY:
    raise RuntimeError("Set the LAOZHANG_API_KEY environment variable before running this example.")

REQUEST_TIMEOUT_SECONDS = 500
headers = {"Authorization": f"Bearer {API_KEY}"}

def extension_for_mime(mime_type):
    return {
        "image/jpeg": "jpg",
        "image/png": "png",
        "image/webp": "webp",
        "image/gif": "gif",
    }.get(mime_type, "bin")


def decode_base64_image(value, fallback_mime="image/png"):
    mime_type = fallback_mime
    encoded = value
    if value.startswith("data:"):
        header, encoded = value.split(",", 1)
        mime_type = header[5:].split(";", 1)[0] or fallback_mime
    return base64.b64decode(encoded, validate=True), mime_type


def parse_json_response(response):
    try:
        result = response.json()
    except ValueError as error:
        print("API returned a non-JSON response.", file=sys.stderr)
        raise SystemExit(1) from error
    if not isinstance(result, dict):
        print("API returned an unexpected JSON shape.", file=sys.stderr)
        raise SystemExit(1)
    return result


def extract_image(result):
    if not isinstance(result, dict):
        return None
    images = result.get("data") or []
    first_image = images[0] if images and isinstance(images[0], dict) else {}
    encoded = first_image.get("b64_json")
    if isinstance(encoded, str) and encoded:
        return decode_base64_image(encoded)

    image_url = first_image.get("url")
    if isinstance(image_url, str) and image_url:
        image_response = requests.get(image_url, timeout=REQUEST_TIMEOUT_SECONDS)
        image_response.raise_for_status()
        mime_type = image_response.headers.get("Content-Type", "image/png").split(";", 1)[0]
        return image_response.content, mime_type

    return None


def save_result_image(result):
    extracted = extract_image(result)
    if not extracted:
        keys = sorted(result.keys()) if isinstance(result, dict) else []
        print(f"No image data in response. Top-level keys: {keys}", file=sys.stderr)
        raise SystemExit(1)

    image_bytes, mime_type = extracted
    output_path = f"output.{extension_for_mime(mime_type)}"
    with open(output_path, "wb") as output_file:
        output_file.write(image_bytes)
    print(f"Image saved: {output_path} ({mime_type})")


API_URL = "https://api2.laozhang.ai/v1/images/generations"
headers["Content-Type"] = "application/json"

payload = {
    "model": "gpt-image-2-vip",
    "prompt": "A minimal coffee poster with the exact headline “COFFEE MADE SIMPLE”, high contrast type, warm natural light, clean commercial layout.",
    "size": "2048x2048",
    "quality": "high"
}

try:
    response = requests.post(
        API_URL,
        headers=headers,
        json=payload,
        timeout=REQUEST_TIMEOUT_SECONDS,
    )
except requests.Timeout as error:
    print(
        "Request timed out after 500 seconds. The result status may be unknown; "
        "check call and billing logs before retrying.",
        file=sys.stderr,
    )
    raise SystemExit(1) from error

if response.status_code != 200:
    print(f"API error {response.status_code}: {response.text}", file=sys.stderr)
    raise SystemExit(1)

save_result_image(parse_json_response(response))

Studio 예시

이 이미지에는 생성에 사용한 모델과 프롬프트가 기록되어 있지 않습니다. 시각 예시이며 모델 테스트 결과가 아닙니다.

Studio 예시
Studio 예시
Studio 예시

테스트 기록

YingTu 공개 테스트 결과

같은 절차로 다시 확인할 수 있는 공개 테스트 결과만 표시합니다. 공개되지 않은 내용은 표시하지 않습니다.

공개된 테스트 결과 없음

제품 디자인 유지

제품의 형태, 비율, 색상, 로고, 패키지 문구가 원본에서 의도치 않게 바뀌지 않는지 확인합니다.

공개된 테스트 결과 없음

배경 교체

피사체와 가장자리가 유지되는지, 요청한 배경으로 바뀌었는지, 불필요한 변화가 없는지 확인합니다.