Meshy V7 Text to 3D
Интеграциялау
meshy/v7/text-to-3d
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/meshy/v7/text-to-3d?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/meshy/v7/text-to-3d?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/meshy/v7/text-to-3d", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/kk/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "meshy/v7/text-to-3d",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
}
Meshy V7 Text to 3D моделін (meshy/v7/text-to-3d) Doitong API арқылы шақырыңыз. Агенттерге арналған құжаттама: https://doitong.com/kk/developers/models/meshy/v7/text-to-3d.md
POST https://api.doitong.ru/v1/run/meshy/v7/text-to-3d?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
Жауап күйі "queued" немесе "running" болса, ол "succeeded" болғанша GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 арқылы күйін тексеріңіз; файлдар outputs[].url ішінде болады. Дәл іске қосу бағасын алдын ала алу үшін POST https://api.doitong.ru/v1/quote/meshy/v7/text-to-3d сұрауын сол денемен жіберіңіз.
Мысалдағыдай файлдар: 1,20 $ 1 200 API кредиті · ≈ 129,10 ₽ файлдарыңыз іске қосу алдында өлшенеді Осы бетте іске қосу
Жаңа API кілтіңіз. Ол тек қазір көрсетіледі және кодта, сондай-ақ төмендегі API кілті өрісінде бар. Оны құпия сақтаңыз: браузерде орындалатын кодқа ешқашан енгізбеңіз.
Алғашқы нәтижеңіз осында пайда болады
Төменде сұрау құрып, оны API кілтіңізбен іске қосыңыз. Шығыстар сақтау орнымызға көшіріліп, мәңгі немесе 7 күн тегін сақталады.
Сұрау жасау
Басқару элементтері модель схемасынан жасалады. Оларды өзгерткен сайын код пен баға жаңартылады.
/run/meshy/v7/text-to-3d?wait=20
бағасы → 1,20 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/meshy/v7/text-to-3d?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/meshy/v7/text-to-3d?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/meshy/v7/text-to-3d", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "meshy/v7/text-to-3d",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"wait_seconds": 20
}
}
}
Осы сұрауды іске қосу
Кілтіңіз осы браузерде қалады: ол тек Doitong API-ге жіберіледі және Remember параметрін белгілеcеңіз ғана localStorage ішінде сақталады. API кілтін алу
Meshy V7 Text to 3D туралы
600 таңбаға дейінгі `prompt` арқылы 3D модель жасайды, `enable_prompt_expansion` қосымша қолжетімді. `mode` текстурасыз геометрияны немесе текстураланған модельді қайтарады. `model_type` арқылы standard, lowpoly немесе smart-topology таңдап, `target_polycount` мәнін 100-ден 300000-ға дейін орнатыңыз және standard не 2k `geometry_resolution` таңдаңыз. Адамтәрізді кейіпкерлерге ригтеу мен анимация пресеттерін қосуға болады.
Параметрлер
promptміндетті
modeміндетті емес
seedміндетті емес
model_typeміндетті емес
topologyміндетті емес
target_polycountміндетті емес
should_remeshміндетті емес
symmetry_modeміндетті емес
enable_pbrміндетті емес
is_a_t_poseміндетті емес
pose_modeміндетті емес
enable_prompt_expansionміндетті емес
texture_promptміндетті емес
texture_image_urlміндетті емес
enable_riggingміндетті емес
rigging_height_metersміндетті емес
enable_animationміндетті емес
animation_action_idміндетті емес
enable_safety_checkerміндетті емес
geometry_resolutionміндетті емес
ultra_modeміндетті емес
Файл параметрлері жалпыға қолжетімді https:// URL мекенжайын, 10 MB-қа дейінгі data: URI мекенжайын немесе жүктеп салынған файлдың file_url мәнін қабылдайды. Файлдар
Шығыс
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "meshy/v7/text-to-3d",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 1200,
"usd": "1.20",
"charged": 1200,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"output": {
"animation_glb": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"animation_fbx": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"model_glb": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"thumbnail": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"model_urls": {
"glb": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"fbx": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"obj": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"usdz": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"blend": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"stl": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
}
},
"texture_urls": [
{
"base_color": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"metallic": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"normal": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"roughness": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
}
}
],
"seed": 42,
"prompt": "A rustic, antique wooden treasure chest with a curved, domed lid, constructed from weathered, dark brown planks exhibiting prominent wood grain and subtle distress. It's heavily reinforced with broad, dark grey, oxidized metal bands secured by numerous circular rivets. Ornate, dark iron decorative elements featuring swirling foliate patterns and dragon motifs adorn the corners and lid. A prominent, circular, intricately carved metal lock plate with a central keyhole dominates the front, flanked by two large, dark metallic pull rings.",
"actual_prompt": "string",
"rigged_character_glb": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"rigged_character_fbx": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"basic_animations": {
"walking_glb": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"walking_fbx": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"walking_armature_glb": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"running_glb": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"running_fbx": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"running_armature_glb": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
}
},
"rig_task_id": "string"
},
"outputs": [
{
"type": "file",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_size": 1843200,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Шығыс өрістері
- animation_glb
- object {url, content_type, file_name, file_size} | null3D модельді GLB ретінде қамтитын анимация нәтижесі; enable_animation true болмаса, жауапта бұл нәтиже болмайды.
- animation_fbx
- object {url, content_type, file_name, file_size} | null3D модельді FBX ретінде қамтитын анимация нәтижесі; enable_animation true болмаса, жауапта бұл нәтиже болмайды.
- model_glb
- object {url, content_type, file_name, file_size}Генерацияланған 3D нысаны бар GLB файлы.
- thumbnail
- object {url, content_type, file_name, file_size} | nullГенерацияланған модельдің алдын ала қарауын көрсететін нобай.
- model_urls
- object {glb, fbx, obj, usdz, blend, stl}Әртүрлі пішімдердегі 3D модельге сілтемелер.
- texture_urls
- array of object {base_color, metallic, normal, roughness}Нысандар массиві ретінде ұсынылған текстура файлдары.
- seed
- integer | nullГенерация кезінде пайдаланылатын seed мәні.
- prompt
- stringГенерация үшін берілген мәтіндік нұсқау.
- actual_prompt
- string | nullНұсқауды кеңейту қосылғанда генерацияға нақты қолданылған нұсқау мәтіні.
- rigged_character_glb
- object {url, content_type, file_name, file_size} | nullGLB кейіпкер файлы ретінде берілетін риггинг нәтижесі; enable_rigging true болмаса, жауапта болмайды.
- rigged_character_fbx
- object {url, content_type, file_name, file_size} | nullFBX кейіпкер файлы ретінде берілетін риггинг нәтижесі; enable_rigging true болмаса, жауапта болмайды.
- basic_animations
- object {walking_glb, walking_fbx, walking_armature_glb, running_glb, running_fbx, running_armature_glb} | nullНегізгі жүру және жүгіру анимациялары, тек enable_rigging true болғанда қосылады.
- rig_task_id
- string | nullРиггинг тапсырмасының идентификаторы; тек enable_rigging true болғанда қосылады.
Meshy v7 модельдерінің басқа нұсқалары
Қосымша модельдер: Мәтіннен 3D-ге
AI агенттеріне: бұл беттің Markdown нұсқасы мына жерде: https://doitong.com/kk/developers/models/meshy/v7/text-to-3d.md. Барлық модельдер мен нұсқаулықтар: https://doitong.com/developers/llms.txt