Μετάβαση στο περιεχόμενο
Ξεκινώντας

Γρήγορη εκκίνηση

Προβολή ως Markdown Ενημερώθηκε

Εκτελέστε την πρώτη σας παραγωγή μέσα σε λίγα λεπτά. Και τα 1.496 μοντέλα δέχονται τον ίδιο τύπο αιτήματος και επιστρέφουν το ίδιο αντικείμενο αιτήματος για εικόνες, βίντεο και ήχο: μάθετέ το μία φορά εδώ.

1. Λάβετε ένα κλειδί API

Δημιουργήστε ένα κλειδί στη διεύθυνση https://doitong.com/developers/dashboard#keys και αποθηκεύστε το σε μια μεταβλητή περιβάλλοντος: εμφανίζεται μόνο μία φορά. Κάθε κλειδί μπορεί να έχει τον δικό του προϋπολογισμό, ώστε να μπορείτε να το δώσετε σε έναν πράκτορα χωρίς να διακινδυνεύσετε ολόκληρο τον λογαριασμό. Το GET /account επιστρέφει το υπόλοιπο API.

export DOITONG_API_KEY="doitong_..."

curl "https://api.doitong.com/v1/account" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Οι εκτελέσεις πληρώνονται από το υπόλοιπο API του λογαριασμού σας σε πιστώσεις API: 1.000 πιστώσεις API = 1 $, και κάθε μοντέλο κοστίζει ακριβώς την τιμή του δημιουργού του. Κάντε φόρτιση στη διεύθυνση https://doitong.com/developers/dashboard#balance.

2. Λάβετε προσφορά και, στη συνέχεια, εκτελέστε

Το POST /quote/{model_id} λαμβάνει το JSON εισόδου και επιστρέφει την ακριβή τιμή. Δεν χρειάζεται κλειδί και δεν κοστίζει τίποτα. Η εκτέλεση της ίδιας εισόδου κοστίζει ακριβώς αυτό: η προσφορά είναι η χρέωση. (Εξαίρεση αποτελεί ένα μοντέλο που χρεώνεται βάσει χρήσης: η προσφορά του είναι το μέγιστο κόστος της εκτέλεσης και το αχρησιμοποίητο μέρος επιστρέφεται μετά την εκτέλεση.)

curl -X POST "https://api.doitong.com/v1/quote/kling-video/v3/pro/image-to-video" \
  -H "Content-Type: application/json" \
  -d '{"image": "https://example.com/fox.jpg", "duration": 5, "generate_audio": true}'
200 OK · προσφορά
{
  "object": "quote",
  "model": "kling-video/v3/pro/image-to-video",
  "credits": 840,
  "usd": "0.84",
  "unit": "second",
  "quantity": 5,
  "unit_credits": 168,
  "mode": "exact",
  "breakdown": "5 s × 168 API credits"
}

Στη συνέχεια, στείλτε το ίδιο σώμα στο POST /run/{model_id}. Προσθέστε ?wait=20 για να διατηρήσετε τη σύνδεση έως και 20 δευτερόλεπτα: ένα γρήγορο μοντέλο επιστρέφει το ολοκληρωμένο αποτέλεσμα σε μία μετάβαση. Στείλτε μια κεφαλίδα Idempotency-Key, ώστε μια επανάληψη να μην εκτελέσει (ή χρεώσει) ποτέ δύο φορές.

curl -X POST "https://api.doitong.com/v1/run/flux/schnell?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: lighthouse-001" \
  -d '{"prompt": "A lighthouse on a rocky coast at dusk, warm light in the window"}'

Η απόκριση είναι ένα αντικείμενο αιτήματος:

200 OK · αίτημα
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "flux/schnell",
  "status": "succeeded",
  "cost": { "credits": 3, "usd": "0.003", "charged": 3, "refunded": 0 },
  "outputs": [
    { "type": "image", "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg", "width": 1024, "height": 768, "stored": true }
  ],
  "error": null
}

3. Παρακολουθήστε την κατάσταση

Αν το μοντέλο εξακολουθεί να λειτουργεί όταν λήξει η αναμονή, λαμβάνετε 202 Accepted με το id του αιτήματος και την τρέχουσα status του. Κάθε αίτημα περνά από τον ίδιο κύκλο ζωής:

Κύκλος ζωής αιτήματος
  1. queued Έγινε αποδεκτό και χρεώθηκε, σε αναμονή εργαζομένου
  2. running Το μοντέλο δημιουργεί
  3. Τελικές καταστάσεις:
    • succeededΧρεώθηκε η προσφορά· τα outputs[] περιέχουν URL στον χώρο αποθήκευσής μας
    • failedΑυτόματη επιστροφή χρημάτων· το σφάλμα εξηγεί την αιτία
    • canceledΔιακόπηκε πριν από αποτέλεσμα· έγινε επιστροφή χρημάτων

