Skip to main content
Orux AIOruxAI

Orux AI / 모델 노트

FLUX.2 Pro 이미지를 A4 관찰 활동지로 배치하기

기존 FLUX.2 Pro 여우 사례로 Python A4 관찰 활동지를 만듭니다. 이미지를 늘이지 않고 질문을 따로 조판하며 유효 해상도와 재사용 비용을 확인합니다.

Orux AI게시 18 분 읽기
FLUX.2 Pro 이미지를 A4 관찰 활동지로 배치하기 — 기존 FLUX.2 Pro 여우 사례로 Python A4 관찰 활동지를 만듭니다.
목차

실제로 갖고 있는 이미지에 맞춰 페이지를 구성하세요

정사각형 FLUX.2 Pro 일러스트로 동물을 늘이거나 모델에 워크시트의 글자까지 생성하게 하지 않고도 A4 관찰 활동지를 만들 수 있습니다. 전체 이미지를 치수가 정해진 정사각형 영역 안에 유지하고, 질문은 따로 조판하며, AI 생성 이미지임을 표시하세요. 이 글은 Orux에 이미 저장된 눈 속 여우 사례를 사용해, 프롬프트 제안에 그치지 않고 재현 가능한 실제 페이지 레이아웃을 만듭니다.

대상 독자는 보이는 세부 사항을 묘사하고 관찰과 근거 없는 추론을 구분하는 시각 문해력 활동을 준비하는 교육자입니다. 동물학적 식별 자료나 야생동물 목격 증거를 만드는 작업은 아닙니다. 완성된 페이지에는 손으로 메모할 공간을 남기고, 일러스트만으로 무엇을 확인할 수 없는지 질문합니다. 코드는 재사용 권한이 있는 기존 사례를 다운로드해 로컬에서 페이지를 조립하고, 전체 해상도의 PNG를 저장합니다. 생성 요청은 보내지 않습니다.

기존 FLUX.2 Pro 여우 일러스트와 같은 이미지로 로컬에서 조판한 A4 관찰 활동지.
기존 FLUX.2 Pro 여우 일러스트와 같은 이미지로 로컬에서 조판한 A4 관찰 활동지.

그림의 소재는 기존 모델 일러스트에서 가져왔고, 활동지는 같은 이미지로 로컬에서 배치했습니다. 활동지 자체가 또 다른 모델 출력은 아닙니다.

실제 FLUX.2 Pro 여우 사례에서 시작하기

원본은 Orux FLUX.2 Pro 모델 페이지의 fox 사례입니다. 저장된 생성 입력은 resolution: "1K", aspect_ratio: "1:1"을 사용하며, 정확한 프롬프트는 다음과 같습니다. 영어 원문을 그대로 옮깁니다.

Wildlife photograph of a red fox standing in fresh snow in a birch forest, soft snowflakes falling, warm rim light on its fur, shallow depth of field.

“photograph”라는 단어는 생성 요청의 일부이지, 결과물이 실제 동물을 기록한 사진이라는 주장은 아닙니다. 기존 출력은 AI가 생성한 1,024 × 1,024픽셀 일러스트입니다. 저장된 결과를 재사용했으며, 이 글을 위해 FLUX.2 Pro를 새로 호출하지 않았습니다.

기존 FLUX.2 Pro 사례: 부드럽게 표현된 자작나무를 배경으로 눈 위에 선 붉은여우와 따뜻한 윤곽광.
기존 FLUX.2 Pro 사례: 부드럽게 표현된 자작나무를 배경으로 눈 위에 선 붉은여우와 따뜻한 윤곽광.

FLUX.2 Pro가 생성한 원래 공개 여우 사례입니다. 1,024 × 1,024 일러스트를 변경하지 않은 원본 그림으로 재사용하며, 야생동물 사진으로 제시하지 않습니다.

눈에 보이는 구도는 레이아웃을 결정하는 데 중요합니다. 여우의 머리는 동물 형상의 오른쪽 위에 있고, 몸과 꼬리는 왼쪽 아래로 뻗어 있습니다. 눈, 부드럽게 표현된 나무 배경, 따뜻한 윤곽광처럼 관찰할 세부 사항이 여러 개 있습니다. 정사각형 전체를 유지하면 꼬리, 다리, 주변 맥락을 보존합니다. 정사각형을 늘여 긴 페이지 전체를 채우면 이런 관계가 왜곡됩니다. 세로로 좁게 잘라내면 학습자가 묘사할 수 있는 주변 정보가 사라집니다.

