النماذج

Recraft: Recraft V3

Markdown · JSON

Recraft: Recraft V3

ينشئ Recraft V3 صورًا فوتوغرافية ورسومًا توضيحية وتخطيطات جرافيكية بتكوين يراعي النص وعناصر تحكّم أسلوبية. وتلائم نسخه النقطية وSVG المستقلة الملصقات ومجموعات صور العلامات التجارية والأيقونات والتصاميم التي يجب أن تعمل فيها الصياغة والبنية البصرية معًا.

عن النموذج

يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.

Recraft V3 نموذج لتوليد الصور صُمّم للتصميم الجرافيكي والمشاهد الفوتوغرافية والمرسومة. يصف توجيه مكتوب العنصر والمكان والتكوين؛ والناتج صورة. يطوّر V3 رسم النص والواقعية الفوتوغرافية لدى Recraft، مع الحفاظ على اتساق الأسلوب من الصور النموذجية من دون إعادة تدريب.

النص جزء من التكوين

يعمل V3 مع النص داخل الصورة، بما فيه النص الأطول والحروف متوسطة الحجم. تصف Recraft مرحلة تخطيط تحدّد الكلمات ومواضعها قبل توليد الصورة. ويمكن إنتاج التخطيط تلقائيًا من التوجيه أو ترتيبه يدويًا في بيئة التصميم لدى Recraft. ويساعد ذلك في ربط عنوان ورسم ونص مساند داخل تكوين واحد. وتوثّق الجهة المصنّعة أيضًا إحداثيات صريحة لتخطيط النص، معبَّرًا عنها نسبةً إلى الصورة لا كشبكة بكسلات ثابتة. يحتوي كل عنصر نصي على كلمة واحدة وأربع نقاط زوايا بإحداثيات مطبَّعة: ‏(0, 0) أعلى اليسار و(1, 1) أسفل اليمين. ويمكن للإحداثيات تجاوز ذلك النطاق، وعندها يُقتطع الشكل. ويجب أن تتبع كلمات التخطيط النصي الصريح قيود المحارف الموثّقة.

لملصق أو غلاف، قدّم الصياغة الدقيقة وصِف تسلسلها الهرمي: السطر المتصدّر ومكانه وكيف تدعمه الصورة. تحقّق من الإملاء والتباعد المرسومين عند اختيار النتيجة.

الأسلوب والألوان والاتجاه الفني

يتضمّن V3 أساليب فوتوغرافية وتوضيحية وشعارية منسّقة، إضافة إلى مكتبة مستقلة للأساليب المتجهية. Recraft V3 Raw الأسلوب الافتراضي للنموذج النقطي؛ وVector art الافتراضي للنسخة المتجهية. تستهدف Photorealism مظهرًا فوتوغرافيًا، بينما تستوعب Illustration الملامس الفنية والتظليل والانتقالات اللونية الأكثر تعقيدًا. وتفضّل الأساليب المتجهية الأشكال والألوان المحدودة والتعبئات المسطّحة أو التدرّجات البسيطة.

يمكن بناء أساليب مخصّصة من صور مرجعية أو أساليب متوافقة موجودة أو مزيج منها. وتوفّر اتجاهًا بصريًا قابلًا لإعادة الاستخدام عبر سلسلة صور. وتتيح عناصر المزج الموثّقة للمراجع والأساليب المصدرية حمل أوزان مستقلة؛ وتتطابق أعداد الأوزان مع المصادر. وسياسَتا المزج المذكورتان هما PaletteMatch وMaxWeight. تسمح الجهة المصنّعة بما يصل إلى 10 صور مرجعية للأسلوب وتستخدم وضع مطابقة الأسلوب regular لV3. والأسلوب المخصّص المخزّن والمراجع الأسلوبية المباشرة مدخلان بديلان، ويجب أن يتوافق الأسلوب المخصّص مع النموذج المستخدم للتوليد.

