# AI 3D Print Expert — Photo Diagnosis & Troubleshooting (`nicocomt/conseiller-3d`) Actor

📸  Photo d'une impression ratée ? L'IA identifie le défaut et donne les réglages à corriger. 🤖  Expert FDM & résine,  💬 questions par lot, 🎯  valeurs chiffrées .  🇬🇧 Send a photo of a failed print: the AI names the defect and gives the fix. FDM & resin expert, batch mode.

- **URL**: https://apify.com/nicocomt/conseiller-3d.md
- **Developed by:** [Nicolas](https://apify.com/nicocomt) (community)
- **Categories:** AI, Agents, Developer tools
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🤖 AI 3D Print Expert — Diagnostic photo et dépannage

Un assistant expert en impression 3D, propulsé par l'IA. **Envoyez la photo d'une impression ratée et découvrez ce qui cloche**, ou posez simplement vos questions (FDM ou résine) pour obtenir des réponses claires avec des réglages concrets.

### 📸 Diagnostic par photo

Votre impression est ratée mais vous ne savez pas pourquoi ? **Téléversez une photo** — l'IA l'examine et vous répond :

- **Quel défaut** est visible (fils entre les parties, coin décollé, sous-extrusion, couches décalées, sur-exposition en résine…)
- **Pourquoi** il se produit
- **Quels réglages corriger**, avec des valeurs chiffrées

Vous pouvez aussi décrire ce que vous observez ou ce que vous soupçonnez. L'IA en tient compte — mais **vérifie sur la photo** : si votre hypothèse ne colle pas à ce qu'elle voit, elle vous le dit et nomme le vrai défaut.

### 🔍 Ce que fait cet Actor

- **Diagnostique une photo** d'impression : défaut, cause, réglages à corriger.
- Répond à **une ou plusieurs questions** en une seule exécution (une réponse par question).
- Adapte ses réponses à la **langue**, au **niveau** (débutant à avancé) et à la **technologie** choisis (FDM, résine ou les deux).
- Structure chaque réponse : réponse directe, puis réglages concrets (température, vitesse, rétraction, exposition…), et une note de sécurité si nécessaire.

### 💬 Exemples de questions

- « Quel filament pour une pièce qui reste dehors ? »
- « Pourquoi mes premières couches n'accrochent pas ? »
- « PLA ou PETG pour un support de téléphone ? »
- « Quels réglages de température pour du TPU ? »

### 🛠️ Domaines couverts

Choix et comparaison de matériaux (PLA, PETG, ABS, ASA, TPU, résines…), réglages d'imprimante, dépannage (warping, stringing, sous-extrusion…), finitions et post-traitement, conseils selon l'usage.

### ⚙️ Paramètres

| Paramètre | Rôle |
|---|---|
| Questions | Une ou plusieurs questions, une par ligne (20 maximum). Facultatif si vous envoyez une photo. |
| **Photo de l'impression** | Téléversez une image (moins de 3,5 Mo) ou collez son adresse web. |
| **Ce que vous observez** | Décrivez la situation ou ce que vous soupçonnez, pour un diagnostic plus ciblé. |
| Langue | Français, anglais, ou automatique (langue de la question). |
| Niveau | Débutant, intermédiaire ou avancé. |
| Technologie | FDM, résine, ou les deux. |

### 🗂️ Les versions

> 🟢 **0.0.17 — la plus récente**
>
> - 🛡️ **Vous ne payez que ce qui a fonctionné** : une réponse en échec n'est plus facturée ni comptée dans les résultats. Si rien ne peut être produit, l'exécution s'arrête franchement en erreur, avec la cause affichée — fini les exécutions « réussies » mais vides.
> - ⚡ **Arrêt intelligent** : en cas de panne générale, les questions restantes ne sont plus tentées inutilement.
> - ⏱️ **Délai maximum** par question, pour ne jamais rester bloqué.
> - 📋 **Jusqu'à 20 questions** par exécution (les suivantes sont signalées, à relancer).

> 🔵 **0.0.10**
>
> - 📸 **Diagnostic par photo** : téléversez une image de votre impression, l'IA nomme le défaut, explique la cause et donne les réglages à corriger.
> - 📝 **Champ « ce que vous observez »** : décrivez la situation ou votre hypothèse. L'IA la vérifie sur la photo et vous corrige si elle ne correspond pas.

> 🔵 **0.0.4**
>
> - 🗂️ **Traitement par lot** : plusieurs questions d'un coup, une réponse par question.
> - 🌍 **Options** : langue, niveau et technologie (FDM / résine).
> - 🎯 **Réponses plus concrètes** : structure claire et réglages chiffrés.
> - 🛡️ **Robustesse** : une question qui échoue ne bloque pas les autres.

> ⚪ **0.0.1**
>
> - 💬 Première version : une question, une réponse d'expert en impression 3D.

***

## 🤖 AI 3D Print Expert — Photo Diagnosis & Troubleshooting

An AI-powered 3D printing expert. **Send a photo of a failed print and find out what went wrong**, or simply ask your questions (FDM or resin) for clear answers with concrete settings.

### 📸 Photo diagnosis

Your print failed and you don't know why? **Upload a photo** — the AI inspects it and tells you:

- **Which defect** is visible (stringing, lifted corner, under-extrusion, layer shifting, resin over-exposure…)
- **Why** it happens
- **Which settings to change**, with actual numbers

You can also describe what you observe or suspect. The AI takes it into account — but **checks the photo**: if your guess doesn't match what it sees, it says so and names the real defect.

### 🔍 What it does

- **Diagnoses a photo** of a print: defect, cause, settings to fix.
- Answers **one or more** questions in a single run (one answer per question).
- Adapts to the chosen **language**, **level** (beginner to advanced) and **technology** (FDM, resin, or both).
- Structures each answer: direct reply, then concrete settings (temperature, speed, retraction, exposure…), and a safety note when relevant.

### 💬 Example questions

- "Which filament for a part that stays outdoors?"
- "Why won't my first layers stick?"
- "PLA or PETG for a phone stand?"
- "What temperature settings for TPU?"

### 🛠️ Topics covered

Material choice and comparison (PLA, PETG, ABS, ASA, TPU, resins…), printer settings, troubleshooting (warping, stringing, under-extrusion…), finishing and post-processing, use-case advice.

### ⚙️ Parameters

| Parameter | Purpose |
|---|---|
| Questions | One or more questions, one per line (20 max). Optional if you send a photo. |
| **Print photo** | Upload an image (under 3.5 MB) or paste its web address. |
| **What you observe** | Describe the situation or what you suspect, for a more focused diagnosis. |
| Language | French, English, or automatic (question's language). |
| Level | Beginner, intermediate or advanced. |
| Technology | FDM, resin, or both. |

### 🗂️ Versions

> 🟢 **0.0.17 — latest**
>
> - 🛡️ **You only pay for what worked**: failed answers are no longer billed or added to the results. If nothing can be produced, the run clearly fails with the reason shown — no more "successful" but empty runs.
> - ⚡ **Smart stop**: on a general outage, remaining questions are no longer attempted in vain.
> - ⏱️ **Time limit** per question, so a run never hangs.
> - 📋 **Up to 20 questions** per run (extras are reported, just run again).

> 🔵 **0.0.10**
>
> - 📸 **Photo diagnosis**: upload an image of your print — the AI names the defect, explains the cause and gives the settings to fix it.
> - 📝 **"What you observe" field**: describe the situation or your hypothesis. The AI checks it against the photo and corrects you if it doesn't match.

> 🔵 **0.0.4**
>
> - 🗂️ **Batch mode**: several questions at once, one answer each.
> - 🌍 **Options**: language, level and technology (FDM / resin).
> - 🎯 **More concrete answers**: clear structure and numeric settings.
> - 🛡️ **Robustness**: one failing question does not block the others.

> ⚪ **0.0.1**
>
> - 💬 First release: one question, one expert 3D printing answer.

***

*Réponses générées par IA — vérifiez les réglages critiques. / AI-generated answers — double-check critical settings.*

# Actor input Schema

## `questions` (type: `string`):

Une ou plusieurs questions sur l'impression 3D, une par ligne. Maximum 20 questions par exécution. / One or more 3D printing questions, one per line. Up to 20 questions per run.

## `image` (type: `string`):

Téléversez une photo de votre impression, ou collez son adresse web. L'IA l'examine, nomme le défaut et donne les réglages à corriger. Sans question, un diagnostic complet est réalisé. Photo de moins de 3,5 Mo. / Upload a photo of your print, or paste its web address. The AI inspects it, names the defect and gives the settings to fix. With no question, a full diagnosis is returned. Keep it under 3.5 MB.

## `imageContexte` (type: `string`):

Décrivez en une ou deux phrases ce que montre la photo, dans quelles conditions l'impression a été faite, ou ce que vous soupçonnez. L'IA s'en sert pour cibler sa réponse — et vous corrige si votre hypothèse ne correspond pas à la photo. / Briefly describe what the photo shows, the print conditions, or what you suspect. The AI uses it to focus its answer — and corrects you if your guess doesn't match the photo.

## `langue` (type: `string`):

Langue des réponses. / Language of the answers.

## `niveau` (type: `string`):

Adapte le ton et la profondeur des réponses. / Adjusts tone and depth.

## `technologie` (type: `string`):

Cible la techno concernée. / Target technology.

## Actor input object example

```json
{
  "questions": "Quel filament choisir pour une pièce qui reste dehors ?\nMa première couche n'accroche pas, que faire ?",
  "imageContexte": "PLA à 210 °C, plateau à 60 °C. Je pense que c'est un problème d'adhérence.",
  "langue": "auto",
  "niveau": "intermediaire",
  "technologie": "both"
}
```

# Actor output Schema

## `answers` (type: `string`):

Une réponse par ligne : question, réponse détaillée et options choisies. / One answer per row: question, detailed answer and chosen options.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "questions": `Quel filament choisir pour une pièce qui reste dehors ?
Ma première couche n'accroche pas, que faire ?`,
    "imageContexte": "PLA à 210 °C, plateau à 60 °C. Je pense que c'est un problème d'adhérence."
};

// Run the Actor and wait for it to finish
const run = await client.actor("nicocomt/conseiller-3d").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "questions": """Quel filament choisir pour une pièce qui reste dehors ?
Ma première couche n'accroche pas, que faire ?""",
    "imageContexte": "PLA à 210 °C, plateau à 60 °C. Je pense que c'est un problème d'adhérence.",
}

# Run the Actor and wait for it to finish
run = client.actor("nicocomt/conseiller-3d").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "questions": "Quel filament choisir pour une pièce qui reste dehors ?\\nMa première couche n'\''accroche pas, que faire ?",
  "imageContexte": "PLA à 210 °C, plateau à 60 °C. Je pense que c'\''est un problème d'\''adhérence."
}' |
apify call nicocomt/conseiller-3d --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,nicocomt/conseiller-3d"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/iD147fxShzA0p2qad/builds/eamIhfvaM2eMDSUbi/openapi.json