가로형·세로형 웹 헤더를 의도적으로 채우는 다른 레이아웃 작업은 Seedream 반응형 자르기 가이드를 참고하세요. 이 활동지에서는 원본 정사각형 전체를 유지합니다.

수업 질문은 보이는 세부 사항에 가깝게 유지해야 합니다. “그림의 어느 부분에서 추운 날씨를 짐작할 수 있나요?”는 눈과 묘사된 배경을 근거로 설명하게 합니다. “이 사진은 어디에서 찍었나요?”는 생성 이미지가 제공하지 않는 출처를 전제합니다. 사실적으로 보인다는 이유만으로 장소, 계절, 카메라 설정, 동물 행동을 추론하지 마세요.

이미지 생성 설정과 페이지 치수를 분리하세요

2026년 11월 3일에 확인한 Orux 공개 입력 폼은 이 별칭에 대해 1K 해상도와 1:1 화면비만 제공합니다. 저장된 여우 출력도 이 정사각형 형식과 일치합니다. 아래에서 만드는 2,480 × 3,508픽셀 활동지는 로컬에서 조립한 페이지이며, FLUX.2 Pro가 생성한 A4 이미지가 아닙니다.

Black Forest Labs의 네이티브 치수 문서는 FLUX.2의 더 폭넓은 너비·높이 제어를 설명합니다. 하지만 그 네이티브 기능이 현재 Orux 입력 폼의 추가 제어 항목이라는 뜻은 아닙니다. 이 작업에서는 검증되지 않은 사용자 지정 크기 매개변수에 의존하지 말고, 실제로 접근할 수 있는 정사각형 결과를 사용하세요.

페이지는 W3C 페이지 크기 참고 문서에도 나오는 210 × 297 mm의 A4 공칭 비율을 따릅니다. 인치당 300픽셀의 페이지 격자에서 반올림하면 2,480 × 3,508픽셀이 됩니다. 일러스트는 1,000 × 1,000픽셀 영역에 두고, 제목과 질문은 그 바깥에 배치합니다. 이렇게 하면 소스 코드에서 이미지와 편집용 텍스트를 독립적으로 수정할 수 있습니다.

이 구분은 글자가 정확해야 할 때 유용합니다. 맞춤법 수정, 번역, 새 질문에는 이미지 생성을 다시 시도할 필요 없이 로컬 레이아웃만 편집하면 됩니다. 내보낸 PNG는 하나로 합쳐진 이미지이므로 별도 텍스트 레이어가 남아 있을 것이라고 기대하지 말고, Python 소스와 원본 이미지를 편집 가능한 마스터로 보관하세요.

완성된 활동지가 실제로 제공하는 것

페이지에는 짧은 제목, 구도를 유지한 정사각형 이미지, 관찰 질문 세 개, 메모용 줄 다섯 개가 있습니다. 눈에 보이는 캡션에 AI 생성 이미지이며 야생동물 기록이 아니라고 명시합니다. 코드 안의 활동지 라벨은 영어이며 미리보기에서도 영어로 남아 있습니다. 현지화된 글의 캡션이 레이아웃을 설명합니다. 다른 언어로 된 활동지를 만들려면 텍스트 문자열을 바꾸고 해당 문자를 지원하는 글꼴을 사용한 다음 경계 검사를 다시 실행하세요.

세 질문의 역할은 서로 다릅니다. “What can you see?(무엇이 보이나요?)”는 직접적인 묘사를 요청합니다. “What suggests cold?(어떤 단서가 추위를 암시하나요?)”는 결론을 시각적 단서와 연결하도록 합니다. “What is uncertain?(무엇이 불확실한가요?)”는 부족한 증거를 알아차리게 합니다. 해설에서는 눈에 보이는 특징과 현실 세계에 대한 주장을 구분해야 합니다. 이미지의 바닥은 눈처럼 보이지만, 측정된 기온이나 지리적 위치는 확인할 수 없습니다.

이미지 영역의 너비는 공칭 인쇄 배율에서 약 84.67 mm입니다. 그 너비에 원본의 1,024픽셀을 배치하므로, 원본의 유효 밀도는 인치당 307.2픽셀입니다. 이는 파일에 단순히 “300 DPI”라고 적는 것과 다릅니다. 메타데이터로 원본의 세부 묘사를 만들어 낼 수는 없습니다. 같은 이미지를 너비 180 mm로 확대하면 페이지 메타데이터와 상관없이 원본 밀도가 약 인치당 144.5픽셀로 떨어집니다.

