API Teks ke 3D ialah ciri yang membolehkan anda mengintegrasikan keupayaan Teks ke 3D Meshy ke dalam aplikasi anda sendiri. Dalam bahagian ini, anda akan menemui semua maklumat
yang anda perlukan untuk bermula dengan API ini.
Teks ke 3D menggunakan aliran kerja dua langkah. Pertama, cipta tugasan preview (mode: "preview") untuk menjana jejaring 3D tanpa tekstur, supaya anda boleh menilai bentuknya. Kemudian, hantar ID tugasan preview yang telah selesai kepada tugasan refine (mode: "refine") untuk mengenakan tekstur pada jejaring tersebut. Kedua-dua langkah ini berkongsi endpoint yang sama.
Endpoint ini mencipta tugas preview Teks ke 3D, yang menjana jejaring 3D tanpa tekstur (geometri sahaja) daripada prompt teks. Ini adalah langkah pertama dalam aliran kerja dua langkah. Setelah preview berjaya, gunakan ID tugas yang dikembalikan untuk mencipta tugas refine bagi tujuan pemberian tekstur. Rujuk
The Text to 3D Task Object untuk skema respons yang lengkap.
Parameter
Name
mode
Type
string
Diperlukan
Description
Medan ini perlu ditetapkan kepada "preview" apabila mencipta tugas preview.
Name
prompt
Type
string
Diperlukan
Description
Terangkan jenis objek yang diwakili oleh model 3D tersebut. Maksimum 800 aksara.
Name
model_type
Type
string
lalai standard
Description
Tentukan jenis penjanaan mesh 3D.
Nilai yang tersedia:
standard: Penjanaan mesh 3D berperincian tinggi biasa.
smart-topology: Pilih model Smart Topology dengan ai_model (meshy-t2).
lowpoly (lapuk): Menjana mesh low-poly yang dioptimumkan untuk poligon yang lebih bersih. Kami mengesyorkan penggunaan smart-topology sebagai gantinya.
Apabila smart-topology dipilih, should_remesh dan decimation_mode diabaikan, dan hanya topology: triangle diterima.
Apabila lowpoly dipilih, ai_model, topology, target_polycount, dan should_remesh diabaikan.
Name
ai_model
Type
string
lalai latest
Description
ID model yang hendak digunakan. Nilai yang tersedia bergantung pada model_type.
meshy-t2 (lalai): model Smart Topology — topology yang lebih bersih, bahagian yang dipisahkan secara semula jadi, output triangle, dan bilangan muka yang boleh anda tetapkan dengan target_polycount.
Name
ultra_mode
Type
boolean
lalai false
Description
Mendayakan penjanaan Ultra untuk geometri berketepatan lebih tinggi dengan perincian permukaan yang lebih halus. Penjanaan mengambil masa lebih lama dan menambah 5 kredit.
Hanya disokong apabila ai_model ialah meshy-7 (atau latest), dan hanya pada mode preview.
Name
should_remesh
Type
boolean
lalai false (meshy-6, meshy-7), true (others)
Description
Mengawal sama ada untuk mendayakan fasa remesh. Untuk model berkualiti tertinggi, kami mengesyorkan menetapkan should_remesh kepada false.
Hanya berlaku apabila should_remesh = true
Name
topology
Type
string
lalai triangle
Description
Tentukan topology model yang dijana.
Nilai yang tersedia:
quad: Menjana mesh yang didominasi quad.
triangle: Menjana mesh triangle yang telah didesimasi.
Output Smart Topology adalah triangle sahaja. Meminta quad bersama ai_model: meshy-t2 akan mengembalikan ralat.
Name
decimation_mode
Type
integer
Description
Dayakan desimasi adaptif dengan menetapkan tahap bilangan poligon. Apabila ditetapkan, target_polycount diabaikan.
Nilai yang tersedia:
1: Adaptif — bilangan poligon ultra.
2: Adaptif — bilangan poligon tinggi.
3: Adaptif — bilangan poligon sederhana.
4: Adaptif — bilangan poligon rendah.
Name
target_polycount
Type
integer
Description
Sasaran bilangan poligon (muka) dalam output. Bilangan sebenar mungkin berbeza daripada sasaran bergantung pada geometri.
target_polycount berkuat kuasa dalam dua kes bebas:
Remesh — dengan should_remesh: true pada model standard. Mesh tersebut di-remesh (didesimasi) kepada anggaran bilangan ini. Julat 100 hingga 300,000, lalai 30,000. Jika decimation_mode ditetapkan, ia mengatasi keutamaan dan target_polycount diabaikan.
Smart Topology — dengan model_type: smart-topology dan ai_model: meshy-t2. Model dijana terus pada bilangan muka ini; tiada remesh dijalankan dan should_remesh tidak diperlukan. Julat 100 hingga 15,000, lalai 4,000.
Name
symmetry_mode
Type
string
⚠ lapuk
lalai auto
Description
Lapuk. Parameter ini tidak lagi memberi kesan kepada output.
Medan symmetry_mode mengawal tingkah laku simetri semasa proses penjanaan model.
Nilai yang sah ialah:
off: Melumpuhkan simetri.
auto: Menentukan dan menggunakan simetri secara automatik berdasarkan geometri input.
on: Menguatkuasakan simetri semasa penjanaan.
Name
pose_mode
Type
string
lalai ""
Description
Tentukan mode pose untuk model yang dijana.
Nilai yang tersedia:
a-pose: Menjana model dalam pose A.
t-pose: Menjana model dalam pose T.
"" (rentetan kosong): Tiada pose khusus digunakan.
Name
is_a_t_pose
Type
boolean
⚠ lapuk
lalai false
Description
Gunakan pose_mode sebagai gantinya. Sama ada untuk menjana model dalam pose A/T.
Name
art_style
Type
string
⚠ lapuk
lalai realistic
Description
Tidak disokong oleh Meshy-6. Permintaan yang menggunakan Meshy-6 akan mengabaikan art_style, dan sesetengah gabungan mungkin menyebabkan ralat. Nilai yang tersedia: realistic, sculpture.
enable_pbr perlu ditetapkan kepada false apabila menggunakan gaya Sculpture, kerana gaya Sculpture menjana set peta PBR tersendiri.
Name
moderation
Type
boolean
lalai false
Description
Apabila ditetapkan kepada true, kandungan input akan disaring secara automatik untuk kandungan yang berpotensi berbahaya. Jika kandungan berbahaya dikesan, tugas tidak akan diteruskan ke peringkat penjanaan.
Teks daripada prompt akan disaring.
Name
target_formats
Type
string[]
Description
Menentukan format fail 3D yang hendak disertakan dalam output. Hanya format yang diminta akan dijana dan dikembalikan, yang boleh mengurangkan masa penyempurnaan tugas. Apabila ditinggalkan, semua format yang disokong akan disertakan.
Nilai yang tersedia: glb, obj, fbx, stl, usdz, 3mf
Apabila ditinggalkan, semua format kecuali 3mf akan dijana. 3mf hanya disertakan apabila dinyatakan secara eksplisit.
Name
alpha_thumbnail
Type
boolean
lalai false
Description
Apabila ditetapkan kepada true, tugas tersebut juga akan merender versi latar belakang telus (RGBA) bagi preview dan mengembalikannya sebagai alpha_thumbnail_url pada respons GET. Medan thumbnail_url yang sedia ada tidak berubah.
Name
auto_size
Type
boolean
lalai false
Description
Apabila ditetapkan kepada true, perkhidmatan menggunakan penglihatan AI untuk menganggarkan secara automatik ketinggian sebenar objek tersebut di dunia nyata dan mengubah saiz model dengan sewajarnya. Titik asal akan lalai kepada bottom melainkan origin_at ditetapkan secara eksplisit.
Hanya berlaku apabila auto_size = true
Name
origin_at
Type
string
lalai bottom
Description
Kedudukan titik asal apabila auto_size didayakan.
Nilai yang tersedia: bottom, center.
Returns
Sifat result pada respons mengandungi id tugas bagi tugas Teks ke 3D yang baru dicipta.
Failure Modes
Name
400 - Bad Request
Description
Permintaan tidak boleh diterima. Punca biasa:
Parameter hilang: Parameter yang diperlukan (contohnya, prompt, mode) tiada.
Parameter tidak sah: art_style bukan salah satu nilai yang dibenarkan.
Prompt terlalu panjang: prompt melebihi had aksara.
Name
401 - Unauthorized
Description
Pengesahan gagal. Sila semak kunci API anda.
Name
402 - Payment Required
Description
Kredit tidak mencukupi untuk melaksanakan tugas ini.
Name
429 - Too Many Requests
Description
Anda telah melebihi had kadar anda.
Request
POST
/openapi/v2/text-to-3d
# Simple preview with required params onlycurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "preview", "prompt": "a monster mask"}'# Preview with remesh and A-posecurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "preview", "prompt": "a futuristic robot warrior", "should_remesh": true, "target_polycount": 100000, "pose_mode": "a-pose", "target_formats": ["glb"]}'
Endpoint ini mencipta tugas refine Teks ke 3D, yang mengaplikasikan tekstur pada jejaring preview yang telah selesai. Anda mesti menyediakan preview_task_id daripada tugas preview yang berjaya. Ini adalah langkah kedua daripada aliran kerja dua langkah.
Parameter
Name
mode
Type
string
Diperlukan
Description
Medan ini perlu ditetapkan kepada "refine" apabila mencipta tugas refine.
Name
preview_task_id
Type
string
Diperlukan
Description
ID tugas preview yang berkaitan.
Status tugas preview yang diberikan mestilah SUCCEEDED.
Name
enable_pbr
Type
boolean
lalai false
Description
Jana peta PBR (metallic, roughness, normal) selain warna asas. Peta emission turut disertakan apabila ai_model ialah meshy-6, kecuali pada texture_resolution: 8k (tiada peta emission dihasilkan). meshy-7 (dan latest) tidak menghasilkan peta emission.
Name
texture_resolution
Type
string
lalai 2k
Description
Resolusi tekstur warna asas. Salah satu daripada 2k (2048×2048), 4k (4096×4096), atau 8k (8192×8192). Resolusi yang lebih tinggi menangkap lebih banyak perincian permukaan. Hanya terpakai pada mode refine.
4k dan 8k memerlukan ai_modelmeshy-6, meshy-7, atau latest. Pada 8k, tiada peta emission dihasilkan.
Name
hd_texture
Type
boolean
⚠ lapuk
lalai false
Description
Gunakan texture_resolution sebagai gantinya — bersamaan dengan texture_resolution: "4k". Apabila kedua-duanya ditetapkan, texture_resolution diutamakan.
Name
texture_prompt
Type
string
Description
Berikan prompt teks tambahan untuk membimbing proses tekstur. Maksimum 800 aksara.
Name
texture_image_url
Type
string
Description
Berikan imej 2D untuk membimbing proses tekstur. Kami kini menyokong format .jpg, .jpeg, dan .png.
Terdapat dua cara untuk menyediakan imej:
URL yang boleh diakses secara umum: URL yang boleh diakses daripada internet awam
Data URI: Data URI imej yang dikodkan base64. Contoh data URI: data:image/jpeg;base64,<data imej anda yang dikodkan base64>
Tekstur imej mungkin tidak berfungsi secara optimum jika terdapat perbezaan geometri yang ketara antara aset asal dan imej yang dimuat naik. Hanya salah satu daripada texture_image_url atau texture_prompt boleh digunakan untuk membimbing proses tekstur. Jika kedua-dua parameter disediakan, maka texture_prompt akan digunakan untuk mentekstur model secara lalai.
Name
ai_model
Type
string
lalai inherited from the preview task
Description
ID model yang akan digunakan untuk refine. Nilai yang tersedia: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
Tinggalkan parameter ini untuk mewarisi model yang digunakan oleh tugas preview, yang mengekalkan preview dan refine-nya pada model yang sama dari hujung ke hujung. Berikan nilai eksplisit untuk mengatasi pewarisan tersebut.
latest yang eksplisit akan diselesaikan di sini dengan cara yang sama seperti pada tugas preview (kini Meshy 7), jadi preview latest dan refine latest-nya sentiasa jatuh pada model tekstur yang sama.
Name
moderation
Type
boolean
lalai false
Description
Apabila ditetapkan kepada true, kandungan input akan disaring secara automatik untuk kandungan yang berpotensi berbahaya. Jika kandungan berbahaya dikesan, tugas tidak akan diteruskan ke penjanaan.
Kedua-dua teks daripada texture_prompt dan imej daripada texture_image_url akan disaring.
Name
remove_lighting
Type
boolean
lalai true
Description
Membuang sorotan (highlights) dan bayang-bayang daripada tekstur warna asas, menghasilkan keputusan yang lebih bersih yang berfungsi lebih baik di bawah tetapan pencahayaan tersuai.
Hanya berkuat kuasa apabila ai_model ialah meshy-6. Pada meshy-7 (dan latest) parameter ini diterima tetapi diabaikan.
Name
target_formats
Type
string[]
Description
Menentukan format fail 3D yang hendak disertakan dalam output. Hanya format yang diminta akan dijana dan dikembalikan, yang boleh mengurangkan masa penyelesaian tugas. Apabila ditinggalkan, semua format yang disokong disertakan.
Nilai yang tersedia: glb, obj, fbx, stl, usdz, 3mf
Apabila ditinggalkan, semua format kecuali 3mf dijana. 3mf hanya disertakan apabila dinyatakan secara eksplisit.
Name
alpha_thumbnail
Type
boolean
lalai false
Description
Apabila ditetapkan kepada true, tugas ini turut merender versi latar belakang lutsinar (RGBA) bagi preview dan mengembalikannya sebagai alpha_thumbnail_url pada respons GET. Medan thumbnail_url yang sedia ada tidak berubah.
Name
auto_size
Type
boolean
lalai false
Description
Apabila ditetapkan kepada true, perkhidmatan menggunakan penglihatan AI untuk menganggarkan secara automatik ketinggian sebenar objek dan mengubah saiz model dengan sewajarnya. Titik asal akan lalai kepada bottom melainkan origin_at ditetapkan secara eksplisit.
Hanya berlaku apabila auto_size = true
Name
origin_at
Type
string
lalai bottom
Description
Kedudukan titik asal apabila auto_size diaktifkan.
Nilai yang tersedia: bottom, center.
Pulangan
Sifat result bagi respons mengandungi id tugas bagi tugas Teks ke 3D yang baru dicipta.
Mod Kegagalan
Name
400 - Bad Request
Description
Permintaan tidak boleh diterima. Punca biasa:
ID tugas tidak sah: preview_task_id tidak sah atau tidak wujud.
Tugas belum sedia: Tugas preview belum berjaya lagi.
Model tidak sepadan: Model AI tugas preview tidak serasi dengan model refine yang diminta.
Name
401 - Unauthorized
Description
Pengesahan gagal. Sila semak kunci API anda.
Name
402 - Payment Required
Description
Kredit tidak mencukupi untuk melaksanakan tugas ini.
Name
404 - Not Found
Description
Tugas preview yang dinyatakan oleh preview_task_id tidak dijumpai.
Endpoint ini membolehkan anda mendapatkan semula tugas Teks ke 3D dengan id tugas yang sah.
Rujuk The Text to 3D Task Object untuk melihat sifat
yang disertakan dengan objek tugas Teks ke 3D.
Endpoint ini berfungsi untuk kedua-dua tugas preview dan refine.
Parameter
Name
id
Type
path
Description
Pengenal unik untuk tugas Teks ke 3D yang hendak didapatkan semula.
Objek Tugas Teks ke 3D ialah unit kerja yang dijejaki oleh Meshy untuk menjana model 3D daripada input teks. Terdapat dua peringkat API Teks ke 3D, preview dan refine. Peringkat preview adalah untuk menjana model 3D jejaring sahaja, dan peringkat refine adalah untuk menjana model 3D bertekstur berdasarkan hasil peringkat preview.
Objek ini mempunyai sifat berikut:
Properties
Name
id
Type
string
Description
Pengenal unik untuk tugas. Walaupun kami menggunakan UUID yang boleh disusun-k (k-sortable) untuk id tugas sebagai butiran pelaksanaan, anda tidak patut membuat sebarang andaian tentang format id tersebut.
Name
type
Type
string
Description
Jenis tugas Teks ke 3D. Nilai yang mungkin ialah text-to-3d-preview untuk tugas peringkat preview dan text-to-3d-refine untuk tugas peringkat refine.
Name
model_urls
Type
object
Description
URL yang boleh dimuat turun untuk fail model 3D bertekstur yang dijana oleh Meshy. Sifat untuk sesuatu format akan ditinggalkan jika format itu tidak dijana, bukannya mengembalikan rentetan kosong.
Name
glb
Type
string
Description
URL yang boleh dimuat turun untuk fail GLB.
Name
fbx
Type
string
Description
URL yang boleh dimuat turun untuk fail FBX.
Name
usdz
Type
string
Description
URL yang boleh dimuat turun untuk fail USDZ.
Name
obj
Type
string
Description
URL yang boleh dimuat turun untuk fail OBJ.
Name
mtl
Type
string
Description
URL yang boleh dimuat turun untuk fail MTL.
Name
stl
Type
string
Description
URL yang boleh dimuat turun untuk fail STL.
Name
3mf
Type
string
Description
URL yang boleh dimuat turun untuk fail 3MF. Hanya wujud apabila 3mf diminta melalui target_formats.
Name
prompt
Type
string
Description
Ini ialah prompt yang tidak diubah suai yang digunakan untuk mencipta tugas tersebut.
Name
negative_prompt
Type
string
⚠ lapuk
Description
Dikekalkan untuk keserasian ke belakang. Medan ini tidak memberi sebarang kesan fungsian ke atas model yang dijana.
Name
art_style
Type
string
⚠ lapuk
Description
art_style yang tidak diubah suai yang digunakan untuk mencipta tugas preview. Tidak disokong oleh Meshy-6.
Name
texture_richness
Type
string
⚠ lapuk
Description
Dikekalkan untuk keserasian ke belakang. Medan ini tidak memberi sebarang kesan fungsian ke atas model yang dijana.
Name
texture_prompt
Type
string
Description
Prompt teks tambahan yang diberikan untuk membimbing proses tekstur semasa peringkat refine.
Name
ultra_mode
Type
boolean
Description
Menggemakan nilai ultra_mode yang digunakan semasa tugas preview dicipta. Hanya wujud untuk tugas preview meshy-7 (atau latest) yang menetapkan ultra_mode secara eksplisit; jika tidak, ia akan ditinggalkan.
Name
texture_image_url
Type
string
Description
URL yang boleh dimuat turun untuk imej tekstur yang digunakan untuk membimbing proses tekstur.
Name
thumbnail_url
Type
string
Description
URL yang boleh dimuat turun untuk imej kecil bagi fail model.
Name
alpha_thumbnail_url
Type
string
Description
URL yang boleh dimuat turun untuk versi latar belakang lutsinar (RGBA) bagi thumbnail_url. Hanya wujud apabila tugas dicipta dengan alpha_thumbnail: true dan pratonton lutsinar berjaya dijana; jika tidak, medan ini akan ditinggalkan.
Name
video_url
Type
string
⚠ lapuk
Description
URL yang boleh dimuat turun untuk video pratonton. Akan dialih keluar dalam keluaran akan datang.
Name
progress
Type
integer
Description
Progress bagi tugas tersebut. Jika tugas belum dimulakan lagi, sifat ini akan menjadi 0. Sebaik sahaja tugas berjaya, ini akan menjadi 100.
Name
started_at
Type
timestamp
Description
Cap masa bila tugas dimulakan, dalam milisaat. Jika tugas belum dimulakan lagi, sifat ini akan menjadi 0.
Cap masa mewakili bilangan milisaat yang berlalu sejak 1 Januari 1970 UTC, mengikut
piawaian RFC 3339.
Sebagai contoh, Jumaat, 1 September 2023 12:00:00 PM GMT diwakili sebagai 1693569600000. Ini terpakai
kepada semua cap masa dalam Meshy API.
Name
created_at
Type
timestamp
Description
Cap masa bila tugas dicipta, dalam milisaat.
Name
finished_at
Type
timestamp
Description
Cap masa bila tugas selesai, dalam milisaat. Jika tugas belum selesai lagi, sifat ini akan menjadi 0.
Name
status
Type
string
Description
Status tugas. Nilai yang mungkin ialah salah satu daripada PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Satu tatasusunan objek URL tekstur yang dijana daripada tugas tersebut. Biasanya ini hanya mengandungi satu objek URL tekstur. Setiap URL tekstur mempunyai sifat berikut:
Name
base_color
Type
string
Description
URL yang boleh dimuat turun untuk imej peta warna asas.
Name
metallic
Type
string
Description
URL yang boleh dimuat turun untuk imej peta logam (metallic).
Jika tugas dicipta dengan enable_pbr: false, sifat ini akan ditinggalkan.
Name
normal
Type
string
Description
URL yang boleh dimuat turun untuk imej peta normal.
Jika tugas dicipta dengan enable_pbr: false, sifat ini akan ditinggalkan.
Name
roughness
Type
string
Description
URL yang boleh dimuat turun untuk imej peta kekasaran (roughness).
Jika tugas dicipta dengan enable_pbr: false, sifat ini akan ditinggalkan.
Name
emission
Type
string
Description
URL yang boleh dimuat turun untuk imej peta pancaran (emission).
Jika tugas dicipta dengan enable_pbr: false, atau ai_model ialah meshy-5, sifat ini akan ditinggalkan.
Name
preceding_tasks
Type
integer
Description
Bilangan tugas yang mendahului.
Nilai medan ini hanya bermakna jika status tugas ialah PENDING.
Name
task_error
Type
object
Description
Butiran ralat untuk tugas yang gagal. Lihat Ralat untuk rujukan penuh objek task_error.
Name
consumed_credits
Type
integer
Description
Bilangan kredit yang digunakan oleh tugas ini. Wujud apabila status tugas ialah PENDING, IN_PROGRESS, atau SUCCEEDED. Mengembalikan 0 untuk tugas FAILED (kredit dikembalikan apabila gagal).
Example Text to 3D Task Object
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"text-to-3d-preview","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***","obj":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***","mtl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***","stl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***" },"prompt":"a monster mask","texture_prompt":"green slimy skin with scales and warts","texture_image_url":"","thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","progress":100,"started_at":1692771667037,"created_at":1692771650657,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":20}