HiAPI
블로그

튜토리얼

FIBO 1.5 API 사용법? 5분 안에 생성과 편집 실행하기

fibo-gen-1.5 텍스트→이미지 + fibo-edit-1.5 한 문장으로 이미지 수정: curl/Python 예제, 파라미터 표, 오류 원문.

Oct 22, 2026
FIBO 1.5 API 사용법? 5분 안에 생성과 편집 실행하기

TL;DR

  • FIBO 1.5는 「생성 + 편집」 한 쌍의 인터페이스입니다: fibo-gen-1.5/text-to-image는 사실적 텍스트→이미지(화면 속 텍스트도 정확히 표현), fibo-edit-1.5/image-to-image는 한 문장으로 이미지 수정(최대 4장 참조, 마스크로 부분 수정 가능). Gen 모델 페이지 열기에서 바로 체험할 수 있고, 신규 가입 시 200 크레딧을 드립니다.
  • 양쪽 동일 가격: 1장 $0.0575, 먼저 생성 후 편집하는 파이프라인은 $0.115(가격 페이지 참조).
  • 호출은 HiAPI /v1/tasks 인터페이스를 사용합니다: 작업을 제출해 taskId를 받고, 그다음 결과를 조회합니다. 편집 인터페이스의 지시 필드는 instruction이며, prompt가 아닙니다.

무엇을 할 수 있나

  • 사실적 이미지 + 정확한 텍스트: 제품 라벨, 매장 간판 같은 화면 속 텍스트를 글자 그대로 정확히 쓸 수 있습니다(아래 사례의 라벨은 NOIR 07).
  • 한 문장으로 이미지 수정: Edit는 instruction으로 무엇을 바꿀지 설명하고, 포즈·얼굴·배경처럼 언급하지 않은 부분은 그대로 유지합니다.
  • 최대 4장 이미지로 합성: 의상 교체, 배경 교체, 제품을 장면에 배치, image_urls를 순서대로 참조합니다.
  • 마스크로 부분만 수정: 흰색 = 수정할 영역, 검은색 = 유지.

아래는 Gen의 실제 결과물입니다:

Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads 'NOIR 07' in elegant serif letters

(한국어 의미: 럭셔리 향수 제품 사진: 젖은 검은 대리석 위의 앰버색 유리병, 금색 뚜껑, 부드러운 림 라이트, 병에 물방울, 라벨에는 NOIR 07. 비율은 4:5 선택.)

fibo-gen-1.5/text-to-image, 4:5, 768×960, $0.0575.

이 프롬프트로 생성하기 →

두 인터페이스 선택 방법

fibo-gen-1.5/text-to-image fibo-edit-1.5/image-to-image
하는 일 텍스트에서 사실적 이미지 생성 한 문장으로 기존 이미지 수정
필수 입력 prompt image_urls(1–4장) + instruction
가격 $0.0575/장 $0.0575/장
특징 파라미터 aspect_ratio 9종, seed(기본 5555) mask_url 마스크, seed(기본 5555)
적합 새 이미지 생성, 텍스트가 들어간 소재 의상 교체/배경 교체/합성, 부분 미세 조정

전형적인 파이프라인: Gen으로 기본 이미지 생성 → Edit로 세트 이미지로 변경(배경 교체, 색상 변경, 요소 추가). 시나리오별 프롬프트 선택은 프롬프트 모음을 참조하세요.

두 가지 시작 경로

브라우저 3단계: 모델 페이지 열기 → 프롬프트 붙여넣고 비율 선택 → 생성 클릭, 1장 $0.0575.

API 3단계: POST /v1/tasks 제출 → taskId 받기 → GET /v1/tasks/<taskId>로 success 확인 후 다운로드.

curl: 첫 이미지

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: your-unique-key-001" \
  -d '{
  "model": "fibo-gen-1.5/text-to-image",
  "input": {
    "prompt": "Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads '"'"'NOIR 07'"'"' in elegant serif letters",
    "aspect_ratio": "4:5",
    "seed": 2026
  }
}'

편집 인터페이스: model을 fibo-edit-1.5/image-to-image로 변경하고, 지시는 instruction에 작성하며, 이미지를 순서대로 참조합니다(두 이미지 합성 가상 착용):

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "fibo-edit-1.5/image-to-image",
  "input": {
    "image_urls": [
      "https://static.hiapi.ai/gallery/2026/10/78f963cb21d0242c.jpg",
      "https://static.hiapi.ai/gallery/2026/10/36246b7cabde4a1a.jpg"
    ],
    "instruction": "Dress the woman in image 1 with the mustard corduroy jacket from image 2, worn open over her white t-shirt. Keep her pose, face and the studio background.",
    "aspect_ratio": "3:4"
  }
}'

마스크 부분 편집: mask_url은 1장 이미지에만 사용할 수 있습니다. 흰색 = 수정할 영역(Ideogram 4.5 Edit와 정반대):

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "fibo-edit-1.5/image-to-image",
  "input": {
    "image_urls": ["https://static.hiapi.ai/gallery/2026/10/d9037da1559e78a6.jpg"],
    "mask_url": "https://static.hiapi.ai/gallery/2026/10/cae371f9e4689db5.png",
    "instruction": "Replace the floor under the sneaker with light wooden planks."
  }
}'