307.2는 리샘플링 전 원본 픽셀 수를 기준으로 한 계산입니다. 코드는 1,024픽셀 원본을 1,000픽셀 영역으로 축소하므로, 명목상 페이지 배율에서 실제 배치된 이미지 영역은 인치당 300픽셀입니다.

여우의 정사각형 일러스트 전체를 유지하고 관찰 질문과 AI 생성 이미지 표시를 추가한 A4 활동지.
여우의 정사각형 일러스트 전체를 유지하고 관찰 질문과 AI 생성 이미지 표시를 추가한 A4 활동지.

실제로 로컬에서 내보낸 활동지를 축소한 웹 미리보기입니다. 보존한 정사각형 일러스트 바깥에 영어 라벨, 질문 세 개, 메모용 줄이 있습니다. 캡션은 AI 생성 그림임을 명시합니다.

본문에 삽입한 페이지 이미지는 축소된 웹 미리보기입니다. 전체 2,480 × 3,508 해상도의 PNG는 코드를 실행해 로컬에서 만드세요. 실제 프린터로 시험 인쇄하지 않았으며, 인쇄 대화상자의 “페이지에 맞추기” 설정이 실제 배율을 바꿀 수 있습니다. 수업용으로 배포하기 전에 자신의 장치에서 용지 크기, 프린터 여백, 대비, 필기 공간을 확인하세요.

비용 비교: 재사용, 새 이미지 한 장, 후보 열 장

2026년 11월 3일에 확인한 flux-2-pro의 현재 Orux 요금은 공개 기본 가격 항목 기준 이미지당 2.67024 Credits입니다. 설정된 환산 기준인 1 Credit = USD 0.005를 적용하면 이미지당 USD 0.0133512입니다. 실제 재사용 가능한 자산은 저장된 1K 정사각형 사례이며, 다른 해상도에 대한 검증되지 않은 가격은 가정하지 않습니다.

작업 선택새 이미지 요청 수Orux 생성 비용 계획액달라지는 부분
재사용 권한이 있는 이 기존 사례를 사용하고 로컬에서 조판0추가 0 Credits (USD 0)활동지 문구, 여백, 레이아웃
현재 표시 요금으로 새 후보 한 장 생성12.67024 Credits (USD 0.0133512)다른 생성 일러스트
현재 표시 요금으로 후보 열 장 생성1026.7024 Credits (USD 0.133512)검토할 이미지 후보가 늘어남. 쓸 수 있는 활동지 열 장을 보장하지는 않음

좌우로 밀어 전체 표를 확인하세요.

0인 행은 재사용 자산에 대해 새로운 모델 생성 요금이 없다는 뜻입니다. 모든 자산을 무료로 재사용할 수 있다거나 소프트웨어, 인력, 인쇄에 비용이 없다는 뜻은 아닙니다. 재사용 권한이 있는 자료를 사용하세요. 다른 행도 산술적인 계획 예시이며, 이 글에서 실행한 요청, 계정 견적, 성공률 주장이 아닙니다.

다른 일러스트를 확보하는 결정과 페이지를 조정하는 결정을 분리하세요. 메모 영역을 넓히는 것은 조판 문제입니다. 자세나 장면을 완전히 바꾸려면 다른 원본 그림이 필요합니다. 활동지 제목을 고치려고 그림을 다시 생성하면 텍스트 배치라는 근본 문제는 해결하지 못한 채 비용과 시각적 변동만 늘어납니다. 나중에 유료 연동을 진행하기 전에 현재 모델 가격과 Orux API 문서를 확인하세요.

Python으로 전체 페이지 재현하기

Python 3.9 이상을 사용하고 python3 -m pip install "Pillow>=10.1"로 Pillow를 설치하세요. 아래 코드를 make_card.py로 저장한 다음 쓰기 가능한 디렉터리에서 python3 make_card.py를 실행합니다. Pillow는 크기를 조절하는 기본 글꼴과 이미지 저장을 문서화하고 있습니다. 이 프로그램은 기존 공개 JPEG를 가져와 로컬에서 배치하며, 생성 엔드포인트에 접속하거나 API 키를 사용하지 않습니다.

Python
import hashlib
import io
import json
import urllib.request
from pathlib import Path
from PIL import Image, ImageDraw, ImageFont

