Recraft: Recraft V4 Styles
Recraft V4 Styles สร้างภาพราสเตอร์ 1K ในสไตล์ภาพที่กำหนดด้วยภาพอ้างอิง ออกแบบสำหรับงานแบรนด์และแคมเปญประจำวัน ซึ่งตัวแบบใหม่แต่ละแบบควรคงการเรนเดอร์ พื้นผิว และลักษณะโดยรวมเหมือนกัน
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
Recraft V4 Styles เป็นรุ่นราสเตอร์มาตรฐานของตระกูลสร้างภาพคงสไตล์เฉพาะของ Recraft สร้างภาพใหม่จากพรอมป์ต์ข้อความโดยทำตามสไตล์ที่ชิ้นงานอ้างอิงกำหนด มีประโยชน์สำหรับชุดภาพประกอบ แบนเนอร์ หรือฉากผลิตภัณฑ์ที่ควรมีแนวทางภาพร่วมซึ่งจำได้ ภาพอ้างอิงให้การเรนเดอร์ พื้นผิว และตรรกะสี พรอมป์ต์แนะนำตัวแบบและฉากสำหรับชิ้นงานใหม่แต่ละชิ้น
ผู้ผลิตระบุผลราสเตอร์ 1K เป็น WebP แบบไม่สูญเสียข้อมูลหรือ PNG ขนาดจัตุรัส 1024 × 1024 พิกเซล และ 16:9 ตามเอกสาร 1344 × 768 แนวตั้งและอัตราส่วนอื่นที่รองรับมีขนาดของตน รุ่นนี้แยกจากผลราสเตอร์ 2K ของ Styles Pro และโมเดล Vector ที่สร้าง SVG เลือกอัตราส่วนตามเลย์เอาต์สุดท้าย แทนสมมติว่าป้าย 1K หมายถึงทุกภาพกว้างสูงเท่ากัน
สไตล์เป็นข้อบังคับ ใช้ภาพอ้างอิง PNG, JPG หรือ WebP หนึ่งถึงสิบภาพ หรือสไตล์เข้ากันได้ที่บันทึกจากการสร้างก่อนหน้า เวิร์กโฟลว์ตามเอกสารไม่รับรหัสสไตล์บันทึกกับภาพอ้างอิงใหม่พร้อมกัน ภาพอ้างอิงเป็นชิ้นงานแบรนด์หรือแคมเปญเดิมได้ ไม่จำเป็นต้องเป็นภาพสร้างโดย Recraft ต้องต่ำกว่า 20 MB ต่อไฟล์และรวมไม่เกิน 64 MB ไม่มีงานฝึกแยกที่ผู้ใช้ต้องรันก่อนใช้สไตล์ แต่ละภาพต้องมีด้านสั้นอย่างน้อย 256 พิกเซล ด้านยาวไม่เกิน 4,096 พิกเซล และความละเอียดรวมไม่เกิน 16 เมกะพิกเซล
เริ่มด้วยภาพอ้างอิงเด่นหนึ่งภาพ หรือหลายภาพที่มีภาษาภาพตรงกันอยู่แล้ว ภาพสอดคล้องช่วยใช้สไตล์เกินวัตถุหรือท่าเดียว ส่วนมู้ดบอร์ดไม่เกี่ยวกันอาจนำลวดลายแข่งขันเข้ามา flexible เป็นการจับคู่เริ่มต้นและเปิดการตีความมากกว่า precise ตามการเรนเดอร์ ชุดสี องค์ประกอบ และแสงของภาพอ้างอิงใกล้กว่า แต่ยังไม่รับประกันทำสีซ้ำตรงเป๊ะ
สำหรับชุดแบนเนอร์ ให้บรรยายพนักงานส่งของวางพัสดุที่หน้าประตู องค์ประกอบแนวนอนสงบ และที่ว่างด้านหนึ่งสำหรับข้อความภายหลัง บรีฟต่อไปเปลี่ยนเหตุการณ์หรือมุมกล้องพร้อมคงสไตล์ได้ ผู้ผลิตอนุญาตพรอมป์ต์สูงสุด 10,000 อักขระ สีที่ต้องการ สีพื้นหลังที่ต้องการ seed สุ่ม และหนึ่งถึงหกภาพ ไม่รองรับ negative_prompt ชื่อสไตล์ที่คัดสรร หรือ text_layout จึงบรรยายตัวแบบและเลย์เอาต์ที่ตั้งใจตรงในบรีฟ
สาย Styles ไม่มี image-to-image หรือ inpainting ภาพอ้างอิงสไตล์ชี้นำภาพที่สร้างใหม่แทนรับประกันคงวัตถุหรือพิกเซลต้นฉบับ หากชุดดูซ้ำ ให้ปรับท่า การกระทำ กรอบภาพ หรือรายละเอียดฉากแทนเพิ่มภาพอ้างอิงขัดกัน ประเมินแต่ละผลในเลย์เอาต์ที่ตั้งใจเรื่องความชัดตัวแบบ พื้นที่ใช้ได้ และการเรนเดอร์สอดคล้อง แล้วเก็บสไตล์เข้ากันได้เดิมสำหรับชิ้นงานถัดไป ทำให้โมเดลใช้สร้างภาษาภาพทำซ้ำได้พร้อมเนื้อหาที่เปลี่ยน
Ailoot Ultra · รูปภาพ POST /v1/images/generations recraft/recraft-v4-styles
recraft/recraft-v4-stylesเริ่มต้น
Recraft V4 Styles สร้างภาพราสเตอร์ 1K ในสไตล์ภาพที่กำหนดด้วยภาพอ้างอิง ออกแบบสำหรับงานแบรนด์และแคมเปญประจำวัน ซึ่งตัวแบบใหม่แต่ละแบบควรคงการเรนเดอร์ พื้นผิว และลักษณะโดยรวมเหมือนกัน
- อินพุตที่รองรับ
- ข้อความ · รูปภาพ
- ผลลัพธ์
- รูปภาพ
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · รูปภาพ POST /v1/images/generations
- ขาเข้า
text,image- ขาออก
image
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด recraft/recraft-v4-styles | ค่าเริ่มต้น— |
ฟิลด์prompt | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด ความยาวขั้นต่ำ: 1 | ค่าเริ่มต้น— |
ฟิลด์aspect_ratio | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 1:1, 2:1, 1:2, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 16:9, 9:16, auto | ค่าเริ่มต้น— |
ฟิลด์n | ประเภทinteger | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด ขั้นต่ำ: 1 สูงสุด: 6 | ค่าเริ่มต้น— |
ฟิลด์input_references | ประเภทarray | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด จำนวนรายการขั้นต่ำ: 1 จำนวนรายการสูงสุด: 10 | ค่าเริ่มต้น— |
ฟิลด์provider | ประเภทobject | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดmodel, prompt |
พารามิเตอร์material_types | ข้อกำหนดtext, image |
วงจรการทำงาน: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · ค่า task_id ที่ส่งกลับมาจริง หรือระเบียนในคลังสื่อ
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
ราคา
วิธีคำนวณค่าบริการสุดท้าย
อัตราที่แสดงใช้ประมาณการค่าใช้จ่ายก่อนการสร้างผลลัพธ์ ยอดเรียกเก็บสุดท้ายคำนวณจากค่าใช้จ่ายที่บันทึกไว้สำหรับการสร้างผลลัพธ์ครั้งเดิม ระยะเวลาของผลลัพธ์ที่วัดได้และปริมาณที่คาดการณ์ไว้ไม่ใช่ปริมาณสุดท้ายที่ใช้คิดค่าบริการ
ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก
- โหมดรวดเร็ว
- ไม่ได้ระบุ เมื่อเลือกโหมดรวดเร็ว
- โหมดยืดหยุ่น
- ไม่ได้ระบุ เมื่อเลือกโหมด flex
- ระดับการใช้เหตุผลสูงสุด
- ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด
อัตราประมาณการเพื่อเปรียบเทียบ
ราคาตามการตั้งค่า
เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน
| การตั้งค่า | ตารางอัตราค่าบริการ | ปริมาณคาดการณ์ | หน่วยคิดค่าบริการ | เงื่อนไขคิดค่าบริการ | ค่าบริการ |
|---|---|---|---|---|---|
| การตั้งค่าอัตราค่าบริการโทเคนพื้นฐาน | ตารางอัตราค่าบริการอัตราพื้นฐาน | ปริมาณคาดการณ์— | หน่วยคิดค่าบริการ— | เงื่อนไขคิดค่าบริการ— | ค่าบริการ ขาเข้า · โทเค็นอินพุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การอ่านแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การเขียนแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น |
| การตั้งค่าข้อมูลอ้างอิงขาเข้า | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์— | หน่วยคิดค่าบริการต่อคำขอ | เงื่อนไขคิดค่าบริการการสร้างสไตล์เมื่อสร้างด้วยข้อมูลอ้างอิงสไตล์ คิดครั้งเดียวต่อคำขอ เพิ่มจากราคาภาพขาออก | ค่าบริการ ขาเข้า · ข้อมูลอ้างอิงขาเข้า · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.01 ต่อคำขอ |
| การตั้งค่าภาพขาออก | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์— | หน่วยคิดค่าบริการต่อภาพเอาต์พุต | เงื่อนไขคิดค่าบริการ— | ค่าบริการ ขาออก · ภาพขาออก · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.07 ต่อภาพเอาต์พุต |
| การตั้งค่าต้นทุนการสร้างโดยประมาณ | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์ค่าประมาณสำหรับการสร้างหนึ่งครั้ง | หน่วยคิดค่าบริการ— | เงื่อนไขคิดค่าบริการ— | ค่าบริการ ขาออก · ค่าใช้จ่ายในการสร้างโดยประมาณ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.07 ประมาณการก่อนสร้าง ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว |
Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →
ตัวอย่างคำขอ
Ailoot Ultra · รูปภาพ
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'recraft/recraft-v4-styles', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
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"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
รับและบันทึกผลลัพธ์
Ailoot Ultra · รูปภาพ
ดาวน์โหลดภาพที่ส่งกลับมาทุกภาพ หรือบันทึกเนื้อหา Base64 ของภาพนั้น
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
การอ่านเนื้อหาแบบอื่น
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด
บันทึกภาพที่สร้างเสร็จทุกภาพ โดยดึงภาพจากทุก URL ที่ส่งกลับมา หรือถอดรหัสเนื้อหา Base64
เก็บการตอบกลับและส่วนหัวให้ครบถ้วน เก็บผลลัพธ์จริงทุกรายการ ตัวระบุที่ส่งกลับมาแต่เดิม และฟิลด์ข้อมูลการใช้งานทั้งหมด กู้คืนการดำเนินการเดิมโดยไม่ส่งคำขอสร้างซ้ำ
เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ
เก็บ X-Client-Request-ID ที่ส่งกลับมาไว้เพื่อกระทบยอด อ่านเฉพาะค่า task_id/asset_id ที่ส่งกลับมาจริง หรืออ่านจากคลังสื่อที่เป็นของตนเอง ห้ามสร้าง URL ของงานจาก ID การดำเนินการ และห้ามส่งคำขอสร้างซ้ำเด็ดขาด
ฟิลด์การตอบกลับ
| ฟิลด์ | ประเภท |
|---|---|
ฟิลด์created | ประเภท |
ฟิลด์data[].url | ประเภท |
ฟิลด์data[].b64_json | ประเภท |
ฟิลด์usage | ประเภท |
ชื่ออื่น
ชื่ออื่นของโมเดล
Ailoot Ultra recraft/recraft-v4-styles
ชื่อพาธเมธอดอื่น
/v1/images
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · Recraft: Recraft V4 Styles
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/images/generations·recraft/recraft-v4-styles:text,image→image- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/images/generations·recraft/recraft-v4-styles:model,prompt,aspect_ratio,n,input_references,provider- มีข้อจำกัดใดบ้าง?
POST /v1/images/generations·recraft/recraft-v4-styles:n.minimum:1;n.maximum:6