{
  "aboutHtml": "<p>Seedream 5.0 Pro는 전문 시각 작업을 위한 ByteDance Seed의 멀티모달 이미지 제작 모델입니다. 새 이미지 생성과 참조 기반 편집을 결합하며 외관뿐 아니라 디자인 구조도 중시합니다. 개발사는 이 에디션의 강점을 정보가 조밀한 그래픽, 대화형 편집, 사실적인 이미지, 네이티브 다국어 생성의 네 가지로 정리합니다. 문서화된 생성 인터페이스는 한 장의 완성 이미지를 반환합니다. 관련 이미지 시퀀스, 검색, 스트리밍 출력은 다른 에디션의 워크플로에 속합니다. 프롬프트 최적화에는 standard와 fast 모드가 있으며 fast는 생성 시간을 줄이는 대신 일부 품질을 양보합니다.</p><p>한 이미지에 복잡한 정보 담기 Pro는 상당한 내용의 지시를 인포그래픽, 포스터, 시각적 인터페이스 콘셉트로 만들 수 있습니다. 스타일 지시 전에 승인한 라벨, 값, 관계, 정보 읽기 순서 등 사실 내용을 준비하세요. 다음으로 구도, 주요 초점, 타이포그래피, 보조 일러스트를 지정합니다. 박물관 전시에는 전시 제목과 승인된 설명 세 개를 제공하고 설명마다 일러스트 하나를 요청하며, 가장 강조할 제목을 지정할 수 있습니다. 완성된 위계와 문구를 지시에 대조하고 특히 작은 보조 텍스트를 확인하세요.</p><p>이런 출력은 수업용 시각 자료, 기술 설명, 프레젠테이션 아트, 초기 제품 레이아웃 탐색에 유용합니다. 생성된 인터페이스 이미지는 시각 아이디어를 전달하는 자료입니다. 작동하는 제품으로 발전시킬 때는 실제 제어와 텍스트를 편집 가능한 디자인 원본에 유지하세요. 인포그래픽에서는 디자이너가 개별 사실을 검증·수정할 수 있도록 원본 표나 메모를 이미지와 함께 보관합니다.</p><p>부분 변경을 위한 공간 지시 대화형 편집은 지시에 위치 정보를 더합니다. 관련 영역을 표시하거나 선택하고, 바꿀 내용과 주변에서 유지할 특징을 지정하세요. 제조사는 위치를 전달하는 방법으로 점, 올가미·상자 선택, 스케치를 설명합니다. 실내 콘셉트에서는 의자만 표시해 소재를 바꾸도록 하면서 카메라, 바닥, 벽, 근처 그림자를 유지할 수 있습니다. 제품 사진에서는 물체 전체를 광범위하게 다시 디자인하라고 하기보다 라벨 영역을 지정하세요.</p><p>Pro의 편집 기능에는 색상·재질 교체, 객체 추가·제거, 스케치 렌더링, 여러 참조 요소의 결합이 포함됩니다. 각 참조에 기본 구도, 대체 객체, 재질, 팔레트 등의 역할을 부여하세요. 예를 들어 방, 직물 견본, 의자 참조를 제공한 뒤 표시된 위치의 의자에 해당 직물을 적용하도록 요청할 수 있습니다. 크기, 접점, 조명에 주의해 모든 참조와 결과를 비교하세요. 거친 스케치를 쓸 때는 영역에 라벨을 붙이고 그린 표시를 최종 그림에 남길지 모델에 알려줍니다.</p><p>시각 요소 분리와 재구성 개발사는 이미지를 독립 레이어로 나누고 투명 요소와 복원된 배경 내용을 얻는 방식을 보여줍니다. 추가 재배치가 필요한 구도에 유용합니다. 분리할 제목, 주요 피사체, 장식을 지정한 뒤 디자인 도구에서 결과 요소를 각각 확인하세요. 비교를 위해 기본 이미지를 유지합니다. 요소를 이동하거나 바꾸기 전에 가장자리, 빠진 세부 사항, 원래 피사체에 가려졌던 배경을 살펴보세요. 레이어 분리는 별개의 이미지 처리 워크플로이며 관련 없는 완성 그림 여러 장을 요청하는 것은 다른 작업입니다. 개발사 레이어 워크플로는 JPEG 또는 PNG 한 장을 요구하며, 최대 30 MB, 262,144–36,000,000픽셀, 종횡비 1:16–16:1을 허용합니다. 결과에는 기본 이미지, 알파가 있는 최대 16 PNG 레이어, 각 레이어의 이름·설명·쌓임 순서·배치 상자가 포함됩니다. 레이어 크기는 1K, 1.5K, 2K 또는 원본 종횡비를 유지하는 자동 설정을 사용합니다.</p><p>사실적인 조명, 재질, 인물 Pro는 조명, 표면 반응, 피부 질감 등 사진 및 컴퓨터 생성 이미지를 중시합니다. 형용사에만 의존하지 말고 피사체, 카메라 위치, 주광, 배경, 빛을 반사·투과할 재질 등 물리적 장면을 설명하면 유용합니다. 가구 콘셉트에서는 프레임이 브러시드 메탈, 투명 유리, 칠한 목재 중 무엇인지 지정하고 조명을 설명하세요. 인물 처리에서는 원하는 변경을 설명하면서 중요한 얼굴 특징과 포즈를 보존합니다. 최종 보기 크기에서 피부, 손, 반사, 재질 사이 경계를 확인하세요. 제조사의 투명 배경 옵션은 입력 이미지가 정확히 한 장이고, 그 이미지에 이미 알파 채널이 있는 이미지 편집에 적용됩니다. 투명 출력은 PNG여야 하며 일반적인 불투명 생성과 별개입니다.</p><p>다국어 시각 자료 모델은 중국어, 영어, 프랑스어, 독일어, 러시아어, 일본어, 한국어, 스페인어, 아랍어 등 널리 쓰이는 여러 언어의 네이티브 프롬프트와 렌더링 텍스트를 지원합니다. 정확한 승인 문구, 언어, 읽기 방향, 텍스트가 들어갈 영역을 제공하세요. 현지화 포스터에서는 레이아웃과 이미지를 일관되게 유지하면서 제목과 보조 문구를 따로 전달합니다. 해당 언어의 독자에게 악센트, 연결 문자, 줄바꿈, 작은 라벨까지 결과를 확인하도록 요청하세요.</p><p>유용한 결과물 준비하기 정보가 풍부한 그래픽, 현지화 포스터, 시각 콘셉트, 정밀하게 수정한 원본 사진 등 의도한 이미지에서 시작하세요. 특정 작업에 필요한 내용과 참조를 제공하고 결과를 원본 에셋·요청 변경과 대조합니다. 제조사 생성 워크플로는 JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIF 참조를 최대 10개 허용하며 각 파일은 최대 30 MB, 양쪽 변이 14픽셀보다 커야 하고 전체 196–36,000,000픽셀, 종횡비 1:16–16:1이어야 합니다. JPEG 또는 PNG를 반환하며 출력 선택지는 1K, 1.5K, 2K, 기본값은 2K입니다. 맞춤 크기는 전체 921,600–4,624,220픽셀과 같은 종횡비 범위를 요구합니다. 이미지 결과는 인코딩 데이터 또는 24시간 이내에 만료되는 다운로드 링크로 제공될 수 있습니다. 제조사는 세밀한 글자 렌더링과 픽셀 수준 편집 일관성을 지속 개선 영역으로 명시합니다. 전체 구도가 설득력 있어 보여도 조밀한 라벨과 바꾸지 않은 영역을 주의 깊게 검토하세요.</p>",
  "aboutText": "Seedream 5.0 Pro는 전문 시각 작업을 위한 ByteDance Seed의 멀티모달 이미지 제작 모델입니다. 새 이미지 생성과 참조 기반 편집을 결합하며 외관뿐 아니라 디자인 구조도 중시합니다. 개발사는 이 에디션의 강점을 정보가 조밀한 그래픽, 대화형 편집, 사실적인 이미지, 네이티브 다국어 생성의 네 가지로 정리합니다. 문서화된 생성 인터페이스는 한 장의 완성 이미지를 반환합니다. 관련 이미지 시퀀스, 검색, 스트리밍 출력은 다른 에디션의 워크플로에 속합니다. 프롬프트 최적화에는 standard와 fast 모드가 있으며 fast는 생성 시간을 줄이는 대신 일부 품질을 양보합니다.\n\n한 이미지에 복잡한 정보 담기\nPro는 상당한 내용의 지시를 인포그래픽, 포스터, 시각적 인터페이스 콘셉트로 만들 수 있습니다. 스타일 지시 전에 승인한 라벨, 값, 관계, 정보 읽기 순서 등 사실 내용을 준비하세요. 다음으로 구도, 주요 초점, 타이포그래피, 보조 일러스트를 지정합니다. 박물관 전시에는 전시 제목과 승인된 설명 세 개를 제공하고 설명마다 일러스트 하나를 요청하며, 가장 강조할 제목을 지정할 수 있습니다. 완성된 위계와 문구를 지시에 대조하고 특히 작은 보조 텍스트를 확인하세요.\n\n이런 출력은 수업용 시각 자료, 기술 설명, 프레젠테이션 아트, 초기 제품 레이아웃 탐색에 유용합니다. 생성된 인터페이스 이미지는 시각 아이디어를 전달하는 자료입니다. 작동하는 제품으로 발전시킬 때는 실제 제어와 텍스트를 편집 가능한 디자인 원본에 유지하세요. 인포그래픽에서는 디자이너가 개별 사실을 검증·수정할 수 있도록 원본 표나 메모를 이미지와 함께 보관합니다.\n\n부분 변경을 위한 공간 지시\n대화형 편집은 지시에 위치 정보를 더합니다. 관련 영역을 표시하거나 선택하고, 바꿀 내용과 주변에서 유지할 특징을 지정하세요. 제조사는 위치를 전달하는 방법으로 점, 올가미·상자 선택, 스케치를 설명합니다. 실내 콘셉트에서는 의자만 표시해 소재를 바꾸도록 하면서 카메라, 바닥, 벽, 근처 그림자를 유지할 수 있습니다. 제품 사진에서는 물체 전체를 광범위하게 다시 디자인하라고 하기보다 라벨 영역을 지정하세요.\n\nPro의 편집 기능에는 색상·재질 교체, 객체 추가·제거, 스케치 렌더링, 여러 참조 요소의 결합이 포함됩니다. 각 참조에 기본 구도, 대체 객체, 재질, 팔레트 등의 역할을 부여하세요. 예를 들어 방, 직물 견본, 의자 참조를 제공한 뒤 표시된 위치의 의자에 해당 직물을 적용하도록 요청할 수 있습니다. 크기, 접점, 조명에 주의해 모든 참조와 결과를 비교하세요. 거친 스케치를 쓸 때는 영역에 라벨을 붙이고 그린 표시를 최종 그림에 남길지 모델에 알려줍니다.\n\n시각 요소 분리와 재구성\n개발사는 이미지를 독립 레이어로 나누고 투명 요소와 복원된 배경 내용을 얻는 방식을 보여줍니다. 추가 재배치가 필요한 구도에 유용합니다. 분리할 제목, 주요 피사체, 장식을 지정한 뒤 디자인 도구에서 결과 요소를 각각 확인하세요. 비교를 위해 기본 이미지를 유지합니다. 요소를 이동하거나 바꾸기 전에 가장자리, 빠진 세부 사항, 원래 피사체에 가려졌던 배경을 살펴보세요. 레이어 분리는 별개의 이미지 처리 워크플로이며 관련 없는 완성 그림 여러 장을 요청하는 것은 다른 작업입니다. 개발사 레이어 워크플로는 JPEG 또는 PNG 한 장을 요구하며, 최대 30 MB, 262,144–36,000,000픽셀, 종횡비 1:16–16:1을 허용합니다. 결과에는 기본 이미지, 알파가 있는 최대 16 PNG 레이어, 각 레이어의 이름·설명·쌓임 순서·배치 상자가 포함됩니다. 레이어 크기는 1K, 1.5K, 2K 또는 원본 종횡비를 유지하는 자동 설정을 사용합니다.\n\n사실적인 조명, 재질, 인물\nPro는 조명, 표면 반응, 피부 질감 등 사진 및 컴퓨터 생성 이미지를 중시합니다. 형용사에만 의존하지 말고 피사체, 카메라 위치, 주광, 배경, 빛을 반사·투과할 재질 등 물리적 장면을 설명하면 유용합니다. 가구 콘셉트에서는 프레임이 브러시드 메탈, 투명 유리, 칠한 목재 중 무엇인지 지정하고 조명을 설명하세요. 인물 처리에서는 원하는 변경을 설명하면서 중요한 얼굴 특징과 포즈를 보존합니다. 최종 보기 크기에서 피부, 손, 반사, 재질 사이 경계를 확인하세요. 제조사의 투명 배경 옵션은 입력 이미지가 정확히 한 장이고, 그 이미지에 이미 알파 채널이 있는 이미지 편집에 적용됩니다. 투명 출력은 PNG여야 하며 일반적인 불투명 생성과 별개입니다.\n\n다국어 시각 자료\n모델은 중국어, 영어, 프랑스어, 독일어, 러시아어, 일본어, 한국어, 스페인어, 아랍어 등 널리 쓰이는 여러 언어의 네이티브 프롬프트와 렌더링 텍스트를 지원합니다. 정확한 승인 문구, 언어, 읽기 방향, 텍스트가 들어갈 영역을 제공하세요. 현지화 포스터에서는 레이아웃과 이미지를 일관되게 유지하면서 제목과 보조 문구를 따로 전달합니다. 해당 언어의 독자에게 악센트, 연결 문자, 줄바꿈, 작은 라벨까지 결과를 확인하도록 요청하세요.\n\n유용한 결과물 준비하기\n정보가 풍부한 그래픽, 현지화 포스터, 시각 콘셉트, 정밀하게 수정한 원본 사진 등 의도한 이미지에서 시작하세요. 특정 작업에 필요한 내용과 참조를 제공하고 결과를 원본 에셋·요청 변경과 대조합니다. 제조사 생성 워크플로는 JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIF 참조를 최대 10개 허용하며 각 파일은 최대 30 MB, 양쪽 변이 14픽셀보다 커야 하고 전체 196–36,000,000픽셀, 종횡비 1:16–16:1이어야 합니다. JPEG 또는 PNG를 반환하며 출력 선택지는 1K, 1.5K, 2K, 기본값은 2K입니다. 맞춤 크기는 전체 921,600–4,624,220픽셀과 같은 종횡비 범위를 요구합니다. 이미지 결과는 인코딩 데이터 또는 24시간 이내에 만료되는 다운로드 링크로 제공될 수 있습니다. 제조사는 세밀한 글자 렌더링과 픽셀 수준 편집 일관성을 지속 개선 영역으로 명시합니다. 전체 구도가 설득력 있어 보여도 조밀한 라벨과 바꾸지 않은 영역을 주의 깊게 검토하세요.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "eb5ea2f23a0ebaf1f84e844e9d78eb1aae336feb22e43fbf40f15459a794e4bb",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ko",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">ByteDance Seed: Seedream 5.0 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"닫기\">×</button></div><div class=\"idline\"><span>ByteDance Seed /</span><code>bytedance-seed/seedream-5-0-pro</code><button type=\"button\" id=\"copy-id\">ID 복사</button></div><nav class=\"card-jump-nav\" aria-label=\"모델 카드 섹션\"><button type=\"button\" data-card-jump=\"overview\">시작하기</button><button type=\"button\" data-card-jump=\"methods\">입력 및 메서드</button><button type=\"button\" data-card-jump=\"pricing\">요금</button><button type=\"button\" data-card-jump=\"examples\">예제</button><button type=\"button\" data-card-jump=\"results\">결과</button><button type=\"button\" data-card-jump=\"aliases\">별칭</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API 메서드\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|images|/v1/images/generations|bytedance-seed%2Fseedream-5-0-pro\">이미지</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">시작하기</h3><p class=\"mdesc-full\">Seedream 5.0 Pro는 빽빽한 인포그래픽 레이아웃, 공간 안내 국소 변경, 레이어 분리와 사실적 사진 질감의 이미지를 생성·편집합니다. 네이티브 다국어 생성은 상당한 이미지 속 텍스트가 있는 현지화 포스터·디자인 콘셉트를 지원합니다.</p><dl class=\"card-io\" data-card-io><div><dt>허용 입력</dt><dd>텍스트 · 이미지</dd></div><div><dt>결과</dt><dd>이미지</dd></div></dl><details class=\"card-about\"><summary>모델 소개</summary><p class=\"note-s\" data-model-method-boundary>이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.</p><div class=\"mabout\" id=\"m-about\"><p>Seedream 5.0 Pro는 전문 시각 작업을 위한 ByteDance Seed의 멀티모달 이미지 제작 모델입니다. 새 이미지 생성과 참조 기반 편집을 결합하며 외관뿐 아니라 디자인 구조도 중시합니다. 개발사는 이 에디션의 강점을 정보가 조밀한 그래픽, 대화형 편집, 사실적인 이미지, 네이티브 다국어 생성의 네 가지로 정리합니다. 문서화된 생성 인터페이스는 한 장의 완성 이미지를 반환합니다. 관련 이미지 시퀀스, 검색, 스트리밍 출력은 다른 에디션의 워크플로에 속합니다. 프롬프트 최적화에는 standard와 fast 모드가 있으며 fast는 생성 시간을 줄이는 대신 일부 품질을 양보합니다.</p><p>한 이미지에 복잡한 정보 담기 Pro는 상당한 내용의 지시를 인포그래픽, 포스터, 시각적 인터페이스 콘셉트로 만들 수 있습니다. 스타일 지시 전에 승인한 라벨, 값, 관계, 정보 읽기 순서 등 사실 내용을 준비하세요. 다음으로 구도, 주요 초점, 타이포그래피, 보조 일러스트를 지정합니다. 박물관 전시에는 전시 제목과 승인된 설명 세 개를 제공하고 설명마다 일러스트 하나를 요청하며, 가장 강조할 제목을 지정할 수 있습니다. 완성된 위계와 문구를 지시에 대조하고 특히 작은 보조 텍스트를 확인하세요.</p><p>이런 출력은 수업용 시각 자료, 기술 설명, 프레젠테이션 아트, 초기 제품 레이아웃 탐색에 유용합니다. 생성된 인터페이스 이미지는 시각 아이디어를 전달하는 자료입니다. 작동하는 제품으로 발전시킬 때는 실제 제어와 텍스트를 편집 가능한 디자인 원본에 유지하세요. 인포그래픽에서는 디자이너가 개별 사실을 검증·수정할 수 있도록 원본 표나 메모를 이미지와 함께 보관합니다.</p><p>부분 변경을 위한 공간 지시 대화형 편집은 지시에 위치 정보를 더합니다. 관련 영역을 표시하거나 선택하고, 바꿀 내용과 주변에서 유지할 특징을 지정하세요. 제조사는 위치를 전달하는 방법으로 점, 올가미·상자 선택, 스케치를 설명합니다. 실내 콘셉트에서는 의자만 표시해 소재를 바꾸도록 하면서 카메라, 바닥, 벽, 근처 그림자를 유지할 수 있습니다. 제품 사진에서는 물체 전체를 광범위하게 다시 디자인하라고 하기보다 라벨 영역을 지정하세요.</p><p>Pro의 편집 기능에는 색상·재질 교체, 객체 추가·제거, 스케치 렌더링, 여러 참조 요소의 결합이 포함됩니다. 각 참조에 기본 구도, 대체 객체, 재질, 팔레트 등의 역할을 부여하세요. 예를 들어 방, 직물 견본, 의자 참조를 제공한 뒤 표시된 위치의 의자에 해당 직물을 적용하도록 요청할 수 있습니다. 크기, 접점, 조명에 주의해 모든 참조와 결과를 비교하세요. 거친 스케치를 쓸 때는 영역에 라벨을 붙이고 그린 표시를 최종 그림에 남길지 모델에 알려줍니다.</p><p>시각 요소 분리와 재구성 개발사는 이미지를 독립 레이어로 나누고 투명 요소와 복원된 배경 내용을 얻는 방식을 보여줍니다. 추가 재배치가 필요한 구도에 유용합니다. 분리할 제목, 주요 피사체, 장식을 지정한 뒤 디자인 도구에서 결과 요소를 각각 확인하세요. 비교를 위해 기본 이미지를 유지합니다. 요소를 이동하거나 바꾸기 전에 가장자리, 빠진 세부 사항, 원래 피사체에 가려졌던 배경을 살펴보세요. 레이어 분리는 별개의 이미지 처리 워크플로이며 관련 없는 완성 그림 여러 장을 요청하는 것은 다른 작업입니다. 개발사 레이어 워크플로는 JPEG 또는 PNG 한 장을 요구하며, 최대 30 MB, 262,144–36,000,000픽셀, 종횡비 1:16–16:1을 허용합니다. 결과에는 기본 이미지, 알파가 있는 최대 16 PNG 레이어, 각 레이어의 이름·설명·쌓임 순서·배치 상자가 포함됩니다. 레이어 크기는 1K, 1.5K, 2K 또는 원본 종횡비를 유지하는 자동 설정을 사용합니다.</p><p>사실적인 조명, 재질, 인물 Pro는 조명, 표면 반응, 피부 질감 등 사진 및 컴퓨터 생성 이미지를 중시합니다. 형용사에만 의존하지 말고 피사체, 카메라 위치, 주광, 배경, 빛을 반사·투과할 재질 등 물리적 장면을 설명하면 유용합니다. 가구 콘셉트에서는 프레임이 브러시드 메탈, 투명 유리, 칠한 목재 중 무엇인지 지정하고 조명을 설명하세요. 인물 처리에서는 원하는 변경을 설명하면서 중요한 얼굴 특징과 포즈를 보존합니다. 최종 보기 크기에서 피부, 손, 반사, 재질 사이 경계를 확인하세요. 제조사의 투명 배경 옵션은 입력 이미지가 정확히 한 장이고, 그 이미지에 이미 알파 채널이 있는 이미지 편집에 적용됩니다. 투명 출력은 PNG여야 하며 일반적인 불투명 생성과 별개입니다.</p><p>다국어 시각 자료 모델은 중국어, 영어, 프랑스어, 독일어, 러시아어, 일본어, 한국어, 스페인어, 아랍어 등 널리 쓰이는 여러 언어의 네이티브 프롬프트와 렌더링 텍스트를 지원합니다. 정확한 승인 문구, 언어, 읽기 방향, 텍스트가 들어갈 영역을 제공하세요. 현지화 포스터에서는 레이아웃과 이미지를 일관되게 유지하면서 제목과 보조 문구를 따로 전달합니다. 해당 언어의 독자에게 악센트, 연결 문자, 줄바꿈, 작은 라벨까지 결과를 확인하도록 요청하세요.</p><p>유용한 결과물 준비하기 정보가 풍부한 그래픽, 현지화 포스터, 시각 콘셉트, 정밀하게 수정한 원본 사진 등 의도한 이미지에서 시작하세요. 특정 작업에 필요한 내용과 참조를 제공하고 결과를 원본 에셋·요청 변경과 대조합니다. 제조사 생성 워크플로는 JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIF 참조를 최대 10개 허용하며 각 파일은 최대 30 MB, 양쪽 변이 14픽셀보다 커야 하고 전체 196–36,000,000픽셀, 종횡비 1:16–16:1이어야 합니다. JPEG 또는 PNG를 반환하며 출력 선택지는 1K, 1.5K, 2K, 기본값은 2K입니다. 맞춤 크기는 전체 921,600–4,624,220픽셀과 같은 종횡비 범위를 요구합니다. 이미지 결과는 인코딩 데이터 또는 24시간 이내에 만료되는 다운로드 링크로 제공될 수 있습니다. 제조사는 세밀한 글자 렌더링과 픽셀 수준 편집 일관성을 지속 개선 영역으로 명시합니다. 전체 구도가 설득력 있어 보여도 조밀한 라벨과 바꾸지 않은 영역을 주의 깊게 검토하세요.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot에서 사용 가능 · 입력 및 메서드</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · 이미지</b> <code>POST /v1/images/generations</code></summary><dl class=\"method-capabilities\"><div><dt>입력</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>출력</dt><dd><code>image</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>필드</th><th>유형</th><th>요건</th><th>값과 한도</th><th>기본값</th></tr></thead><tbody><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>string</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>필수</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>bytedance-seed/seedream-5-0-pro</div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>string</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>필수</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>최소 길이: 1</div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>string</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>선택 사항</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>1K, 2K</div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>string</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>선택 사항</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>1:1, 1:2, 2:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 9:19.5, 19.5:9, 9:20, 20:9, 9:21, 21:9, auto</div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">n</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>integer</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>선택 사항</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>최솟값: 1</div><div>최댓값: 1</div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>array</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>선택 사항</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>최소 항목 수: 0</div><div>최대 항목 수: 14</div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>object</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>선택 사항</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>메서드 매개변수와 수명 주기</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>매개변수</th><th>명세</th></tr></thead><tbody><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>content_type</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>application/json</td></tr><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>required</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>model, prompt</td></tr><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>material_types</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>text, image</td></tr></tbody></table></div><p>수명 주기: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · 실제로 반환된 task_id 또는 미디어 라이브러리 기록</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">요금</h3><div class=\"card-result-process\" data-billing-basis><h5>최종 요금 계산 방식</h5><p class=\"note-s\">표시된 요율은 생성 전 비용을 예상하는 데 사용됩니다. 최종 청구액은 최초 생성에 기록된 비용으로 계산됩니다. 측정된 출력 길이와 예상 수량은 최종 청구 수량이 아닙니다.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.</p><dl data-price-conditions><dt>빠른 모드</dt><dd>미지정 <span class=\"note-s\">빠른 모드를 선택한 경우</span></dd><dt>Flex 모드</dt><dd>미지정 <span class=\"note-s\">flex 모드를 선택한 경우</span></dd><dt>최대 추론 수준</dt><dd>미지정 <span class=\"note-s\">최대 추론 수준에 default 조정값을 적용하는 경우</span></dd></dl></div><div data-declared-tariff-pricing><h4>비교용 예상 요금</h4><h4>설정별 가격</h4><p class=\"note-s\">각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>설정</th><th>요금표</th><th>예측 수량</th><th>과금 단위</th><th>요금</th></tr></thead><tbody><tr><th data-cell-label=\"설정\" scope=\"row\"><span class=\"card-cell-label\">설정</span>기본 토큰 요금</th><td data-cell-label=\"요금표\"><span class=\"card-cell-label\">요금표</span>기본 요금</td><td data-cell-label=\"예측 수량\"><span class=\"card-cell-label\">예측 수량</span>—</td><td data-cell-label=\"과금 단위\"><span class=\"card-cell-label\">과금 단위</span>—</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>입력 · 입력 토큰 · 비교 전용 추정치</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>출력 · 출력 토큰 · 비교 전용 추정치</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>입력 · 캐시 읽기 · 비교 전용 추정치</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>입력 · 캐시 쓰기 · 비교 전용 추정치</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>입력 · 캐시 쓰기, 1시간 · 비교 전용 추정치</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div></td></tr><tr><th data-cell-label=\"설정\" scope=\"row\"><span class=\"card-cell-label\">설정</span>입력 이미지</th><td data-cell-label=\"요금표\"><span class=\"card-cell-label\">요금표</span>—</td><td data-cell-label=\"예측 수량\"><span class=\"card-cell-label\">예측 수량</span>—</td><td data-cell-label=\"과금 단위\"><span class=\"card-cell-label\">과금 단위</span>입력 이미지당</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>입력 · 입력 이미지 · 비교 전용 추정치</span> <b>$0.006</b> <span class=\"price-unit\">입력 이미지당</span></div></td></tr><tr><th data-cell-label=\"설정\" scope=\"row\"><span class=\"card-cell-label\">설정</span>출력 이미지</th><td data-cell-label=\"요금표\"><span class=\"card-cell-label\">요금표</span>—</td><td data-cell-label=\"예측 수량\"><span class=\"card-cell-label\">예측 수량</span>—</td><td data-cell-label=\"과금 단위\"><span class=\"card-cell-label\">과금 단위</span>출력 이미지당</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>출력 · 출력 이미지 · 비교 전용 추정치</span> <b>$0.09</b> <span class=\"price-unit\">출력 이미지당</span></div></td></tr><tr><th data-cell-label=\"설정\" scope=\"row\"><span class=\"card-cell-label\">설정</span>예상 생성 비용</th><td data-cell-label=\"요금표\"><span class=\"card-cell-label\">요금표</span>—</td><td data-cell-label=\"예측 수량\"><span class=\"card-cell-label\">예측 수량</span>1회 생성 예상치</td><td data-cell-label=\"과금 단위\"><span class=\"card-cell-label\">과금 단위</span>—</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>출력 · 예상 생성 비용 · 비교 전용 추정치</span> <b>$0.09</b> <span class=\"price-unit\">생성 전 추정치</span></div><p class=\"note-s\">이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. <a href=\"/docs/ko/billing/reserve/\">금액 확보와 정산 방식 →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">요청 예제</h3><h4>Ailoot Ultra · 이미지</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"코드 예제 형식\"><button class=\"cg-tab\" id=\"model-code-1126-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1126-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"코드 복사\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1126-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1126-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np={&#39;model&#39;: &#39;bytedance-seed/seedream-5-0-pro&#39;, &#39;prompt&#39;: &#39;a red panda astronaut floating in space, studio lighting&#39;}\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(&quot;No completed images; retain the full response&quot;)\n    for index, item in enumerate(items):\n        encoded=item.get(&quot;b64_json&quot;)\n        uri=item.get(&quot;url&quot;, &quot;&quot;)\n        if not encoded and uri.startswith(&quot;data:image/&quot;):\n            header, separator, encoded=uri.partition(&quot;,&quot;)\n            if not separator or &quot;;base64&quot; not in header: raise SystemExit(&quot;Unsupported image data URI&quot;)\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(&quot;https://api.ailoot.ai&quot;,uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=&quot;https&quot; or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(&quot;Invalid returned image URL&quot;)\n            owned=parsed.netloc==&quot;api.ailoot.ai&quot; and parsed.path.startswith(&quot;/v1/media/assets/&quot;) and parsed.path.endswith(&quot;/content&quot;)\n            args=[&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,uri]\n            if owned: args += [&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;]]\n            temporary=Path(f&quot;image-{index}.bin&quot;)\n            subprocess.run(args+[&quot;-o&quot;,str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(&quot;Image has neither bytes nor URL&quot;)\n        if not raw: raise SystemExit(&quot;Empty image result&quot;)\n        ext=&quot;png&quot; if raw.startswith(b&quot;\\x89PNG&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else &quot;svg&quot; if raw.lstrip().startswith((b&quot;&lt;svg&quot;,b&quot;&lt;?xml&quot;)) else &quot;bin&quot;\n        Path(f&quot;image-{index}.{ext}&quot;).write_bytes(raw)\n    print(&quot;Every returned image saved; complete response metadata retained&quot;)\nsave_images(json.loads(Path(&quot;result.json&quot;).read_text())[&quot;data&quot;])\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">결과 수신 및 저장</h3><h4>Ailoot Ultra · 이미지</h4><p class=\"note-s\">반환된 각 이미지를 다운로드하거나 Base64 내용을 저장하세요</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>기타 콘텐츠 조회</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"코드 예제 형식\"><button class=\"cg-tab\" id=\"model-code-1127-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1127-panel-0\" aria-selected=\"true\" tabindex=\"0\">내 소유의 기존 자산 조회</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"코드 복사\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1127-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1127-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>완료된 결과 모두 보관</h5><p class=\"note-s\">완료된 이미지를 모두 저장하세요. 반환된 각 URL에서 가져오거나 Base64 내용을 디코딩하세요.</p><p class=\"note-s\">전체 응답과 헤더, 실제로 생성된 모든 출력, 최초로 반환된 식별자와 모든 사용량 필드를 보관하세요. 생성 요청을 다시 제출하지 말고 최초 작업을 복구하세요.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>원래 응답을 확인해야 할 경우</h5><p class=\"note-s\">정산 대조를 위해 반환된 X-Client-Request-ID를 보관하세요. 실제로 반환된 task_id/asset_id 값이나 소유한 미디어 라이브러리만 조회하세요. 작업 ID로 태스크 URL을 만들거나 생성 요청을 다시 제출하지 마세요.</p></div><details class=\"card-about\" data-output-fields><summary>응답 필드</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>필드</th><th>유형</th></tr></thead><tbody><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">created</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span></td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">data[].url</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span></td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">data[].b64_json</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span></td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span></td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">별칭</h3><h4>모델 별칭</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=bytedance-seed%2Fseedream-5-0-pro&amp;route=Ultra&amp;caller=bytedance-seed%2Fseedream-5-0-pro&amp;fmt=images\"><code>bytedance-seed/seedream-5-0-pro</code></a></span></p><h4>메서드 경로 별칭</h4><p class=\"note-s\"><code>/v1/images</code></p><h4>관련 호출용 ID</h4><p class=\"note-s\"><a href=\"#m=bytedance-seed%2Fseedream-5-0-pro&amp;route=Ultra&amp;caller=bytedance-seed%2Fseedream-5-0-pro&amp;fmt=images\"><code>bytedance-seed/seedream-5-0-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "bytedance-seed/seedream-5-0-pro",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|bytedance-seed%2Fseedream-5-0-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "표시된 요율은 생성 전 비용을 예상하는 데 사용됩니다. 최종 청구액은 최초 생성에 기록된 비용으로 계산됩니다. 측정된 출력 길이와 예상 수량은 최종 청구 수량이 아닙니다.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "정산 대조를 위해 반환된 X-Client-Request-ID를 보관하세요. 실제로 반환된 task_id/asset_id 값이나 소유한 미디어 라이브러리만 조회하세요. 작업 ID로 태스크 URL을 만들거나 생성 요청을 다시 제출하지 마세요."
            },
            "outputs": {
              "all_results": "전체 응답과 헤더, 실제로 생성된 모든 출력, 최초로 반환된 식별자와 모든 사용량 필드를 보관하세요. 생성 요청을 다시 제출하지 말고 최초 작업을 복구하세요.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seedream-5-0-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K",
                  "2K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "1:2",
                  "2:1",
                  "2:3",
                  "3:2",
                  "3:4",
                  "4:3",
                  "4:5",
                  "5:4",
                  "9:16",
                  "16:9",
                  "9:19.5",
                  "19.5:9",
                  "9:20",
                  "20:9",
                  "9:21",
                  "21:9",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 14,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "1:2",
                    "2:1",
                    "2:3",
                    "3:2",
                    "3:4",
                    "4:3",
                    "4:5",
                    "5:4",
                    "9:16",
                    "16:9",
                    "9:19.5",
                    "19.5:9",
                    "9:20",
                    "20:9",
                    "9:21",
                    "21:9",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 14,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seedream-5-0-pro"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K",
                    "2K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "bytedance-seed/seedream-5-0-pro",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "실제로 반환된 task_id 또는 미디어 라이브러리 기록",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "입력 이미지",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "예상 생성 비용",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'bytedance-seed/seedream-5-0-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "이미지",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "input image",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input",
            "label": "input image",
            "native_amount_usd_per_unit": "0.006",
            "native_quantity": 1,
            "public_unit_label": "per input image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image_input"
          },
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output",
            "label": "output image",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "per output image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output"
          },
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "bytedance-seed/seedream-5-0-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "e67c23452a64ec4d7d85f3e374a6825bc719edf383ea64e2172947533297717e",
    "input_html_sha256": "7a0d4f7153991f0dd2d33e4473ec639d9d7e3cca7418492573f76e88177f8370",
    "private_audit_sha256": "bb66268b9422d6274bffcca1b6e4b565128b1a5c5b1918b5f5c0c67983b326ba",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ko/bytedance-seed-seedream-5-0-pro/",
    "description": "Seedream 5.0 Pro는 빽빽한 인포그래픽 레이아웃, 공간 안내 국소 변경, 레이어 분리와 사실적 사진 질감의 이미지를 생성·편집합니다. 네이티브 다국어 생성은 상당한 이미지 속 텍스트가 있는 현지화 포스터·디자인 콘셉트를 지원합니다.",
    "locale": "ko",
    "md_url": "https://ailoot.ai/models/ko/bytedance-seed-seedream-5-0-pro/index.md",
    "title": "ByteDance Seed: Seedream 5.0 Pro — Ailoot",
    "url": "https://ailoot.ai/models/ko/bytedance-seed-seedream-5-0-pro/"
  },
  "rawModel": {
    "about": "Seedream 5.0 Pro는 전문 시각 작업을 위한 ByteDance Seed의 멀티모달 이미지 제작 모델입니다. 새 이미지 생성과 참조 기반 편집을 결합하며 외관뿐 아니라 디자인 구조도 중시합니다. 개발사는 이 에디션의 강점을 정보가 조밀한 그래픽, 대화형 편집, 사실적인 이미지, 네이티브 다국어 생성의 네 가지로 정리합니다. 문서화된 생성 인터페이스는 한 장의 완성 이미지를 반환합니다. 관련 이미지 시퀀스, 검색, 스트리밍 출력은 다른 에디션의 워크플로에 속합니다. 프롬프트 최적화에는 standard와 fast 모드가 있으며 fast는 생성 시간을 줄이는 대신 일부 품질을 양보합니다.\n\n한 이미지에 복잡한 정보 담기\nPro는 상당한 내용의 지시를 인포그래픽, 포스터, 시각적 인터페이스 콘셉트로 만들 수 있습니다. 스타일 지시 전에 승인한 라벨, 값, 관계, 정보 읽기 순서 등 사실 내용을 준비하세요. 다음으로 구도, 주요 초점, 타이포그래피, 보조 일러스트를 지정합니다. 박물관 전시에는 전시 제목과 승인된 설명 세 개를 제공하고 설명마다 일러스트 하나를 요청하며, 가장 강조할 제목을 지정할 수 있습니다. 완성된 위계와 문구를 지시에 대조하고 특히 작은 보조 텍스트를 확인하세요.\n\n이런 출력은 수업용 시각 자료, 기술 설명, 프레젠테이션 아트, 초기 제품 레이아웃 탐색에 유용합니다. 생성된 인터페이스 이미지는 시각 아이디어를 전달하는 자료입니다. 작동하는 제품으로 발전시킬 때는 실제 제어와 텍스트를 편집 가능한 디자인 원본에 유지하세요. 인포그래픽에서는 디자이너가 개별 사실을 검증·수정할 수 있도록 원본 표나 메모를 이미지와 함께 보관합니다.\n\n부분 변경을 위한 공간 지시\n대화형 편집은 지시에 위치 정보를 더합니다. 관련 영역을 표시하거나 선택하고, 바꿀 내용과 주변에서 유지할 특징을 지정하세요. 제조사는 위치를 전달하는 방법으로 점, 올가미·상자 선택, 스케치를 설명합니다. 실내 콘셉트에서는 의자만 표시해 소재를 바꾸도록 하면서 카메라, 바닥, 벽, 근처 그림자를 유지할 수 있습니다. 제품 사진에서는 물체 전체를 광범위하게 다시 디자인하라고 하기보다 라벨 영역을 지정하세요.\n\nPro의 편집 기능에는 색상·재질 교체, 객체 추가·제거, 스케치 렌더링, 여러 참조 요소의 결합이 포함됩니다. 각 참조에 기본 구도, 대체 객체, 재질, 팔레트 등의 역할을 부여하세요. 예를 들어 방, 직물 견본, 의자 참조를 제공한 뒤 표시된 위치의 의자에 해당 직물을 적용하도록 요청할 수 있습니다. 크기, 접점, 조명에 주의해 모든 참조와 결과를 비교하세요. 거친 스케치를 쓸 때는 영역에 라벨을 붙이고 그린 표시를 최종 그림에 남길지 모델에 알려줍니다.\n\n시각 요소 분리와 재구성\n개발사는 이미지를 독립 레이어로 나누고 투명 요소와 복원된 배경 내용을 얻는 방식을 보여줍니다. 추가 재배치가 필요한 구도에 유용합니다. 분리할 제목, 주요 피사체, 장식을 지정한 뒤 디자인 도구에서 결과 요소를 각각 확인하세요. 비교를 위해 기본 이미지를 유지합니다. 요소를 이동하거나 바꾸기 전에 가장자리, 빠진 세부 사항, 원래 피사체에 가려졌던 배경을 살펴보세요. 레이어 분리는 별개의 이미지 처리 워크플로이며 관련 없는 완성 그림 여러 장을 요청하는 것은 다른 작업입니다. 개발사 레이어 워크플로는 JPEG 또는 PNG 한 장을 요구하며, 최대 30 MB, 262,144–36,000,000픽셀, 종횡비 1:16–16:1을 허용합니다. 결과에는 기본 이미지, 알파가 있는 최대 16 PNG 레이어, 각 레이어의 이름·설명·쌓임 순서·배치 상자가 포함됩니다. 레이어 크기는 1K, 1.5K, 2K 또는 원본 종횡비를 유지하는 자동 설정을 사용합니다.\n\n사실적인 조명, 재질, 인물\nPro는 조명, 표면 반응, 피부 질감 등 사진 및 컴퓨터 생성 이미지를 중시합니다. 형용사에만 의존하지 말고 피사체, 카메라 위치, 주광, 배경, 빛을 반사·투과할 재질 등 물리적 장면을 설명하면 유용합니다. 가구 콘셉트에서는 프레임이 브러시드 메탈, 투명 유리, 칠한 목재 중 무엇인지 지정하고 조명을 설명하세요. 인물 처리에서는 원하는 변경을 설명하면서 중요한 얼굴 특징과 포즈를 보존합니다. 최종 보기 크기에서 피부, 손, 반사, 재질 사이 경계를 확인하세요. 제조사의 투명 배경 옵션은 입력 이미지가 정확히 한 장이고, 그 이미지에 이미 알파 채널이 있는 이미지 편집에 적용됩니다. 투명 출력은 PNG여야 하며 일반적인 불투명 생성과 별개입니다.\n\n다국어 시각 자료\n모델은 중국어, 영어, 프랑스어, 독일어, 러시아어, 일본어, 한국어, 스페인어, 아랍어 등 널리 쓰이는 여러 언어의 네이티브 프롬프트와 렌더링 텍스트를 지원합니다. 정확한 승인 문구, 언어, 읽기 방향, 텍스트가 들어갈 영역을 제공하세요. 현지화 포스터에서는 레이아웃과 이미지를 일관되게 유지하면서 제목과 보조 문구를 따로 전달합니다. 해당 언어의 독자에게 악센트, 연결 문자, 줄바꿈, 작은 라벨까지 결과를 확인하도록 요청하세요.\n\n유용한 결과물 준비하기\n정보가 풍부한 그래픽, 현지화 포스터, 시각 콘셉트, 정밀하게 수정한 원본 사진 등 의도한 이미지에서 시작하세요. 특정 작업에 필요한 내용과 참조를 제공하고 결과를 원본 에셋·요청 변경과 대조합니다. 제조사 생성 워크플로는 JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIF 참조를 최대 10개 허용하며 각 파일은 최대 30 MB, 양쪽 변이 14픽셀보다 커야 하고 전체 196–36,000,000픽셀, 종횡비 1:16–16:1이어야 합니다. JPEG 또는 PNG를 반환하며 출력 선택지는 1K, 1.5K, 2K, 기본값은 2K입니다. 맞춤 크기는 전체 921,600–4,624,220픽셀과 같은 종횡비 범위를 요구합니다. 이미지 결과는 인코딩 데이터 또는 24시간 이내에 만료되는 다운로드 링크로 제공될 수 있습니다. 제조사는 세밀한 글자 렌더링과 픽셀 수준 편집 일관성을 지속 개선 영역으로 명시합니다. 전체 구도가 설득력 있어 보여도 조밀한 라벨과 바꾸지 않은 영역을 주의 깊게 검토하세요.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance Seed",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "image"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "구성의 전체 요금 정보는 상세 정보에서 확인할 수 있습니다."
      }
    ],
    "ctx": null,
    "formats": [
      "images"
    ],
    "id": "bytedance-seed/seedream-5-0-pro",
    "input": [
      "text",
      "image"
    ],
    "kind": "image",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "표시된 요율은 생성 전 비용을 예상하는 데 사용됩니다. 최종 청구액은 최초 생성에 기록된 비용으로 계산됩니다. 측정된 출력 길이와 예상 수량은 최종 청구 수량이 아닙니다.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "정산 대조를 위해 반환된 X-Client-Request-ID를 보관하세요. 실제로 반환된 task_id/asset_id 값이나 소유한 미디어 라이브러리만 조회하세요. 작업 ID로 태스크 URL을 만들거나 생성 요청을 다시 제출하지 마세요."
            },
            "outputs": {
              "all_results": "전체 응답과 헤더, 실제로 생성된 모든 출력, 최초로 반환된 식별자와 모든 사용량 필드를 보관하세요. 생성 요청을 다시 제출하지 말고 최초 작업을 복구하세요.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seedream-5-0-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K",
                  "2K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "1:2",
                  "2:1",
                  "2:3",
                  "3:2",
                  "3:4",
                  "4:3",
                  "4:5",
                  "5:4",
                  "9:16",
                  "16:9",
                  "9:19.5",
                  "19.5:9",
                  "9:20",
                  "20:9",
                  "9:21",
                  "21:9",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 14,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "1:2",
                    "2:1",
                    "2:3",
                    "3:2",
                    "3:4",
                    "4:3",
                    "4:5",
                    "5:4",
                    "9:16",
                    "16:9",
                    "9:19.5",
                    "19.5:9",
                    "9:20",
                    "20:9",
                    "9:21",
                    "21:9",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 14,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seedream-5-0-pro"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K",
                    "2K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "bytedance-seed/seedream-5-0-pro",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "실제로 반환된 task_id 또는 미디어 라이브러리 기록",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "입력 이미지",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "예상 생성 비용",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'bytedance-seed/seedream-5-0-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "이미지",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "input image",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input",
            "label": "input image",
            "native_amount_usd_per_unit": "0.006",
            "native_quantity": 1,
            "public_unit_label": "per input image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image_input"
          },
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output",
            "label": "output image",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "per output image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output"
          },
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "bytedance-seed/seedream-5-0-pro",
        "request_model_id": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance Seed: Seedream 5.0 Pro",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.09,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.09,
      "varies": false
    },
    "short": "Seedream 5.0 Pro는 빽빽한 인포그래픽 레이아웃, 공간 안내 국소 변경, 레이어 분리와 사실적 사진 질감의 이미지를 생성·편집합니다. 네이티브 다국어 생성은 상당한 이미지 속 텍스트가 있는 현지화 포스터·디자인 콘셉트를 지원합니다."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Seedream 5.0 Pro는 빽빽한 인포그래픽 레이아웃, 공간 안내 국소 변경, 레이어 분리와 사실적 사진 질감의 이미지를 생성·편집합니다. 네이티브 다국어 생성은 상당한 이미지 속 텍스트가 있는 현지화 포스터·디자인 콘셉트를 지원합니다.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "969799fc72b34589a4fe9056510d64d9d1e5c74faad1b36ddb9e67ac930ba7c1",
    "renderer_sha256": "6825a317438b70ab0939441dcebefece462384e77f7e96cce899605c4b208caa"
  },
  "sourceRevision": "c2b85a828ada52169376b15374137585a4cfe13d665d827b46f9a617e07ff99b"
}