Διαβάστε ξανά το αίτημα με το id του. Το ?wait=20 λειτουργεί και εδώ, οπότε αρκεί ένας απλός βρόχος:

curl "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Όταν η status είναι succeeded, το outputs[].url περιέχει συνδέσμους προς τα αρχεία στην αποθήκευσή μας. Αν το αίτημα failed ή canceled, οι πιστώσεις API του επιστρέφονται αυτόματα και το error αναφέρει τον λόγο. Ακυρώστε οτιδήποτε βρίσκεται ακόμη σε κατάσταση queued ή running:

τερματικό
curl -X POST "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Για εργασίες παραγωγής βίντεο μεγάλης διάρκειας, μπορείτε να παραλείψετε την περιοδική αναζήτηση και να περάσετε ένα webhook_url (βλ. Webhook).

4. Αρχεία

Περάστε οποιοδήποτε δημόσιο URL ως είσοδο ή ζητήστε από το POST /files ένα URL μεταφόρτωσης, κάντε PUT του αρχείου εκεί και χρησιμοποιήστε το επιστρεφόμενο file_url (βλ. Αρχεία). Ένα επιτυχές αίτημα παραθέτει τα αποτελέσματά του στο outputs[] με τύπο, τύπο περιεχομένου και, όταν είναι γνωστά, διαστάσεις και διάρκεια.

τερματικό
curl -X POST "https://api.doitong.com/v1/files" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename": "fox.jpg", "content_type": "image/jpeg", "size": 482113}'

Σφάλματα

Κάθε μοντέλο αποτυγχάνει με τον ίδιο τρόπο: ένα περίβλημα με type, έναν ακριβή code, την προβληματική param και κάθε πρόβλημα στο details, ώστε ένας πράκτορας να μπορεί να διορθώσει το αίτημα χωρίς να διαβάσει κείμενο. Για ένα μη έγκυρο αίτημα δεν χρεώνεται τίποτα.

422 Unprocessable Entity
{
  "error": {
    "type": "invalid_request",
    "code": "invalid_input",
    "message": "duration must be one of 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.",
    "param": "duration",
    "details": [ { "param": "duration", "message": "duration must be one of 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15." } ],
    "request_id": null,
    "doc_url": "https://doitong.com/developers/docs/errors#invalid_input"
  }
}

Κάθε τύπος και κωδικός παρατίθεται στα Σφάλματα.

Τιμολόγηση

Οι τιμές είναι σε USD και πιστώσεις API και εμφανίζονται στη σελίδα κάθε μοντέλου πριν από την εκτέλεση. Κάθε αίτημα περιέχει cost με credits, usd, charged και refunded. Μια εκτέλεση χρεώνεται όταν γίνει αποδεκτή· τα αιτήματα failed και canceled επιστρέφονται αυτόματα. Ορισμένα μοντέλα τιμολογούνται ακριβώς από την είσοδο, ορισμένα από τη διάρκεια ή το μέγεθος των αρχείων που στέλνετε, ενώ άλλα χρεώνουν εκτιμώμενη τιμή ανά εκτέλεση: σε κάθε περίπτωση, η προσφορά είναι αυτό που πληρώνετε. Μερικά μοντέλα (μοντέλα γλώσσας και όρασης, φωνή, εργαλεία χρόνου επεξεργασίας) χρεώνονται βάσει χρήσης: η προσφορά είναι το μέγιστο κόστος της εκτέλεσης και το μέρος που δεν χρησιμοποίησε η εκτέλεση επιστρέφεται αυτόματα. Βλ. Τιμολόγηση.

MCP και πράκτορες AI

Συνδέστε οποιονδήποτε πελάτη MCP στο https://api.doitong.com/v1/mcp με το ίδιο κλειδί Bearer. Ο πράκτοράς σας μπορεί να αναζητά στον κατάλογο, να λαμβάνει προσφορές και να εκτελεί μοντέλα, καθώς και να διαβάζει κάθε σελίδα τεκμηρίωσης ως Markdown.

Claude Code
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Επόμενα βήματα

  • Περιηγηθείτε σε όλα τα μοντέλα. Κάθε σελίδα διαθέτει ένα εργαλείο δημιουργίας αιτημάτων που γράφει τον κώδικα για εσάς.
  • Μάθετε τον κύκλο ζωής του αιτήματος: Αιτήματα.
  • Χρησιμοποιήστε τα ίδια ονόματα παραμέτρων σε κάθε μοντέλο: Παράμετροι.
  • Εργάζεστε με έναν πράκτορα προγραμματισμού AI; Δώστε του το https://doitong.com/developers/llms.txt ή συνδέστε τον διακομιστή MCP.