توجّه الألوان المفضّلة ولون الخلفية لوحة الألوان. ويوثّق الدليل ما يصل إلى 10 ألوان RGB، بكل مكوّن من 0 إلى 255. وتتراوح الأوزان النسبية الاختيارية من 0 إلى 1؛ ويجب تقديمها لكل الألوان أو عدم تقديمها لأي منها، ويجب ألّا يتجاوز مجموعها 1. ويتراوح المستوى الفني من 0 لمعالجة ثابتة ونظيفة إلى 5 لتكوينات أكثر حيوية وغرابة. ويصف التوجيه السلبي العناصر غير المرغوبة؛ ويعطّل عنصر مستقل لمنع النص تخطيطات النص المضمّنة. وتتوفر بذرة عشوائية لقابلية إعادة الإنتاج. تمنح هذه العناصر وسائل مختلفة للمشهد وأسلوبه وتخطيطه البصري.

الصور النقطية ونسخة SVG مستقلة

توثّق Recraft نسختين من V3. ينتج النموذج النقطي WebP من دون فقدان أو PNG، ويلائم التفاصيل الفوتوغرافية والتظليل والرسوم ذات الملمس. وينتج Recraft V3 Vector صيغة SVG: مسارات وأشكال يمكن تكبيرها من دون دقة بكسلات ثابتة. ويلائم الرموز التصويرية ومفاهيم الشعارات والشارات والأعمال المتجهية التفصيلية. وتحويل الصور النقطية إلى متجهية عملية مستقلة عن توليد عمل متجهي مباشرة.

لكل نسخة هويتها الخاصة. فصورة ذات مظهر متجهي ومخرج SVG فعلي خياران مختلفان. اختر المخرج المقصود عند تجهيز مسار التصميم، بدلًا من اعتبار الاسم المشترك V3 دليلًا على أن كل عملية تعيد نوع الملف نفسه.

تحرير الأعمال الموجودة وإنهاؤها

تسرد وثائق V3 لدى Recraft التوليد من صورة إلى صورة والترميم داخل المناطق والتوسيع خارج الإطار واستبدال الخلفية أو توليدها. يجمع العمل من صورة إلى صورة صورة موجودة بتوجيه جديد. ويعيد الترميم توليد المنطقة المختارة باستخدام صورة وقناع مطابق؛ ويضيف التوسيع محتوى خارج الإطار الأصلي. وتتعامل عمليات الخلفية مع محيط العنصر.

تتضمّن الأدوات المصاحبة أيضًا المسح وإزالة الخلفية والتحويل إلى متجهات وطريقتين لرفع الدقة. ويمكن لرفع الدقة الإبداعي إدخال تفاصيل جديدة؛ ويستهدف رفع الدقة الحاد نسخة أكبر وأكثر وضوحًا للمحتوى الموجود. وهذه عمليات مستقلة بمدخلاتها ونتائجها الخاصة، وليست معاني إضافية لاسم النموذج النقطي أو المتجهي.

حدود التوجيه والحجم والصورة المصدرية

تقبل مواصفات توليد V3 لدى الجهة المصنّعة توجيهًا حتى 1000 حرف و1–6 صور لكل طلب. وتدعم 14 نسبة أبعاد: 1:1 و2:1 و1:2 و3:2 و2:3 و4:3 و3:4 و5:4 و4:5 و6:10 و14:10 و10:14 و16:9 و9:16. وتشمل الأمثلة النقطية الموثّقة 1024x1024 و1820x1024 و1024x1820. ويجب أن تكون الأبعاد النقطية الدقيقة من القائمة المدعومة؛ ويستخدم SVG نسب الأبعاد من دون حجم بكسلات ثابت. وعند إغفال الحجم، يختاره نظام الجهة المصنّعة من التوجيه.

لعمليات إدخال الصور، تسرد الجهة المصنّعة PNG وJPG وWebP، مع SVG عندما تسمح به العملية المحدّدة. يجب أن تكون الملفات أقل من 20 MB، وألّا تتجاوز 16 MP، وألّا يزيد الضلع الأطول على 4096 بكسل. ويكون الضلع الأقصر 256 بكسل على الأقل، مع استثناء 32 بكسل لرفع الدقة الحاد. وتطابق الأقنعة حجم الصورة وتستخدم الأسود والأبيض الخالصين؛ وللمراجع الأسلوبية حد إجمالي 64 MB.

لمشروع Ailoot API، حوّل المهمة إلى توجيه صوري مركّز: النص الدقيق وترتيب الأجسام والأسلوب البصري والتكوين المطلوب. يحتاج الملصق ومشهد المنتج وسلسلة الأيقونات إلى توجيهات مختلفة؛ وحافظ على الفروق ذات الصلة بين نسخ V3 وعملياته عند تحديد كيفية استخدام كل نتيجة.

