미래를 만드는 코드

🚀 Flux.1 Kontext API 완벽 활용법: 프로페셔널 이미지 생성·편집 앱 만들기 가이드

kenko 2025. 6. 18. 11:55
반응형




  






목차

1. Flux.1 Kontext API란?  
2. 준비물: 계정 생성과 API 키 발급  
3. Google Colab에서 빠르게 시작하기  
4. 이미지 업로드 및 편집 실습  
5. Cursor/Windsurf로 웹앱 만들기  
6. 개발자 꿀팁: Pro/Max 모델 활용 전략  
7. 자주 묻는 질문(FAQ)  
8. 마무리 & 해시태그

    



1. Flux.1 Kontext API란? 🤖

Flux.1 Kontext API는 Black Forest Labs에서 개발한 최신 이미지 생성 및 편집 API야. 텍스트 프롬프트만으로 이미지 생성은 물론, 기존 이미지를 원하는 대로 수정할 수 있어!  
이 API는 빠른 응답 속도와 뛰어난 프롬프트 해석력, 그리고 반복적인 편집에도 캐릭터 일관성을 잘 유지하는 것이 특징이야.

- 텍스트→이미지, 이미지→이미지 변환 모두 지원  
- 세밀한 오브젝트 수정, 스타일 변환, 배경 교체, 텍스트 변경 가능  
- Pro 모델(빠른 개발), Max 모델(최고 품질) 선택 가능  
- API 기반으로 다양한 앱, 웹서비스에 쉽게 통합 가능

    



2. 준비물: 계정 생성과 API 키 발급 🛠️

2-1. Black Forest Labs Playground 방문

