Hunyuan3D 3.0 API Documentation

Hunyuan3D 3.0 API check status - Request Code

POST https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result Ocp-Apim-Subscription-Key: your-subscription-key-here Content-Type: application/json { "task_id": "XXXXXXXXXXXXX" }
import requests url = "https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result" headers = { "Ocp-Apim-Subscription-Key": "your-subscription-key-here", "Content-Type": "application/json" } data = { "task_id": "XXXXXXXXXXXXX" } response = requests.post(url, json=data, headers=headers) print(response.json())
const url = "https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result"; const headers = { "Ocp-Apim-Subscription-Key": "your-subscription-key-here", "Content-Type": "application/json" }; const data = { task_id: "XXXXXXXXXXXXX" }; fetch(url, { method: "POST", headers: headers, body: JSON.stringify(data) }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error("Error:", error));
curl -X POST "https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result" \ -H "Ocp-Apim-Subscription-Key: your-subscription-key-here" \ -H "Content-Type: application/json" \ -d '{ "task_id": "XXXXXXXXXXXXX" }'
import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.time.Duration; public class ApiClient { public static void main(String[] args) throws Exception { String url = "https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result"; String apiKey = "your-subscription-key-here"; String json = """ { "task_id": "XXXXXXXXXXXXX" } """; HttpClient client = HttpClient.newBuilder() .connectTimeout(Duration.ofSeconds(10)) .build(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) .header("Ocp-Apim-Subscription-Key", apiKey) .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(json)) .build(); HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } }
<?php $url = 'https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result'; $apiKey = 'your-subscription-key-here'; $data = json_encode([ 'task_id' => 'XXXXXXXXXXXXX' ]); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Ocp-Apim-Subscription-Key: ' . $apiKey, 'Content-Type: application/json' ]); $response = curl_exec($ch); curl_close($ch); echo $response; ?>

Output

Successful API response:

{ "status": "completed", "result_url": "https://...", "task_id": "XXXXXXXXXXXXX" }

Request Body - Hunyuan3D 3.0 API check status

Parameters for /hunyuan3d-3-0-api-request-result:

ParameterRequiredTypeDescription
task_idYesstringUnique identifier of the generation task to check status for.

Example Request - Hunyuan3D 3.0 API check status

JSON
{ "task_id": "XXXXXXXXXXXXX" }

Response - Hunyuan3D 3.0 API check status

JSON
{ "status": "completed", "result_url": "https://gateway-falai-automate.appypie.workers.dev/results/XXXXXXXXXXXXX.zip", "task_id": "XXXXXXXXXXXXX", "created_at": "2024-06-15T10:30:00Z", "duration_seconds": 124 }

Retrieving Results

After submitting your request, use this endpoint to check status and retrieve generated 3D assets.

Endpoint

POST https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result

Request Body

{ "task_id": "XXXXXXXXXXXXX" }

Example Response

{ "status": "completed", "result_url": "https://gateway-falai-automate.appypie.workers.dev/results/XXXXXXXXXXXXX.zip", "task_id": "XXXXXXXXXXXXX", "created_at": "2024-06-15T10:30:00Z", "duration_seconds": 124 }

Code Examples

POST https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result Ocp-Apim-Subscription-Key: your-subscription-key-here Content-Type: application/json { "task_id": "XXXXXXXXXXXXX" }
import requests url = "https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result" headers = { "Ocp-Apim-Subscription-Key": "your-subscription-key-here", "Content-Type": "application/json" } data = { "task_id": "XXXXXXXXXXXXX" } response = requests.post(url, json=data, headers=headers) result = response.json() if result["status"] == "completed": print(f"Download 3D model from: {result['result_url']}") else: print(f"Status: {result['status']}")
const url = "https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result"; const headers = { "Ocp-Apim-Subscription-Key": "your-subscription-key-here", "Content-Type": "application/json" }; const data = { task_id: "XXXXXXXXXXXXX" }; fetch(url, { method: "POST", headers: headers, body: JSON.stringify(data) }) .then(response => response.json()) .then(result => { if (result.status === "completed") { console.log("Download 3D model from:", result.result_url); } else { console.log("Status:", result.status); } }) .catch(error => console.error("Error:", error));
curl -X POST "https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result" \ -H "Ocp-Apim-Subscription-Key: your-subscription-key-here" \ -H "Content-Type: application/json" \ -d '{ "task_id": "XXXXXXXXXXXXX" }'
import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.time.Duration; public class PollingClient { public static void main(String[] args) throws Exception { String url = "https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result"; String apiKey = "your-subscription-key-here"; String json = """ { "task_id": "XXXXXXXXXXXXX" } """; HttpClient client = HttpClient.newBuilder() .connectTimeout(Duration.ofSeconds(10)) .build(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) .header("Ocp-Apim-Subscription-Key", apiKey) .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(json)) .build(); HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); String responseBody = response.body(); // Parse and check status if (responseBody.contains("\"status\":\"completed\"")) { System.out.println("Download 3D model from: https://..."); } else { System.out.println("Status: pending"); } } }
<?php $url = 'https://gateway-falai-automate.appypie.workers.dev/hunyuan3d-3-0-api-request-result'; $apiKey = 'your-subscription-key-here'; $data = json_encode([ 'task_id' => 'XXXXXXXXXXXXX' ]); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Ocp-Apim-Subscription-Key: ' . $apiKey, 'Content-Type: application/json' ]); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response, true); if ($result['status'] === 'completed') { echo "Download 3D model from: " . $result['result_url']; } else { echo "Status: " . $result['status']; } ?>

Request Headers

HeaderDescription
Ocp-Apim-Subscription-KeyRequired subscription key for API access.
Content-TypeMust be set to application/json for all requests.

Response Handling

The Hunyuan3D 3.0 API returns specific HTTP status codes and response bodies to indicate the success or failure of a request. Developers should implement error handling in their applications to manage these responses effectively.

Common Status Codes and Responses

Status CodeDescriptionResponse Body
200Success - The request was successfully processed.{ "success": true, ... }
Bad Request - The request contains invalid parameters or missing fields.{ "error": "Invalid request parameters" }
401Unauthorized - The provided subscription key is missing or invalid.{ "error": "Invalid or missing authentication" }
403Forbidden - The subscription does not have access to this API or action.{ "error": "Access denied for this operation" }
404Not Found - The requested resource or endpoint could not be found.{ "error": "Endpoint not found" }
Too Many Requests - The request rate limit has been exceeded.{ "error": "Rate limit exceeded, please retry later" }
500Internal Server Error - An unexpected error occurred on the server.{ "error": "An unexpected error occurred, please try again later" }

Example Error Response

{ "error": "Invalid parameters" }