Ailoot Ultra · الصور POST /v1/images/generations recraft/recraft-v3

recraft/recraft-v3

Recraft /recraft/recraft-v3

البداية

ينشئ Recraft V3 صورًا فوتوغرافية ورسومًا توضيحية وتخطيطات جرافيكية بتكوين يراعي النص وعناصر تحكّم أسلوبية. وتلائم نسخه النقطية وSVG المستقلة الملصقات ومجموعات صور العلامات التجارية والأيقونات والتصاميم التي يجب أن تعمل فيها الصياغة والبنية البصرية معًا.

المدخلات المقبولة
النص · الصور
النتائج
الصور

متاح في Ailoot · المدخلات والطرائق

Ailoot Ultra · الصور POST /v1/images/generations
الإدخال
text, image
الإخراج
image
صيغة الإخراج
ملف صورة
الحقلالنوعالمتطلبالقيم والحدودالقيمة الافتراضية
الحقلmodelالنوعstringالمتطلبمطلوبالقيم والحدود
recraft/recraft-v3
القيمة الافتراضية—
الحقلpromptالنوعstringالمتطلبمطلوبالقيم والحدود
الحد الأدنى للطول: ⁦1⁩
القيمة الافتراضية—
الحقلnالنوعintegerالمتطلباختياريالقيم والحدود
الحد الأدنى: ⁦1⁩
الحد الأقصى: ⁦6⁩
القيمة الافتراضية—
الحقلaspect_ratioالنوعstringالمتطلباختياريالقيم والحدود
1:1, 4:3, 3:4, 16:9, 9:16, auto
القيمة الافتراضية—
الحقلinput_referencesالنوعarrayالمتطلباختياريالقيم والحدود
الحد الأدنى للعناصر: ⁦0⁩
الحد الأقصى للعناصر: ⁦1⁩
القيمة الافتراضية—
تركيبات مواد الإدخال

تحويل النص إلى صورة · مطلوب: prompt

معلمات الطريقة ودورة حياتها
المعلمةالمواصفات
المعلمةcontent_typeالمواصفاتapplication/json
المعلمةrequiredالمواصفاتmodel, prompt
المعلمةmaterial_typesالمواصفاتtext, image
المعلمةoptional_controlsالمواصفاتaspect_ratio, n, input_references
المعلمةexact_supported_parametersالمواصفات{"aspect_ratio":{"type":"enum","values":["1:1","4:3","3:4","16:9","9:16","auto"]},"n":{"type":"range","min":1,"max":6},"input_references":{"type":"range","min":0,"max":1}}
المعلمةreference_material_ruleالمواصفاتمراجع الصور الفعلية الخاصة بالعميل فقط؛ وتخضع لشروط نقطة النهاية لدى المزوّد.

الأسماء البديلة للطريقة: /v1/images

دورة الحياة: 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 من الرموز
الإعداداتUltraجدول التعرفة—الكمية المتوقعة—وحدة الفوترةلكل صورة مُخرجةالرسوم
الإخراج · إخراج الصور · تقدير للمقارنة فقط $0.08 لكل صورة مُخرجة
الإعداداتتكلفة التوليد التقديريةجدول التعرفة—الكمية المتوقعةتقدير لتوليد واحدوحدة الفوترة—الرسوم
الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط $0.08 تقدير قبل الإنشاء

هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة.

تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →

تفاصيل التعرفة المرجعية

لا تغيّر جداول التعرفة المرجعية على مستوى النموذج اختيار الطريقة أو عروض الأسعار أو الرسوم. وتستخدم الرسوم الفعلية تعرفات طريقة Ailoot المحددة.

إعدادات تسعير الصور

الأسعار حسب الإعدادات

الإعداداتشروط الفوترةالرسوم
الإعداداتصورة المخرجاتشروط الفوترةلم يُعلَن أي خيار تسعير بديل.الرسوم
الإخراج · صورة المخرجات $0.08 لكل صورة

تصف البنود المتكافئة الرسم نفسه؛ ولا تضيف رسماً ثانياً.

أمثلة للطلبات

Ailoot Ultra · الصور

curlPython SDKNode.js SDK
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-v3', '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
from openai import OpenAI
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")