Python: 제출, 폴링, 다운로드

import time, uuid, requests

BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}

payload = {
    "model": "fibo-gen-1.5/text-to-image",
    "input": {
        "prompt": "Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads 'NOIR 07' in elegant serif letters",
        "aspect_ratio": "4:5",
        "seed": 2026,
    },
}

resp = requests.post(
    BASE,
    headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
    json=payload,
    timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["taskId"]

while True:
    task = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()
    print(task["status"])
    if task["status"] in ("success", "fail"):
        break
    time.sleep(3)

if task["status"] == "success":
    image_url = task["output"][0]["url"]   # 임시 주소이므로 가능한 한 빨리 다운로드해 저장
    img = requests.get(image_url, timeout=60)
    with open("output_image", "wb") as f:
        f.write(img.content)
    print("saved")

파라미터 표

fibo-gen-1.5/text-to-image

필드 필수 값 설명
prompt 예 1–10000자 화면 설명; 나타나야 할 텍스트는 따옴표 안에(the label reads '…')
aspect_ratio 아니오 1:1 / 2:3 / 3:2 / 3:4 / 4:3 / 4:5 / 5:4 / 9:16 / 16:9, 기본 1:1 9종 비율 동일 가격
seed 아니오 정수, 기본 5555 전달하지 않아도 고정: 같은 프롬프트 같은 결과; 변화를 원하면 seed 변경

fibo-edit-1.5/image-to-image

필드 필수 값 설명
image_urls 예 1–4장 순서가 중요하며, instruction에서 순서대로 참조(image 1, image 2)
instruction 예 ≥1자 무엇을 바꿀지; 언급하지 않은 내용은 그대로 유지
aspect_ratio 아니오 위와 동일 9종 2장 이상 이미지일 때만 적용; 단일 이미지 출력은 원본 비율 유지
mask_url 아니오 이미지 주소 단일 이미지 편집만; 흰색 = 수정, 검은색 = 유지; 크기는 원본 이미지와 일치해야 함
seed 아니오 정수, 기본 5555 동일 입력 재현

요청 본문에 표에 없는 필드가 있으면 바로 400이 발생합니다.

만나게 될 오류(인터페이스 원문)

수행한 작업 반환
Gen에서 prompt 미전달 400 invalid input: prompt: missing required field "prompt"
Gen의 seed에 문자열 전달 400 invalid input: seed: got string, want integer
aspect_ratio 오타 400 invalid input: aspect_ratio: value must be one of '1:1', '2:3', '3:2', '3:4', '4:3', '4:5', '5:4', '9:16', '16:9'
Edit에서 instruction 미전달 400 invalid input: instruction: missing required field "instruction"
Edit에 5장 이미지 전달 400 invalid input: image_urls: maxItems: got 5, want 4
마스크에 2장 이미지 지정 400(mask_url이 있을 때 image_urls는 1장만 가능)
잔액 부족 402 insufficient account balance; top up and retry

동일한 Idempotency-Key로 중복 제출하면 409 또는 422가 반환되며, 새 key로 다시 시도하세요.

출시 전 주의사항

  • 콜백: 요청 본문 최상위에 "callback": {"url": "https://..."}를 전달하면 종료 상태를 자동으로 알려주어 폴링을 줄일 수 있습니다.
  • 즉시 저장: output[0].url은 임시 주소이므로 받는 즉시 다운로드하세요.
  • 지시에 이미지 순서 명시: 다중 이미지 합성 시 image 1 / image 2로 참조하며, 순서는 image_urls의 순서입니다.
  • 마스크 흑백 의미: FIBO는 흰색 = 수정, 검은색 = 유지; 다른 편집 모델에서 스크립트를 이전할 때는 먼저 마스크를 뒤집으세요.

자주 묻는 질문

편집 지시의 필드 이름은 무엇인가요?

instruction이며, prompt가 아닙니다. 필드명을 잘못 쓰면 필드 누락 오류가 발생합니다.

입력 이미지는 최대 몇 장까지 전달할 수 있나요?

최대 4장이며, 5번째는 바로 400이 발생합니다.

seed는 무슨 용도인가요?

기본 5555로 고정되어 있어 같은 입력은 재현됩니다. 다른 결과를 원하면 명시적으로 seed를 변경하세요.

두 인터페이스의 가격과 호출 방식은 같은가요?

같습니다. model과 input 필드만 바꾸면 됩니다. 생성과 편집 모두 1장 $0.0575입니다.

다음 단계: 향수 프롬프트로 모델 페이지에서 한 장 생성한 뒤, 한 문장의 instruction으로 원하는 버전으로 바꿔 보세요. 시나리오 템플릿은 프롬프트 모음을 참조하세요.

영구 AI 아티팩트로 빌드 시작하기

API 키를 받아 태스크 기반의 하나의 API로 이미지, 비디오, 오디오 모델을 호출하세요.

API 문서 보기