URL = 'https://orux-ai.oss-cn-hongkong.aliyuncs.com/model-examples/9129330888225451304/b90f1d3428e4759fb18de8a1781769dc81ddfc45725a21d6982692c107812698.jpg'
SHA = 'b90f1d3428e4759fb18de8a1781769dc81ddfc45725a21d6982692c107812698'
OUT = Path('fox-card.png')
PAGE = (2480, 3508)  # Rounded A4 pixel grid at 300 pixels per inch.
DPI = 300
BOX = (180, 550, 1000, 1000)  # x, y, width, height; preserve full square.


def label(draw, xy, value, size, color='#17283b'):
    font = ImageFont.load_default(size=size)
    bounds = draw.textbbox(xy, value, font=font)
    if bounds[0] < 0 or bounds[1] < 0 or bounds[2] > PAGE[0] - 120 or bounds[3] > PAGE[1] - 120:
        raise ValueError('text exceeds safe page area')
    draw.text(xy, value, font=font, fill=color)
    return bounds


def main():
    with urllib.request.urlopen(URL, timeout=30) as response:
        data = response.read()
    if hashlib.sha256(data).hexdigest() != SHA:
        raise ValueError('source changed; inspect before reusing')
    source = Image.open(io.BytesIO(data)).convert('RGB')
    if source.size != (1024, 1024):
        raise ValueError('unexpected source dimensions')
    x, y, w, h = BOX
    if w > source.width or h > source.height:
        raise ValueError('layout would upscale source')
    page = Image.new('RGB', PAGE, 'white')
    draw = ImageDraw.Draw(page)
    bounds = []
    def write(xy, value, size, color='#17283b'):
        bounds.append(label(draw, xy, value, size, color))
    write((180, 180), 'LOOK CLOSELY', 112)
    write((180, 340), 'Describe the image. Test your assumptions.', 56)
    page.paste(source.resize((w, h), Image.Resampling.LANCZOS), (x, y))
    write((1320, 580), 'VISIBLE CLUES', 60)
    for i, line in enumerate(['1. What can you see?', '2. What suggests cold?', '3. What is uncertain?']):
        write((1320, 740 + i * 210), line, 48)
    write((180, 1650), 'AI-generated illustration | FLUX.2 Pro', 44, '#5b6470')
    write((180, 1720), 'Not a wildlife record.', 44, '#5b6470')
    write((180, 1940), 'OBSERVATION NOTES', 62)
    for line_y in [2100, 2280, 2460, 2640, 2820]:
        draw.line((180, line_y, 2300, line_y), fill='#bac4cd', width=3)
    write((180, 3010), 'Name: __________________  Date: ______________', 46)
    write((180, 3220), 'Example image: orux.top/models/flux-2-pro', 40, '#5b6470')
    page.save(OUT, dpi=(DPI, DPI))
    reopened = Image.open(OUT)
    assert reopened.size == PAGE
    assert abs(reopened.info['dpi'][0] - DPI) < 0.1
    source_ppi = source.width / (w / DPI)
    result = {'sourceSha256': SHA, 'sourceSize': source.size,
              'pageSize': PAGE, 'storedDpi': reopened.info['dpi'],
              'imageBox': BOX, 'displayWidthMm': w / DPI * 25.4,
              'effectiveSourcePpi': source_ppi,
              'sourceAspectPreserved': w / h == source.width / source.height,
              'upscaled': False, 'textBoundsChecked': len(bounds),
              'outputSha256': hashlib.sha256(OUT.read_bytes()).hexdigest()}
    print(json.dumps(result, indent=2))

if __name__ == '__main__':
    main()

실제 로컬 실행에서는 1,024 × 1,024 원본, 2,480 × 3,508 내보내기, 텍스트 경계 11곳 검사, 이미지 비율 1:1 유지, 업스케일링 없음을 확인했습니다. PNG를 다시 열었을 때 DPI는 약 299.9994로 보고되었습니다. 이는 이번 내보내기에서 저장한 메타데이터의 반올림 표현입니다. 이미지 영역의 너비는 1,000픽셀을 유지해 앞서 설명한 84.67 mm와 원본의 인치당 307.2픽셀이 됩니다.