request={'model': 'recraft/recraft-v3', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "recraft/recraft-v3", "prompt": "a red panda astronaut floating in space, studio lighting"};
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
  const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
  if(!encoded && uri.startsWith("data:image/")) {
    const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
    encoded=uri.slice(comma+1);
  }
  if(encoded) {
    if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
    raw=Buffer.from(encoded,"base64");
  } else if(uri) {
    const u=new URL(uri,"https://api.ailoot.ai");
    if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
    const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
    const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
    if(!response.ok) throw new Error("Image content download failed: "+response.status);
    raw=Buffer.from(await response.arrayBuffer());
  } else throw new Error("Image has neither bytes nor URL");
  if(!raw.length) throw new Error("Empty image result");
  const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
  writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");

استلام النتائج وحفظها

Ailoot Ultra · الصور

نزّل كل صورة مُرجعة أو احفظ محتواها بصيغة Base64

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
الاحتفاظ بكل النتائج المكتملة

احفظ كل صورة مكتملة؛ نزّلها من كل URL مُرجع، أو فك ترميز محتواها بصيغة Base64.

احتفظ بكل عنصر بيانات وبالاستخدام كاملاً؛ واحفظ جميع الصور الفعلية المُعادة كأصول مملوكة لك. لا تختلق عناوين URL أو معرّفات.

عند الحاجة إلى التحقق من الاستجابة الأصلية

إذا تطلبت نتيجة توليد صورة أو تعديلها التحقق، فاحتفظ بقيمة operation_id/X-Client-Request-ID الأصلية ومعلومات النتيجة المُعادة. استعد النتائج الموجودة والمملوكة لك عبر مكتبة الوسائط باستخدام قيم task_id أو asset_id الفعلية. لا تُعِد إرسال طلب التوليد أو التعديل، ولا تنشئ عنوان URL للاستعلام الدوري من operation_id.

حقول الاستجابة
الحقلالنوع
الحقلcreatedالنوعinteger
الحقلdata[].urlالنوعstring
الحقلdata[].b64_jsonالنوعbase64 string
الحقلusageالنوعobject

الأسماء البديلة

الأسماء البديلة للنموذج

Ailoot Ultra recraft/recraft-v3

الأسماء البديلة لمسارات الطرائق

/v1/images

معرّفات النماذج ذات الصلة IDs

recraft/recraft-v3

FAQ · Recraft: Recraft V3
ما المدخلات والنتائج المتاحة؟

POST /v1/images/generations · recraft/recraft-v3: text, image → image

ما الحقول التي يستخدمها الطلب؟

POST /v1/images/generations · recraft/recraft-v3: model, prompt, n, aspect_ratio, input_references

ما الحدود المطبقة؟

POST /v1/images/generations · recraft/recraft-v3: n.minimum: 1; n.maximum: 6

المزيد من التفاصيل

اربط Ailoot بخدمة Claude Code أوOpenCode أوHermes أوتطبيقك.

الشركة ومحفظة مشاريعها

الشركة ومحفظة مشاريعها: ملايين العملاء؛ مبيعات بالمليارات شهريًا.

اشتر الرموز بخصم.

خصم اشتراك للعمل المنتظم. الرموز الترويجية حتى 50% على شراء الرموز.

الاشتراك
اختر خطة بخصم لطلباتك المنتظمة.
رمز خصم حتى 50%
أدخل الرمز عند الشراء. يعاد حساب السعر وفق العرض الساري.
المصروفات في السجل
يحفظ النموذج والرموز والمبلغ لكل طلب.

اختر اشتراكا · اعرض أسعار النماذج

اربط API بالمنتج الذي تبيعه.

SaaS والتطبيقات والبوتات وفق العرض واتفاقية ترخيص Ailoot. لإعادة البيع، اطلب ترخيص موزع.

تطبيق تجاري
أضف توليد النص والصور والفيديو والصوت إلى ميزات خدمتك المدفوعة.
ترخيص إعادة البيع
أرسل وصف المشروع وطريقة توفير الوصول. اطلب شروط استخدام وإعادة بيع مكتوبة.
المستندات على الموقع
العرض واتفاقية الترخيص وسياسة معالجة البيانات متاحة قبل الربط.

اطلب ترخيص إعادة بيع · العرض واتفاقية الترخيص