JADE REALMS / Entwicklerdokumentation
REST API Referenz
Öffentliche Metadaten und kostenlose Einzelmodelle benötigen weder Konto noch Schlüssel. Bezahlte Dateien behalten die Kaufprüfung der Website.
Schnellstart
Suchen → prüfen → herunterladen
curl --fail 'https://3dmodelhub.io/api/v1/models?q=pine&limit=2&locale=de'const response = await fetch("https://3dmodelhub.io/api/v1/models?q=pine&limit=2&locale=de", {
credentials: 'omit',
headers: { Accept: 'application/json' }
});
const body = await response.json();
if (!response.ok) throw new Error(body.error?.code || response.status);
console.log(body.data);import json
from urllib.request import urlopen
with urlopen("https://3dmodelhub.io/api/v1/models?q=pine&limit=2&locale=de") as response:
body = json.load(response)
print(body['data'])Beispiele stammen aus dem aktuellen Katalog. Mengen, Preise und Anfrage-IDs können sich ändern.
Authentifizierung und Zugriff
Öffentliche Metadaten und kostenlose Einzelmodelle benötigen weder Konto noch Schlüssel. Bezahlte Dateien behalten die Kaufprüfung der Website.
- Base URL
https://3dmodelhub.io/api/v1- API version
- 1.0.0
- Sprachen
- en · zh · ja · ko · es · de · fr
GET/HEAD lesen, OPTIONS dient CORS. Im Browser credentials: omit verwenden. Unbekannte, doppelte oder ungültige Parameter ergeben 400.
Metadaten teilen je Cloudflare-Standort ein Best-Effort-Limit von 120 Anfragen pro Minute und IP. Dies ist kein Downloadkontingent für kostenlose Dateien.
Nur veröffentlichte Fakten. Unbekanntes bleibt null; Prüfungen gelten für den GLB-Hash und bestätigen keine Leistung.
GET/api/v1/site
Website-Informationen
Read published categories, styles, languages and counts. Catalog entries are not necessarily independent models; read the scope notes.
jaderealms_get_site_info
| Parameter | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|
localequery · string | Optional | "en" | en · zh · ja · ko · es · de · fr | Antwortsprache. |
curl --fail 'https://3dmodelhub.io/api/v1/site?locale=de'const response = await fetch("https://3dmodelhub.io/api/v1/site?locale=de", {
credentials: 'omit',
headers: { Accept: 'application/json' }
});
const body = await response.json();
if (!response.ok) throw new Error(body.error?.code || response.status);
console.log(body.data);import json
from urllib.request import urlopen
with urlopen("https://3dmodelhub.io/api/v1/site?locale=de") as response:
body = json.load(response)
print(body['data'])Antwortbeispiel · HTTP 200
Beispiele stammen aus dem aktuellen Katalog. Mengen, Preise und Anfrage-IDs können sich ändern.
{
"locale": "de",
"data": {
"name": "JadeRealms",
"origin": "https://3dmodelhub.io",
"languages": [
{
"code": "en",
"tag": "en",
"label": "English"
},
{
"code": "zh",
"tag": "zh-CN",
"label": "中文"
},
{
"code": "ja",
"tag": "ja",
"label": "日本語"
},
{
"code": "ko",
"tag": "ko",
"label": "한국어"
},
{
"code": "es",
"tag": "es",
"label": "Español"
},
{
"code": "de",
"tag": "de",
"label": "Deutsch"
},
{
"code": "fr",
"tag": "fr",
"label": "Français"
}
],
"catalog": {
"verified_entries": 252,
"scope_verified_entries": 252,
"scope_pending_entries": 0,
"historical_entries": 251,
"separate_modules": 1,
"verified_atomic_model_total": null,
"verified_scene_packs": 4,
"count_note": "Catalog entries may be scenes, kits or entries of unverified scope. A parent scene and an extracted module are not counted as independent designs twice."
},
"categories": [
{
"id": "terrain",
"name": "Felsen und Gelände",
"count": 29
},
{
"id": "vegetation",
"name": "Bäume und Pflanzen",
"count": 18
},
{
"id": "architecture",
"name": "Gebäude und Architektur",
"count": 71
},
{
"id": "creatures",
"name": "Kreaturen und Tiere",
"count": 30
},
{
"id": "props",
"name": "Requisiten und Objekte",
"count": 96
},
{
"id": "environment",
"name": "Umgebungselemente",
"count": 8
}
],
"styles": [
{
"id": "ancient",
"name": "Historisch",
"count": 72
},
{
"id": "fantasy",
"name": "Fantasy",
"count": 64
},
{
"id": "scifi",
"name": "Science-Fiction",
"count": 22
},
{
"id": "modern",
"name": "Modern",
"count": 23
},
{
"id": "toon",
"name": "Cartoon",
"count": 78
},
{
"id": "anime",
"name": "Anime & JRPG",
"count": 43
}
],
"access": {
"free_model_login_required": false,
"paid_pack_login_required": true,
"paid_pack_purchase_required": true,
"private_account_data_exposed": false
},
"links": {
"home": "https://3dmodelhub.io/de/",
"models": "https://3dmodelhub.io/de/models/",
"kits": "https://3dmodelhub.io/de/kits/",
"guide": "https://3dmodelhub.io/de/guide/",
"license": "https://3dmodelhub.io/de/license/"
}
},
"meta": {
"api_version": "1.0.0",
"request_id": "80caacaa-3e75-4edb-bb76-fbd5cbd3582a"
}
}GET/api/v1/models
Modelle suchen
Filter by keyword and structured conditions. Default order is featured first, then ID; use offset for pagination. Read /site for category and style values.
jaderealms_search_models
| Parameter | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|
qquery · string | Optional | "" | ≤ 120 | Stichwort in Namen und Beschreibungen; keine semantische Suche. |
categoryquery · string | Optional | — | terrain · vegetation · architecture · creatures · props · environment | Kategorie. |
stylequery · string | Optional | — | ancient · fantasy · scifi · modern · toon · anime | Stil. |
tested_enginequery · string | Optional | — | godot · unity · unreal | Importprüfung mit passendem GLB-Hash. |
max_trianglesquery · integer | Optional | — | 1–100000000 | Maximale Dreiecksanzahl. |
limitquery · integer | Optional | 8 | 1–20 | Zeilen pro Seite. |
offsetquery · integer | Optional | 0 | 0–10000 | Startposition. |
localequery · string | Optional | "en" | en · zh · ja · ko · es · de · fr | Antwortsprache. |
curl --fail 'https://3dmodelhub.io/api/v1/models?q=pine&limit=2&locale=de'const response = await fetch("https://3dmodelhub.io/api/v1/models?q=pine&limit=2&locale=de", {
credentials: 'omit',
headers: { Accept: 'application/json' }
});
const body = await response.json();
if (!response.ok) throw new Error(body.error?.code || response.status);
console.log(body.data);import json
from urllib.request import urlopen
with urlopen("https://3dmodelhub.io/api/v1/models?q=pine&limit=2&locale=de") as response:
body = json.load(response)
print(body['data'])Antwortbeispiel · HTTP 200
Beispiele stammen aus dem aktuellen Katalog. Mengen, Preise und Anfrage-IDs können sich ändern.
{
"locale": "de",
"data": [
{
"id": "ancient_pine",
"name": "Alte Kiefer",
"name_en": "Ancient Pine",
"category": "vegetation",
"category_name": "Bäume und Pflanzen",
"styles": [
"ancient",
"fantasy"
],
"triangles": 135682,
"default_glb_bytes": 19271052,
"static": true,
"scope": {
"type": "independent_functional_object",
"status": "verified",
"checked_on": "2026-10-22",
"evidence": "verified_actual_glb_and_three_view_classification",
"parent_id": null,
"historical_count_increment": 1
},
"tested_engines": [
"godot",
"unity"
],
"detail_url": "https://3dmodelhub.io/de/models/ancient_pine/",
"poster_url": "https://3dmodelhub.io/media/ancient_pine-1280.jpg"
}
],
"pagination": {
"total": 1,
"limit": 2,
"offset": 0,
"next_offset": null
},
"sort": "featured_then_id",
"meta": {
"api_version": "1.0.0",
"request_id": "da27563f-ac2d-4cd1-ab6f-28414a6f3e1f"
}
}GET/api/v1/models/{id}
Modelldetails
Use an exact ID from search to get files, materials, animations, dimensions and hash-matched engine checks.
jaderealms_get_model_details
| Parameter | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|
idpath · string | Erforderlich | — | ^[A-Za-z0-9_-]+$ · 1–100 | Exakte ID aus der Liste. |
localequery · string | Optional | "en" | en · zh · ja · ko · es · de · fr | Antwortsprache. |
curl --fail 'https://3dmodelhub.io/api/v1/models/ancient_pine?locale=de'const response = await fetch("https://3dmodelhub.io/api/v1/models/ancient_pine?locale=de", {
credentials: 'omit',
headers: { Accept: 'application/json' }
});
const body = await response.json();
if (!response.ok) throw new Error(body.error?.code || response.status);
console.log(body.data);import json
from urllib.request import urlopen
with urlopen("https://3dmodelhub.io/api/v1/models/ancient_pine?locale=de") as response:
body = json.load(response)
print(body['data'])Antwortbeispiel · HTTP 200
Beispiele stammen aus dem aktuellen Katalog. Mengen, Preise und Anfrage-IDs können sich ändern.
{
"locale": "de",
"data": {
"id": "ancient_pine",
"name": "Alte Kiefer",
"name_en": "Ancient Pine",
"category": "vegetation",
"category_name": "Bäume und Pflanzen",
"styles": [
"ancient",
"fantasy"
],
"triangles": 135682,
"default_glb_bytes": 19271052,
"static": true,
"scope": {
"type": "independent_functional_object",
"status": "verified",
"checked_on": "2026-10-22",
"evidence": "verified_actual_glb_and_three_view_classification",
"parent_id": null,
"historical_count_increment": 1
},
"tested_engines": [
"godot",
"unity"
],
"detail_url": "https://3dmodelhub.io/de/models/ancient_pine/",
"poster_url": "https://3dmodelhub.io/media/ancient_pine-1280.jpg",
"version": "Ancient_Pine_Runtime_v1",
"materials": 5,
"textures": 8,
"available_formats": [
"GLB",
"Blender"
],
"rigged": false,
"animation_count": 0,
"dimensions_m_y_up": null,
"download": {
"login_required": false,
"purchase_required": false,
"recommended": "complete_model_zip",
"files": [
{
"format": "GLB",
"purpose": "Direct default model with embedded materials",
"filename": "ancient_pine_LOD1.glb",
"bytes": 19271052,
"sha256": "2301433ad1795a0bff44b55d65f6ad81e2f94c5e3f15fa0eb7dcdc38a8bb6bbb",
"url": "https://3dmodelhub.io/download/ancient_pine/model-0/"
},
{
"format": "ZIP",
"purpose": "Complete files for this model, including Blender sources and textures",
"filename": "ancient_pine_complete.zip",
"bytes": 41762903,
"sha256": "1529b0170d56bab328c6bf7688009b0359fd390b5491b2a4689b7c9c9125a631",
"url": "https://3dmodelhub.io/download/ancient_pine/package/"
}
]
},
"validation": {
"source_glb_sha256": "2301433ad1795a0bff44b55d65f6ad81e2f94c5e3f15fa0eb7dcdc38a8bb6bbb",
"checks": [
{
"engine": "godot",
"version": "4.7.2",
"status": "passed",
"adaptations": [],
"verified_on": "2026-10-19",
"scope": "desktop_import_materials_static_render",
"report_sha256": "56ab80f9590d2708d689fe6fa1f446c19f3a39e9b71b3013ea3737f35c6ade2a"
},
{
"importer": "com.unity.cloud.gltfast 6.14.1",
"engine": "unity",
"version": "6000.6.6f1",
"status": "passed",
"adaptations": [],
"verified_on": "2026-10-19",
"scope": "desktop_import_materials_static_render",
"report_sha256": "a3034b63e1d70b6970ef6aca228012fc8b76765f2cdaa7c828735f1f46d9c3f4"
}
],
"limitations": "Statische Desktop-Prüfung des aktuellen Standard-GLBs. Keine Zertifizierung für Leistung, Rig, Animation, Modellkollisionen oder automatisches LOD.",
"unreal": "Unreal Engine: nicht geprüft"
},
"license": {
"url": "https://3dmodelhub.io/de/license/",
"commercial_games_and_animation": true,
"cc0_foundation_exception": false
}
},
"meta": {
"api_version": "1.0.0",
"request_id": "2380f54f-36fd-4111-a63c-a0975f935fda"
}
}GET/api/v1/kits
Szenenpakete
Read public scene packs, current public prices and delivery summaries. Personal ownership is not queried.
jaderealms_list_scene_kits
| Parameter | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|
localequery · string | Optional | "en" | en · zh · ja · ko · es · de · fr | Antwortsprache. |
curl --fail 'https://3dmodelhub.io/api/v1/kits?locale=de'const response = await fetch("https://3dmodelhub.io/api/v1/kits?locale=de", {
credentials: 'omit',
headers: { Accept: 'application/json' }
});
const body = await response.json();
if (!response.ok) throw new Error(body.error?.code || response.status);
console.log(body.data);import json
from urllib.request import urlopen
with urlopen("https://3dmodelhub.io/api/v1/kits?locale=de") as response:
body = json.load(response)
print(body['data'])Antwortbeispiel · HTTP 200
Beispiele stammen aus dem aktuellen Katalog. Mengen, Preise und Anfrage-IDs können sich ändern.
{
"locale": "de",
"data": [
{
"id": "meteor-ancient-town",
"name": "Meteor-Altstadt · Teestraße am Fluss",
"summary": "Originalmodelle am Kanal mit Steinbrücke und Teehäusern erkunden. Kamera und Tageslicht lassen sich wechseln.",
"version": "v02",
"access": "paid_one_time",
"login_required": true,
"ownership": "not_queried",
"availability": "on_sale",
"price": {
"amount_minor": 799,
"currency": "usd",
"phase": "intro",
"policy": "intro_then_standard",
"intro_amount_minor": 799,
"standard_amount_minor": 999,
"launch_at": "2026-10-21T16:03:49.190Z",
"intro_ends_at": "2026-11-20T16:03:49.190Z",
"checkout_enabled": true,
"mode": "live"
},
"contents": {
"source_catalog": "models",
"model_count": 9,
"instance_count": 41,
"counts_note": "Instances, LOD files and collision proxies are not additional independent models.",
"source_model_ids": [
"tea_house",
"moon_gate",
"arched_stone_bridge",
"crimson_maple",
"weeping_willow",
"stone_lantern",
"courtyard_wall_corner",
"open_tea_pavilion",
"bamboo_stand"
],
"source_model_access": "free_catalog"
},
"delivery": {
"filename": "Meteor_Ancient_Town_Complete_v02.zip",
"bytes": 876519048,
"format": "ZIP",
"download_ready": true,
"access_note": "Sign in, purchase this pack, and use the download button on its original page. This response does not grant access."
},
"validation": {
"details_url": "https://3dmodelhub.io/de/kits/meteor-ancient-town/",
"checks": [],
"limitations": [
"Engine checks differ between scene packs. Consult this pack detail page; checks on individual source models do not certify whole-scene performance."
]
},
"detail_url": "https://3dmodelhub.io/de/kits/meteor-ancient-town/",
"preview_url": "https://3dmodelhub.io/preview/meteor-ancient-town/?lang=de",
"license_url": "https://3dmodelhub.io/de/license/"
},
{
"id": "moonlit-bamboo",
"name": "Mondtor und Bambus",
"summary": "Ein ruhiger Innenhof mit Bambus, Steinlaternen und einem Mondtor. Erkunde die Originalmodelle, wechsle das Licht und betrachte die Details aus der Nähe.",
"version": "v02",
"access": "paid_one_time",
"login_required": true,
"ownership": "not_queried",
"availability": "on_sale",
"price": {
"amount_minor": 399,
"currency": "usd",
"phase": "intro",
"policy": "intro_then_standard",
"intro_amount_minor": 399,
"standard_amount_minor": 599,
"launch_at": "2026-10-21T16:03:49.190Z",
"intro_ends_at": "2026-11-20T16:03:49.190Z",
"checkout_enabled": true,
"mode": "live"
},
"contents": {
"source_catalog": "models",
"model_count": 4,
"instance_count": 7,
"counts_note": "Instances, LOD files and collision proxies are not additional independent models.",
"source_model_ids": [
"moon_gate",
"stone_lantern",
"bamboo_stand",
"moss_boulders"
],
"source_model_access": "free_catalog"
},
"delivery": {
"filename": "Moonlit_Bamboo_Complete_v02.zip",
"bytes": 234657922,
"format": "ZIP",
"download_ready": true,
"access_note": "Sign in, purchase this pack, and use the download button on its original page. This response does not grant access."
},
"validation": {
"details_url": "https://3dmodelhub.io/de/scenes/moonlit-bamboo/",
"checks": [],
"limitations": [
"Engine checks differ between scene packs. Consult this pack detail page; checks on individual source models do not certify whole-scene performance."
]
},
"detail_url": "https://3dmodelhub.io/de/scenes/moonlit-bamboo/",
"preview_url": "https://3dmodelhub.io/de/scenes/moonlit-bamboo/#preview",
"license_url": "https://3dmodelhub.io/de/license/"
},
{
"id": "sunward-modern-town",
"name": "Sunward Moderne Kleinstadt",
"summary": "Eine helle Kleinstadt mit cremefarbenen Fassaden, petrolfarbenen Läden und verbundenen Straßen. Geschäfte, Wohnhäuser und öffentliche Plätze für deine Spielumgebung.",
"version": "v02",
"access": "paid_one_time",
"login_required": true,
"ownership": "not_queried",
"availability": "on_sale",
"price": {
"amount_minor": 799,
"currency": "usd",
"phase": "fixed",
"policy": "fixed",
"intro_amount_minor": 799,
"standard_amount_minor": 799,
"launch_at": "2026-10-21T16:03:49.190Z",
"intro_ends_at": null,
"checkout_enabled": true,
"mode": "live"
},
"contents": {
"source_catalog": "sunward",
"model_count": 72,
"instance_count": 128,
"counts_note": "Instances, LOD files and collision proxies are not additional independent models.",
"source_model_ids": [
"balcony_platform",
"balcony_railing",
"column",
"corner_external",
"corner_internal",
"cornice",
"exterior_stair",
"foundation_step",
"parapet_corner",
"parapet_straight",
"porch_canopy",
"roof_flat",
"roof_hvac",
"roof_pitched_end",
"roof_pitched_middle",
"shop_awning",
"solar_rack",
"wall_entry",
"wall_shop_entry",
"wall_shop_window",
"wall_solid",
"wall_window",
"crosswalk_marking",
"curb_ramp",
"drain_channel",
"parking_marking",
"plaza_paving",
"road_cross_junction",
"road_curve",
"road_straight",
"road_t_junction",
"sidewalk_external_corner",
"sidewalk_internal_corner",
"sidewalk_straight",
"bollard",
"direction_sign",
"fire_hydrant",
"fountain",
"menu_board",
"planter",
"shop_hanging_sign",
"traffic_light",
"tree_broadleaf",
"tree_street_tall",
"tree_pine_layered",
"tree_blossom",
"shrub_leafy",
"fern_arching",
"grass_upright",
"grass_arching",
"rock_single",
"flowers_meadow",
"bus_shelter",
"bus_stop_sign",
"trash_bin",
"recycling_bin",
"post_box",
"parcel_locker",
"bicycle_rack",
"bicycle",
"bench",
"street_lamp",
"notice_board",
"drinking_fountain",
"car_compact",
"delivery_van",
"vending_machine",
"cafe_table",
"cafe_chair",
"patio_umbrella",
"shop_crate",
"ev_charger"
],
"source_model_access": "paid_pack_only"
},
"delivery": {
"filename": "Sunward_Modern_Town_Complete_v02.zip",
"bytes": 685144857,
"format": "ZIP",
"download_ready": true,
"access_note": "Sign in, purchase this pack, and use the download button on its original page. This response does not grant access."
},
"validation": {
"details_url": "https://3dmodelhub.io/de/products/sunward-modern-town/",
"checks": [
"Blender 4.3.2: 175 Bibliotheks-GLB und 54 Stadt-GLB erneut importiert und geprüft.",
"Godot 4.6.3 ohne Oberfläche: 175 Ressourcen, 282 Kollisionsformen und 846 äußere Stichproben bestanden. Ohne verlustbehaftete Kompression bleiben 395.326 Basisdreiecke ohne degenerierte Flächen erhalten.",
"Stadt in Godot 4.6.3: 54 GLB und 30 Bilder; 17 Standarddateien und 17 Kollisionen gemeinsam. 410 Komponenten, 1.230 äußere und 560 Stichproben im Charaktermaßstab sowie 8 konkrete Wege bestanden."
],
"limitations": [
"Nur Gebäudeaußenansichten. Keine Innenräume, Figuren, Missionen, Fahr- oder Ladeninteraktionen.",
"Kein automatischer LOD-Wechsel, Streaming, flächendeckende Navigation oder vollständige Charaktersteuerung.",
"Kollisionen decken Gebäudehüllen und Bodenstützen ab, nicht alle Straßenobjekte, Baumstämme oder kleinen Hindernisse. Acht Wege garantieren keine vollständige Begehbarkeit.",
"Godot wendet KHR_materials_ior nicht an. Glas kann je nach Engine anders aussehen.",
"Keine GPU-FPS-Prüfung, Unity/Unreal-Validierung oder Mobilzertifizierung.",
"Gebäudekombinationen wiederholen sich. LOD0 umfasst nur 26 repräsentative Gebäude; die übrigen 102 haben nicht denselben Detailgrad. Die Standardszene hat 5.358.342 Dreiecke und muss optimiert werden. Technische Prüfungen sind keine kommerzielle Sichtfreigabe. Geprüfte runtime/Collision-GLB verwenden."
]
},
"detail_url": "https://3dmodelhub.io/de/products/sunward-modern-town/",
"preview_url": "https://3dmodelhub.io/preview/sunward-modern-town/?lang=de",
"license_url": "https://3dmodelhub.io/de/license/"
},
{
"id": "creek-village",
"name": "Bachdorf V5",
"summary": "Ein kleines Dorf zwischen Grashängen, Bach und Wassermühle. Enthält die bearbeitbare V5-Blender-Szene mit korrigierten Grasschatten.",
"version": "v05",
"access": "paid_one_time",
"login_required": true,
"ownership": "not_queried",
"availability": "on_sale",
"price": {
"amount_minor": 599,
"currency": "usd",
"phase": "fixed",
"policy": "fixed",
"intro_amount_minor": 599,
"standard_amount_minor": 599,
"launch_at": "2026-10-22T01:05:44.321Z",
"intro_ends_at": null,
"checkout_enabled": true,
"mode": "live"
},
"contents": {
"source_catalog": "blender-scene",
"model_count": null,
"instance_count": null,
"counts_note": "Instances, LOD files and collision proxies are not additional independent models.",
"source_model_ids": [],
"source_model_access": "paid_pack_only"
},
"delivery": {
"filename": "Creek_Village_V5_Complete_v05.zip",
"bytes": 28490117,
"format": "ZIP",
"download_ready": true,
"access_note": "Sign in, purchase this pack, and use the download button on its original page. This response does not grant access."
},
"validation": {
"details_url": "https://3dmodelhub.io/de/kits/creek-village/",
"checks": [
"Die Schattenkorrektur wurde bei lokaler Blender-Materialvorschau geprüft. Der dokumentierte Vergleich bestätigt unveränderte Geometrie, Transformationen, Materialknoten und Animation."
],
"limitations": [
"Ein fertig gestaltetes Umfeld. Szenenobjekte und Grasinstanzen sind keine Zahl eigenständiger Modelle.",
"Der Browser zeigt eine statische GLB-Anpassung. Prozedurale Materialien, Licht und Originalanimation können abweichen.",
"Godot-, Unity- und Unreal-Import sowie Kollision, Navigation und Zielgeräte-FPS wurden nicht geprüft.",
"Die Wiedergabeprüfung bestätigt weder das endgültige Cycles-Animationsrendering noch fehlerfreie Einzelframes."
]
},
"detail_url": "https://3dmodelhub.io/de/kits/creek-village/",
"preview_url": "https://3dmodelhub.io/preview/creek-village/?lang=de",
"license_url": "https://3dmodelhub.io/de/license/"
}
],
"meta": {
"api_version": "1.0.0",
"request_id": "9f2d892f-5f43-4c9b-9967-a3548a7586c9"
}
}GET/api/v1/kits/{id}
Paketdetails
Read one pack’s public contents, validation and delivery metadata. A filename and size grant no paid-file access.
jaderealms_get_scene_kit_details
| Parameter | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|
idpath · string | Erforderlich | — | ^[A-Za-z0-9_-]+$ · 1–100 | Exakte ID aus der Liste. |
localequery · string | Optional | "en" | en · zh · ja · ko · es · de · fr | Antwortsprache. |
curl --fail 'https://3dmodelhub.io/api/v1/kits/creek-village?locale=de'const response = await fetch("https://3dmodelhub.io/api/v1/kits/creek-village?locale=de", {
credentials: 'omit',
headers: { Accept: 'application/json' }
});
const body = await response.json();
if (!response.ok) throw new Error(body.error?.code || response.status);
console.log(body.data);import json
from urllib.request import urlopen
with urlopen("https://3dmodelhub.io/api/v1/kits/creek-village?locale=de") as response:
body = json.load(response)
print(body['data'])Antwortbeispiel · HTTP 200
Beispiele stammen aus dem aktuellen Katalog. Mengen, Preise und Anfrage-IDs können sich ändern.
{
"locale": "de",
"data": {
"id": "creek-village",
"name": "Bachdorf V5",
"summary": "Ein kleines Dorf zwischen Grashängen, Bach und Wassermühle. Enthält die bearbeitbare V5-Blender-Szene mit korrigierten Grasschatten.",
"version": "v05",
"access": "paid_one_time",
"login_required": true,
"ownership": "not_queried",
"availability": "on_sale",
"price": {
"amount_minor": 599,
"currency": "usd",
"phase": "fixed",
"policy": "fixed",
"intro_amount_minor": 599,
"standard_amount_minor": 599,
"launch_at": "2026-10-22T01:05:44.321Z",
"intro_ends_at": null,
"checkout_enabled": true,
"mode": "live"
},
"contents": {
"source_catalog": "blender-scene",
"model_count": null,
"instance_count": null,
"counts_note": "Instances, LOD files and collision proxies are not additional independent models.",
"source_model_ids": [],
"source_model_access": "paid_pack_only"
},
"delivery": {
"filename": "Creek_Village_V5_Complete_v05.zip",
"bytes": 28490117,
"format": "ZIP",
"download_ready": true,
"access_note": "Sign in, purchase this pack, and use the download button on its original page. This response does not grant access."
},
"validation": {
"details_url": "https://3dmodelhub.io/de/kits/creek-village/",
"checks": [
"Die Schattenkorrektur wurde bei lokaler Blender-Materialvorschau geprüft. Der dokumentierte Vergleich bestätigt unveränderte Geometrie, Transformationen, Materialknoten und Animation."
],
"limitations": [
"Ein fertig gestaltetes Umfeld. Szenenobjekte und Grasinstanzen sind keine Zahl eigenständiger Modelle.",
"Der Browser zeigt eine statische GLB-Anpassung. Prozedurale Materialien, Licht und Originalanimation können abweichen.",
"Godot-, Unity- und Unreal-Import sowie Kollision, Navigation und Zielgeräte-FPS wurden nicht geprüft.",
"Die Wiedergabeprüfung bestätigt weder das endgültige Cycles-Animationsrendering noch fehlerfreie Einzelframes."
]
},
"detail_url": "https://3dmodelhub.io/de/kits/creek-village/",
"preview_url": "https://3dmodelhub.io/preview/creek-village/?lang=de",
"license_url": "https://3dmodelhub.io/de/license/"
},
"meta": {
"api_version": "1.0.0",
"request_id": "7d33be5f-2f81-4065-b13e-2f6dd3c9aab3"
}
}GET/api/v1/guidance
Nutzung und Lizenz
topic is required: license, downloads, engines or purchases. The linked license page contains the applicable terms.
jaderealms_get_usage_guidance
| Parameter | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|
topicquery · string | Erforderlich | — | license · downloads · engines · purchases | Öffentliches Hilfethema. |
localequery · string | Optional | "en" | en · zh · ja · ko · es · de · fr | Antwortsprache. |
curl --fail 'https://3dmodelhub.io/api/v1/guidance?topic=license&locale=de'const response = await fetch("https://3dmodelhub.io/api/v1/guidance?topic=license&locale=de", {
credentials: 'omit',
headers: { Accept: 'application/json' }
});
const body = await response.json();
if (!response.ok) throw new Error(body.error?.code || response.status);
console.log(body.data);import json
from urllib.request import urlopen
with urlopen("https://3dmodelhub.io/api/v1/guidance?topic=license&locale=de") as response:
body = json.load(response)
print(body['data'])Antwortbeispiel · HTTP 200
Beispiele stammen aus dem aktuellen Katalog. Mengen, Preise und Anfrage-IDs können sich ändern.
{
"locale": "de",
"data": {
"topic": "license",
"links": {
"home": "https://3dmodelhub.io/de/",
"models": "https://3dmodelhub.io/de/models/",
"kits": "https://3dmodelhub.io/de/kits/",
"guide": "https://3dmodelhub.io/de/guide/",
"license": "https://3dmodelhub.io/de/license/"
},
"confirmed": true,
"commercial_games_and_animation": true,
"raw_asset_resale": false,
"repackaged_asset_distribution": false,
"paid_pack_terms_url": "https://3dmodelhub.io/de/license/",
"cc0_exceptions": {
"note": "Project redistribution restrictions do not override the disclosed CC0 foundation rights. Consult the exact source records.",
"url": "https://3dmodelhub.io/de/license/#cc0-foundations",
"model_ids": [
"ancient_east_water_buffalo",
"anime_jrpg_coastal_wind_cliff"
]
}
},
"meta": {
"api_version": "1.0.0",
"request_id": "399212a5-e776-44bc-9a1b-d098afda71d1"
}
}GET/api/v1/models/{id}/downloads
Kostenlose Downloads
Get free GLB and complete ZIP metadata and URLs. This endpoint returns JSON; follow files[].url to receive the actual bytes.
jaderealms_get_model_downloads
| Parameter | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|
idpath · string | Erforderlich | — | ^[A-Za-z0-9_-]+$ · 1–100 | Exakte ID aus der Liste. |
localequery · string | Optional | "en" | en · zh · ja · ko · es · de · fr | Antwortsprache. |
curl --fail 'https://3dmodelhub.io/api/v1/models/ancient_pine/downloads?locale=de'const response = await fetch("https://3dmodelhub.io/api/v1/models/ancient_pine/downloads?locale=de", {
credentials: 'omit',
headers: { Accept: 'application/json' }
});
const body = await response.json();
if (!response.ok) throw new Error(body.error?.code || response.status);
console.log(body.data);import json
from urllib.request import urlopen
with urlopen("https://3dmodelhub.io/api/v1/models/ancient_pine/downloads?locale=de") as response:
body = json.load(response)
print(body['data'])Antwortbeispiel · HTTP 200
Beispiele stammen aus dem aktuellen Katalog. Mengen, Preise und Anfrage-IDs können sich ändern.
{
"locale": "de",
"data": {
"id": "ancient_pine",
"version": "Ancient_Pine_Runtime_v1",
"login_required": false,
"purchase_required": false,
"recommended": "complete_model_zip",
"files": [
{
"format": "GLB",
"purpose": "Direct default model with embedded materials",
"filename": "ancient_pine_LOD1.glb",
"bytes": 19271052,
"sha256": "2301433ad1795a0bff44b55d65f6ad81e2f94c5e3f15fa0eb7dcdc38a8bb6bbb",
"url": "https://3dmodelhub.io/download/ancient_pine/model-0/"
},
{
"format": "ZIP",
"purpose": "Complete files for this model, including Blender sources and textures",
"filename": "ancient_pine_complete.zip",
"bytes": 41762903,
"sha256": "1529b0170d56bab328c6bf7688009b0359fd390b5491b2a4689b7c9c9125a631",
"url": "https://3dmodelhub.io/download/ancient_pine/package/"
}
],
"license": {
"url": "https://3dmodelhub.io/de/license/",
"commercial_games_and_animation": true,
"cc0_foundation_exception": false
}
},
"meta": {
"api_version": "1.0.0",
"request_id": "c7c179f3-e840-45c1-abd4-0c7a0e5e65b4"
}
}Antwortfelder
| JSON | Beschreibung |
|---|---|
data | The endpoint result: arrays for model/pack lists, objects for details. |
id / version | Stable entry ID and content version. Use the ID, not a translated name, in detail paths. |
name / name_en | Localized and English names. JSON names, enum values and IDs are independent of locale. |
category / category_name / styles | Category code, display label and style code array. Filter using codes, not labels. |
triangles / default_glb_bytes | Triangle count and byte size of the default GLB, as integers. Not ZIP size or scene performance. |
materials / textures | Recorded counts of materials and texture images. |
static / rigged / animation_count | Catalog static marker, rigging flag and animation count. A character name does not imply a rig or animation. |
available_formats / dimensions_m_y_up | Recorded formats and dimensions in meters with Y up; null when unknown. Check file notes for actual ZIP contents. |
locale | Response language; en by default. |
meta.api_version / meta.request_id | API version and request identifier. An ID shown in an example does not identify your own request. |
pagination.total / next_offset | Matching rows and the next offset; null means the final page. |
scope / status / checked_on / parent_id | Entry scope, verification status and date, and parent scene. verified confirms current GLB contents and classification, not engine certification. Entries, extracted modules and repeated instances are different counts. |
tested_engines / validation | Hash-matched engine import records and their scope; not a performance or other-engine certificate. |
download.files / files | GLB/ZIP format, filename, bytes, SHA256 and file URL. The array itself is not the file. |
login_required / purchase_required | Whether sign-in or purchase is required. Both are false for free models; paid packs do not expose private URLs. |
files[].purpose / recommended | Purpose of each file and recommended choice. complete_model_zip recommends the complete single-model ZIP. |
detail_url / poster_url / preview_url / license_url | Absolute detail, poster, scene preview and license page URLs. A preview page is not a model file. |
price.amount_minor / currency | Integer minor currency units: USD 799 means US$7.99. null means unknown, not free. |
price.phase / policy / checkout_enabled | Current price phase, pricing policy and checkout availability. Server-calculated prices may change; this API creates no checkout. |
access / availability | Pack access (free or paid_one_time) and availability (free_download, on_sale, unavailable). Follow the returned state. |
contents.model_count / instance_count / source_model_ids | Source model count, scene instance count and source IDs. Instances, LODs and collision proxies are not extra independent models. |
ownership / delivery | Public metadata does not query account ownership. Public delivery names and sizes grant no paid-file access. |
delivery.download_url | May appear only while the pack is publicly free. Omitted for paid packs. |
license / guidance | License summaries and public guidance. Read the linked terms and asset-specific notes for commercial use, resale restrictions and CC0 exceptions. |
null | Unknown or inapplicable; do not silently replace with 0, false or a verified claim. |
Seitennavigation
next_offset verwenden, bis es null ist. Filter beibehalten; total ist die Trefferzahl.
const base = "https://3dmodelhub.io/api/v1";
let offset = 0;
while (offset !== null) {
const query = new URLSearchParams({ limit: '20', offset: String(offset), locale: "de" });
const response = await fetch(base + '/models?' + query, { credentials: 'omit' });
const body = await response.json();
if (!response.ok) throw new Error(body.error?.code || response.status);
for (const model of body.data) console.log(model.id, model.name);
offset = body.pagination.next_offset;
}Datei herunterladen
downloads gibt JSON zurück. Über url in data.files die GLB- oder ZIP-Datei laden. Kostenlose Dateien brauchen keine Anmeldung.
curl --fail --location --output 'ancient_pine_LOD1.glb' 'https://3dmodelhub.io/download/ancient_pine/model-0/'
curl --fail --location --output 'ancient_pine_complete.zip' 'https://3dmodelhub.io/download/ancient_pine/package/'
# macOS: compare the first column with data.files[].sha256
shasum -a 256 'ancient_pine_LOD1.glb'Range: bytes=0-1023 · 206 Partial Content · ETag / If-Range
Öffentliche Metadaten und kostenlose Einzelmodelle benötigen weder Konto noch Schlüssel. Bezahlte Dateien behalten die Kaufprüfung der Website.
Fehler und Wiederholung
HTTP-Status und error.code prüfen; request_id aufbewahren. Meldungen sind Englisch. Bei 429 Retry-After abwarten.
{
"error": {
"code": "InvalidArguments",
"message": "Check the documented parameters and their allowed values."
},
"request_id": "00000000-0000-4000-8000-000000000000"
}X-Request-Id = request_id · Access-Control-Allow-Origin: * · Cache-Control: no-store
| HTTP | error.code | Beschreibung |
|---|---|---|
| 400 | InvalidArguments | Unknown/repeated argument, missing topic, or limit outside 1–20. |
| 404 | NotFound | No published entry or no public endpoint. |
| 405 | MethodNotAllowed | GET, HEAD, OPTIONS |
| 414 | InvalidArguments | URL > 4096 |
| 429 | RateLimited | Retry-After: 60 |
downloads gibt JSON zurück. Über url in data.files die GLB- oder ZIP-Datei laden. Kostenlose Dateien brauchen keine Anmeldung.
File routes may also return 416 for invalid ranges or 503 for storage/integrity failures; paid files may return 401/402. Check status before saving a response as a model.