원본 해시 검사는 같은 URL의 자산이 바뀌었는데도 모른 채 다시 만드는 일을 막습니다. 불일치가 발생하면 성공시키려고 검사를 삭제할 것이 아니라 대체 자산을 검토하고 승인해야 합니다. 경계 검사는 이 페이지의 바깥 안전 영역을 확인합니다. 번역된 텍스트를 자동으로 줄바꿈하거나, 모든 겹침을 감지하거나, 과학적 내용을 검증하지는 않습니다. 글꼴과 Pillow 버전에 따라 렌더링이 달라질 수 있으므로 편집 후 생성된 페이지를 살펴보세요.

다른 그림을 요청하기 전에 레이아웃을 검토하세요

먼저 동물의 전체 윤곽이 남아 있고 질문을 읽을 수 있는지 확인합니다. 그다음 답변 공간이 활동에 맞는지 살펴보세요. 짧은 묘사는 메모 줄에 들어가지만, 긴 글쓰기는 다른 페이지가 필요합니다. AI 이미지임을 알리는 캡션은 큰 데스크톱 화면에서만 보지 말고 실제 읽을 크기에서도 검토하세요. 나중에 편집하는 사람이 모델에서 온 부분을 알 수 있도록 원래 프롬프트와 원본 이미지를 레이아웃과 함께 보관합니다.

동물을 더 크게 보여 줘야 한다면 확대 전에 원본의 유효 밀도를 계산하세요. 질문에 공간이 더 필요하다면 이미지를 자르기 전에 별도로 조판한 텍스트를 이동하거나 줄이세요. 수업에서 검증된 해부학적 특징, 서식지, 행동을 다뤄야 한다면 이 생성 일러스트를 증거로 삼는 대신 해당 주장을 뒷받침하는 검증된 참고 자료를 선택하세요.

완성된 결과물은 이미지를 관찰하면서 그 이미지가 증거로서 가진 한계를 질문하는 구체적인 활동 하나를 지원합니다. FLUX.2 Pro를 현장 기록 도구로 바꾸지는 않습니다. 유용한 역할 분담은 명확합니다. 시각적 소재에는 모델의 기존 일러스트를 사용하고, 정확한 글자, 치수, 필기 공간에는 재현 가능한 페이지 조판을 사용하세요.

FAQ

A4 활동지를 생성한 것은 FLUX.2 Pro인가요?

아닙니다. FLUX.2 Pro가 생성한 것은 기존의 정사각형 여우 일러스트입니다. A4 크기 페이지, 라벨, 필기 영역은 Python으로 로컬에서 조립했습니다. 여기서 확인한 Orux 공개 폼은 1K와 1:1을 제공하며, A4 생성 설정을 검증한 것은 아닙니다.

300 DPI를 추가하면 원본이 더 정밀해지나요?

아닙니다. DPI 메타데이터는 의도한 인쇄 배율에 영향을 주지만 실제 원본의 세부 묘사를 추가하지 않습니다. 기존 1,024픽셀 이미지를 활동지의 공칭 너비 84.67 mm 영역에 놓으면 원본 밀도가 약 인치당 307.2픽셀이 됩니다.

질문을 번역하려면 다른 이미지를 생성해야 하나요?

별도로 조판한 질문을 편집할 때는 새 이미지를 생성할 필요가 없습니다. 문자열을 변경하고 해당 언어에 맞는 글꼴을 선택한 뒤 새 레이아웃을 확인하세요. 내보낸 PNG는 하나로 합쳐진 이미지이므로 편집 가능한 코드와 원본 이미지를 보관해야 합니다.

이 활동지로 실제 여우에 관한 사실을 가르칠 수 있나요?

이 활동지는 시각적 묘사와 불확실성에 관한 토론을 지원하며, 검증된 동물학적 주장을 제공하지 않습니다. 캡션에 AI 생성 이미지라고 표시되어 있습니다. 해부학적 특징, 서식지, 행동을 가르칠 때는 검증된 참고 자료를 사용하세요.

이 글에서는 실제로 무엇을 테스트했나요?

로컬 페이지 내보내기, 자산 해시, 이미지 치수, 텍스트 경계, 공칭 인쇄 배율 계산, 가격 곱셈을 확인했습니다. 새 모델 호출, 이미지 품질 벤치마크, 실제 시험 인쇄, 교실 학습 효과 연구는 수행하지 않았습니다.

Orux AI에서 Orux FLUX.2 Pro 모델 페이지 사용해 보기모델 페이지에서 온라인으로 실행하고 가격과 API 예시를 확인하세요.모델 열기

하나의 API로 이 모델들을 사용하세요

채팅·이미지·비디오·오디오 모델을 지원하는 OpenAI 호환 API이며 Credits로 과금됩니다.