1. Black Forest Labs Playground(https://dashboard.bfl.ai) 접속  
2. 무료 계정 생성(이메일 인증 필요)  
3. 로그인 후 대시보드에서 API Key 생성  
   - “Add Key” 버튼 클릭, 용도별로 이름 지정(예: “테스트용”, “프로덕션용”)  
4. 발급된 API Key 복사  
5. 이 키는 꼭 안전하게 보관! 노출되면 안 돼.

2-2. 환경변수에 API Key 등록

- Colab, 로컬, 서버 등 환경에 맞게 아래처럼 등록  
  - Colab:  
    BFL_API_KEY = "여기에_복사한_API_KEY_붙여넣기"
  - 터미널:  
    export BFL_API_KEY="여기에_복사한_API_KEY_붙여넣기"
- 절대 클라이언트 코드(프론트엔드)에는 노출 금지!

    



3. Google Colab에서 빠르게 시작하기 ⚡

3-1. Colab 노트북 준비

1. Google Colab 새 노트북 생성  
2. 런타임 → 런타임 유형 변경 → 하드웨어 가속기: GPU 선택  
3. 필요한 패키지 설치  
   !pip install requests pillow

3-2. Flux.1 Kontext API로 이미지 생성

import requests
import base64

BFL_API_KEY = "여기에_복사한_API_KEY_붙여넣기"

def generate_image(prompt):
    url = "https://api.bfl.ai/v1/flux-kontext-pro"
    payload = {
        "prompt": prompt
    }
    headers = {
        "accept": "application/json",
        "x-key": BFL_API_KEY,
        "Content-Type": "application/json"
    }
    response = requests.post(url, json=payload, headers=headers)
    print(response.json())
    return response.json()

result = generate_image("A cat surfing on a rainbow")

- 위 코드를 Colab에 붙여넣고 실행  
- 결과로 이미지 URL 또는 base64 인코딩 이미지가 반환됨

3-3. 프롬프트 수정

- 원하는 이미지를 얻기 위해 prompt(프롬프트)만 자유롭게 수정  
- 예시:  
  - “A futuristic city skyline at night, neon lights”  
  - “Change the car color to red”  
- 프롬프트는 영어로 작성, 512 토큰 이내 권장

    



4. 이미지 업로드 및 편집 실습 🖼️

4-1. Colab에서 이미지 업로드

from google.colab import files
uploaded = files.upload()
filename = list(uploaded.keys())[0]

- Colab 파일 업로드 기능으로 편집할 이미지 선택

4-2. 이미지 base64 변환

with open(filename, "rb") as image_file:
    encoded_image = base64.b64encode(image_file.read()).decode()

4-3. 편집 API 호출

def edit_image(prompt, input_image):
    url = "https://api.bfl.ai/v1/flux-kontext-pro"
    payload = {
        "prompt": prompt,
        "input_image": input_image
    }
    headers = {
        "accept": "application/json",
        "x-key": BFL_API_KEY,
        "Content-Type": "application/json"
    }
    response = requests.post(url, json=payload, headers=headers)
    return response.json()

edit_result = edit_image("Change the background to a forest while keeping the person", encoded_image)

- prompt에 원하는 편집 내용을 영어로 입력  
- input_image에는 base64 인코딩된 이미지 값 입력  
- 결과는 이미지 URL 또는 base64 이미지로 반환됨

4-4. 편집 프롬프트 예시

- “Change the background to a beach while keeping the person in the same position”
- “Replace ‘old text’ with ‘new text’”
- “Add a red apple on the table”
- “Make the sky look like sunset”

4-5. 결과 이미지 저장

import requests

def save_image(image_url, filename):
    img_data = requests.get(image_url).content
    with open(filename, 'wb') as handler:
        handler.write(img_data)

# 예시: save_image(edit_result['result']['sample'], "output.jpg")

    



5. Cursor/Windsurf로 웹앱 만들기 🌐

5-1. Colab에서 동작 확인 후 코드 복사

- Colab에서 정상 동작하는 코드를 복사

5-2. Cursor/Windsurf에 붙여넣기

- “Create a web app for image generation with this API structure”라고 프롬프트  
- 백엔드: 위 Python 코드 활용  
- 프론트엔드: 파일 업로드, 프롬프트 입력, 결과 이미지 표시 UI 구현  
- API 키는 서버 환경변수로 관리

5-3. 기본 구조 예시

- 사용자: 이미지 업로드 + 프롬프트 입력  
- 서버: API 호출 → 결과 반환  
- 사용자: 결과 이미지 다운로드

5-4. 추가 기능 아이디어

- 편집 이력 저장 및 반복 편집  
- 다양한 프롬프트 템플릿 제공  
- Pro/Max 모델 선택 옵션  
- 결과 이미지 SNS 공유

    



6. 개발자 꿀팁: Pro/Max 모델 활용 전략 💡

- Pro 모델: 개발/테스트 단계에서 빠른 속도와 저렴한 비용으로 사용  
- Max 모델: 실제 서비스, 프로덕션 환경에선 품질 최우선으로 Max 모델 전환  
- 프롬프트 길이, 이미지 해상도, aspect_ratio 등 세부 파라미터도 조절 가능  
- 반복 편집(Iterative Editing) 기능으로 여러 번 수정해도 캐릭터, 스타일 일관성 유지

    



7. 자주 묻는 질문(FAQ) 🙋

Q1. 프롬프트는 꼭 영어로 써야 하나요?  
A. 네, 영어로 작성해야 가장 정확한 결과가 나와요.

Q2. 이미지 크기나 비율 조절은 어떻게 하나요?  
A. aspect_ratio 파라미터로 3:7~7:3 사이 비율 지정 가능해요.

Q3. 결과 이미지는 어디서 확인하나요?  
A. API 응답에서 반환되는 URL 또는 base64 이미지로 바로 확인할 수 있어요.

Q4. 편집 가능한 예시가 더 궁금해요!  
A. 색상 변경, 배경 교체, 오브젝트 추가/삭제, 텍스트 교체 등 거의 모든 편집이 가능해요.

Q5. API 키 유출 시 어떻게 하나요?  
A. 즉시 대시보드에서 해당 키를 삭제하고 새로 발급받으세요.

    



8. 마무리 & 해시태그 🎉

Flux.1 Kontext API를 활용하면 누구나 손쉽게 프로페셔널 이미지 생성·편집 앱을 만들 수 있어!  
Colab으로 빠르게 실험하고, 웹앱으로 확장해서 나만의 서비스도 런칭해보자.  
프롬프트만 잘 다루면, 디자인 실력 없이도 멋진 이미지를 뚝딱!  
이제 당신의 상상력을 코드로 실현해보자🚀

#Flux1Kontext #이미지생성API #AI이미지편집 #BlackForestLabs #Colab튜토리얼 #웹앱제작 #프롬프트엔지니어링 #개발자팁


반응형