Τεκμηρίωση API

Το API του YourImageShare σάς επιτρέπει να ανεβάζετε, να βλέπετε και να διαγράφετε αρχεία μέσω κώδικα. Είναι ένα μικρό API JSON/REST - δεν χρειάζεται SDK, μόνο ένας HTTP client και ένα κλειδί API - ενώ διατίθενται και επίσημες βιβλιοθήκες JavaScript, Python και MCP.

Όλες οι βιβλιοθήκες και τα εργαλεία παρακάτω είναι ανοιχτού κώδικα. Δείτε τον κώδικα, αναφέρετε προβλήματα ή συνεισφέρετε στο επίσημο αποθετήριό μας στο GitHub: github.com/yourimageshare/yourimageshare.

Βασική διεύθυνση URL: https://yourimageshare.com/api · Μορφή: JSON σε αιτήματα και απαντήσεις, εκτός από τα ανεβάσματα που είναι multipart/form-data · Ταυτοποίηση: κλειδί API σε κάθε αίτημα. · Προδιαγραφή για μηχανές: /openapi.json (OpenAPI 3.1), για πράκτορες και εργαλεία παραγωγής κώδικα που προτιμούν να μην αναλύουν αυτή τη σελίδα.

Απόκτηση κλειδιού API

Συνδεθείτε, μεταβείτε στον Λογαριασμό μου και ανοίξτε την καρτέλα API. Εκεί εμφανίζεται το κλειδί σας, μαζί με ένα κουμπί Αναδημιουργία. Η αναδημιουργία ακυρώνει αμέσως το παλιό κλειδί, οπότε ενημερώστε κάθε σημείο όπου χρησιμοποιείται πριν το πατήσετε.

Στην ίδια καρτέλα υπάρχει και ένα δεύτερο, ανεξάρτητο κλειδί μόνο για ανέβασμα - δείτε το σχετικό tip παρακάτω και τα Πρόσθετα για φόρουμ για το πότε να το χρησιμοποιείτε.

Ταυτοποίηση

Στείλτε το κλειδί σας ως header - προτιμότερο, καθώς τα query strings καταλήγουν συχνά στα αρχεία καταγραφής πρόσβασης, στα logs των proxy και στα headers Referer:

X-API-Key: YOUR_API_KEY

Λειτουργεί και η παράμετρος ?key=, που διατηρείται για συμβατότητα με παλαιότερες ενσωματώσεις και γρήγορες εφάπαξ εντολές curl. Αν υπάρχουν και τα δύο, υπερισχύει το header.

?key=YOUR_API_KEY

Συμβουλή: Φυλάξτε το κλειδί σας όπως έναν κωδικό πρόσβασης - όποιος το έχει μπορεί να ανεβάσει, να δει, να αλλάξει και να διαγράψει στον λογαριασμό σας. Κάθε επιτυχημένο αίτημα καταγράφεται και εμφανίζεται σε γράφημα στην καρτέλα API του λογαριασμού σας, ανά ημέρα και ανά τύπο αιτήματος. Αν ένα κλειδί πρέπει να βρίσκεται κάπου όπου το βλέπουν και άλλοι - ένα πρόσθετο φόρουμ, ένα δημόσιο αρχείο ρυθμίσεων - χρησιμοποιήστε το κλειδί μόνο για ανέβασμα από την ίδια καρτέλα: μπορεί μόνο να ανεβάζει - η προβολή λίστας, η αναζήτηση, η αλλαγή και η διαγραφή ανεβασμάτων το απορρίπτουν με 401.

Endpoints

Το ανέβασμα, η λίστα και η διαγραφή έχουν κοινή ταυτοποίηση και κοινά όρια χρήσης· τα μεγάλα αρχεία μπορούν να σταλούν πρώτα σε κομμάτια.

POST /api - Ανέβασμα αρχείου

Ανεβάζει ένα αρχείο για τον ταυτοποιημένο λογαριασμό.

ΠεδίοΤύποςΑπαιτείταιΠεριγραφή
uploadsfileένα από τα τρίαΤο αρχείο προς ανέβασμα, έως 100MB (το όριο για ένα αίτημα μέσω του δικτύου μας). Ένα αρχείο ανά αίτημα - αυτό το endpoint δεν υποστηρίζει ανέβασμα πολλών αρχείων μαζί.
urlstringΈνας δημόσιος σύνδεσμος http(s) προς εικόνα ή βίντεο. Το κατεβάζουμε εμείς, οπότε λειτουργούν αρχεία έως 200MB.
upload_idstringΈνα αρχείο που έχει σταλεί νωρίτερα σε κομμάτια στο POST /api/chunk, έως 200MB.
filenamestringόχιΜαζί με το upload_id: το αρχικό όνομα του αρχείου.
expires_inintegerόχιΑυτόματη διαγραφή του ανεβάσματος μετά από τόσα δευτερόλεπτα (60 έως 31.536.000, δηλαδή από 1 λεπτό έως 1 έτος). Παραλείψτε το για κανονικό, μόνιμο ανέβασμα.
allow_duplicatebooleanόχιΑποθηκεύει νέο αντίγραφο ακόμη κι αν ο λογαριασμός σας έχει ήδη ανεβάσει ακριβώς το ίδιο αρχείο (δείτε το duplicate παρακάτω).
keep_originalbooleanόχιΚρατά την εικόνα ακριβώς όπως ανέβηκε. Χωρίς αυτό, τα αρχεία JPG/PNG άνω του 1 MB βελτιστοποιούνται σε WebP. Τα μεταδεδομένα, όπως το GPS, αφαιρούνται σε κάθε περίπτωση.
visibilitystringόχιunlisted (προεπιλογή): το αρχείο και η σελίδα του λειτουργούν για όποιον έχει τον σύνδεσμο, αλλά δεν εμφανίζεται πουθενά σε λίστες. private: μόνο το αρχείο - ο σύνδεσμος της σελίδας οδηγεί όλους εκτός από εσάς κατευθείαν στο αρχείο (χωρίς σχόλια, αντιδράσεις ή διαφημίσεις). public: εμφανίζεται στον ιστότοπο και ευρετηριάζεται.
titlestringόχιΈως 90 χαρακτήρες, εμφανίζεται στη σελίδα του ανεβάσματος.
descriptionstringόχιΈως 500 χαρακτήρες.

Αποδεκτοί τύποι: εικόνες JPG, PNG, GIF, WEBP, AVIF, BMP, TIFF, HEIC ή HEIF· βίντεο MP4, WEBM, AVI, MOV, MKV, MPEG, WMV, FLV ή 3GP (η ακριβής λίστα μπορεί να διευρυνθεί με τον καιρό). Τα HEIC/HEIF και TIFF αποθηκεύονται ως WebP, τα βίντεο εκτός από MP4/WebM μετατρέπονται σε MP4, και οι μεγαλύτερες εικόνες JPEG/PNG μετατρέπονται σε WebP λίγο μετά το ανέβασμα όταν αυτό τις κάνει αισθητά μικρότερες. Μέγιστο μέγεθος: 200MB· τα αρχεία που το υπερβαίνουν ή δεν διαβάζονται απορρίπτονται με 422.

Απάντηση - 200 OK:

{
  "type": "success",
  "msg": "success",
  "data": {
    "id": "aB3xY9qRz1",
    "type": "image",
    "path": "https://i.yourimageshare.com/aB3xY9qRz1.png",
    "src": "https://yourimageshare.com/ib/aB3xY9qRz1.png",
    "direct": "https://yourimageshare.com/ib/aB3xY9qRz1",
    "thumb": "https://i.yourimageshare.com/thumb-aB3xY9qRz1.webp",
    "width": 1920,
    "height": 1080,
    "size": 482113,
    "locked": false,
    "visibility": "unlisted",
    "title": null,
    "description": null,
    "expires_at": null,
    "duplicate": false,
    "delete_url": "https://yourimageshare.com/delete#iV3x...k9"
  }
}
ΠεδίοΠεριγραφή
idΤο μοναδικό αναγνωριστικό του αρχείου.
typeimage ή video.
pathΤο URL αποθήκευσης του αρχείου όπως ανέβηκε. Μπορεί να αλλάξει λίγο αργότερα όταν το αρχείο μετατραπεί (WebP/MP4), οπότε αποθηκεύστε το src, όχι το path.
srcΜόνιμο άμεσο URL του αρχείου - ανοίγει πάντα το τρέχον αρχείο, κατάλληλο για το src ενός <img>/<video> και για αποθήκευση.
directΗ σελίδα του αρχείου στο YourImageShare (τίτλος, περιγραφή, σχόλια, επιλογές κοινοποίησης).
thumbΜια μικρογραφία WebP πλάτους 280px (για βίντεο, το πρώτο καρέ), ή null.
width, heightΔιαστάσεις εμφάνισης σε pixel (σωστά προσανατολισμένες· για βίντεο, το μέγεθος του καρέ), ή null αν δεν είναι γνωστές.
sizeΜέγεθος αρχείου σε bytes όπως αποθηκεύτηκε.
lockedtrue αν το ανέβασμα προστατεύεται με κωδικό.
visibilityprivate, unlisted ή public (δείτε το πεδίο αιτήματος παραπάνω).
title, descriptionΌπως ορίστηκαν, ή null. Το κείμενο περνά από τον ίδιο έλεγχο με τον ιστότοπο.
delete_urlΜόνο για νέα ανεβάσματα: ένας ιδιωτικός σύνδεσμος που διαγράφει αυτό το ανέβασμα χωρίς κλειδί API. Εμφανίζεται μία φορά (αποθηκεύεται μόνο ένα hash) - κρατήστε τον αν τον χρειάζεστε.
expires_atΧρονική σήμανση ISO 8601 κατά την οποία το ανέβασμα θα διαγραφεί αυτόματα, ή null αν δεν λήγει.
duplicatetrue αν ο λογαριασμός σας είχε ήδη ανεβάσει ακριβώς το ίδιο αρχείο: επιστρέφεται εκείνο το ανέβασμα και δεν αποθηκεύεται κάτι νέο. Δεν ισχύει για ανεβάσματα με λήξη ή με allow_duplicate=1.

Ανεβάσματα με λήξη: μόλις περάσει το expires_at, το αρχείο διαγράφεται από την αποθήκευση και η σελίδα του ανεβάσματος αρχίζει να επιστρέφει 410 Gone μέσα σε περίπου 5 λεπτά. Αυτό δεν μπορεί να αναιρεθεί ή να παραταθεί εκ των υστέρων - διαγράψτε νωρίτερα με το endpoint DELETE αν χρειάζεται να το αφαιρέσετε πιο γρήγορα, ή ανεβάστε ξανά με νέο expires_in αν χρειάζεται να διαρκέσει περισσότερο.

POST /api/chunk - Μεγάλα αρχεία

Ένα μεμονωμένο αίτημα μπορεί να μεταφέρει το πολύ 100MB. Για μεγαλύτερα αρχεία (έως 200MB), ή για να κρατάτε μικρό κάθε αίτημα σε αργή σύνδεση, στείλτε το αρχείο σε κομμάτια έως 5MB και ολοκληρώστε με POST /api:

  1. Διαλέξτε ένα upload id: 32 τυχαίους δεκαεξαδικούς χαρακτήρες.
  2. Για κάθε κομμάτι, κάντε POST /api/chunk (multipart/form-data) με upload_id, index (ξεκινά από 0), total (αριθμός κομματιών) και τα bytes στο chunk. Η απάντηση είναι {"type": "success", "chunk_size": 5242880}.
  3. Κάντε POST /api με upload_id και filename αντί για uploads, μαζί με τυχόν άλλα πεδία ανεβάσματος. Η απάντηση είναι η κανονική απάντηση ανεβάσματος.

Τα κομμάτια ενός ανεβάσματος που δεν ολοκληρώθηκε διαγράφονται μετά από 2 ώρες. Μόνο το τελικό POST /api προσμετράται στα όρια ανεβάσματος.

GET /api/{id} και PATCH /api/{id} - Ένα ανέβασμα

Το GET επιστρέφει ένα από τα ανεβάσματά σας με τα ίδια πεδία με τη λίστα παρακάτω. Το PATCH αλλάζει τα visibility, title ή description (πεδία φόρμας ή JSON· κενός τίτλος ή περιγραφή τα διαγράφει) και απαντά με το ενημερωμένο ανέβασμα. Και τα δύο χρειάζονται το πλήρες κλειδί API· 404 αν δεν υπάρχει τέτοιο ανέβασμα στον λογαριασμό σας.

curl -X PATCH https://yourimageshare.com/api/aB3xY9qRz1 \
  -H "X-API-Key: YOUR_API_KEY" -d visibility=public -d title="Sunset"

POST /api/{id}/replace - Αντικατάσταση αρχείου

Αλλάζει το αρχείο πίσω από ένα από τα ανεβάσματά σας και κρατά το id, τη σελίδα και όλους τους συνδέσμους. Λειτουργεί οποιοσδήποτε επιτρεπόμενος τύπος, ακόμη και διαφορετικός (μια εικόνα μπορεί να γίνει βίντεο). Στείλτε το νέο αρχείο ως uploads (ή το upload_id ενός αρχείου που στάλθηκε σε κομμάτια με POST /api/chunk)· το keep_original λειτουργεί όπως στο ανέβασμα. Το νέο αρχείο περνά τους ίδιους ελέγχους και μετατροπές με ένα νέο ανέβασμα και η προηγούμενη έκδοση αφαιρείται. Χρειάζεται το πλήρες κλειδί API· 404 αν δεν υπάρχει τέτοιο ανέβασμα στον λογαριασμό σας, 409 αν προστατεύεται με κωδικό ή έχει όριο προβολών.

curl -X POST https://yourimageshare.com/api/aB3xY9qRz1/replace \
  -H "X-API-Key: YOUR_API_KEY" -F uploads=@new-version.png

GET /api - Λίστα των ανεβασμάτων σας

Επιστρέφει σελιδοποιημένη λίστα με τα ανεβάσματα του ταυτοποιημένου λογαριασμού (από οποιαδήποτε πηγή - API, ιστότοπο ή πρόγραμμα επεξεργασίας), τα νεότερα πρώτα, 50 ανά σελίδα.

ΠαράμετροςΣεΑπαιτείταιΠεριγραφή
pagequeryόχιΑριθμός σελίδας, προεπιλογή 1.

Απάντηση - 200 OK:

{
  "type": "success",
  "data": [
    {
      "id": "aB3xY9qRz1",
      "type": "image",
      "title": null,
      "path": "https://i.yourimageshare.com/aB3xY9qRz1.webp",
      "src": "https://yourimageshare.com/ib/aB3xY9qRz1.webp",
      "direct": "https://yourimageshare.com/ib/aB3xY9qRz1",
      "thumb": "https://i.yourimageshare.com/thumb-aB3xY9qRz1.webp",
      "width": 1920,
      "height": 1080,
      "size": 482113,
      "locked": false,
      "visibility": "unlisted",
      "description": null,
      "expires_at": null,
      "created_at": "2026-07-23T15:43:28+01:00"
    }
  ],
  "meta": { "current_page": 1, "last_page": 1, "total": 1 }
}

Τα πεδία έχουν την ίδια σημασία εδώ όπως στην απάντηση ανεβάσματος παραπάνω (για ανέβασμα με κωδικό, τα path και thumb είναι υπογεγραμμένοι σύνδεσμοι μικρής διάρκειας). Για να βρείτε ένα ανέβασμα με το id του, χρησιμοποιήστε το GET /api/{id}.

DELETE /api/{id} - Διαγραφή ανεβάσματος

Διαγράφει οριστικά ένα από τα ανεβάσματα του ταυτοποιημένου λογαριασμού. Δεν μπορεί να αναιρεθεί μέσω του API. Το {id} είναι η τιμή που επιστρέφεται ως id από τα endpoints ανεβάσματος ή λίστας.

Απάντηση - 200 OK:

{ "type": "success", "msg": "Deleted." }

404 αν δεν υπάρχει ανέβασμα με αυτό το id στον λογαριασμό σας (είτε δεν ήταν ποτέ δικό σας, είτε έχει ήδη διαγραφεί).

POST /api/compare - Slider πριν/μετά

Δημιουργεί σύγκριση πριν/μετά δύο δικών σας ανεβασμένων εικόνων: μια σελίδα με slider στο /c/{id} που μπορεί να ενσωματωθεί και σε οποιονδήποτε ιστότοπο. Λειτουργεί και το κλειδί μόνο για ανέβασμα. Στείλτε before και after (id ανεβασμάτων, υποχρεωτικά) και προαιρετικά title, label_before και label_after (προεπιλογή "Before" και "After").

Απάντηση - 201 Created:

{
  "type": "success",
  "id": "P7uAYy04VA",
  "url": "https://yourimageshare.com/c/P7uAYy04VA",
  "embed_url": "https://yourimageshare.com/embed/c/P7uAYy04VA",
  "embed": { "script": "<blockquote class=\"YISEmbed\" ...", "iframe": "<iframe ..." }
}

422 αν κάποιο id δεν είναι ανέβασμα εικόνας δικό σας (τα βίντεο και οι εικόνες με κωδικό δεν μπορούν να χρησιμοποιηθούν).

Όρια χρήσης

Κάθε κλειδί API έχει ανεξάρτητες ποσοστώσεις ανά λεπτό και ανά ημέρα, καθώς και ένα πιο αδρό ημερήσιο όριο ανά IP ως δικλίδα ασφαλείας απέναντι σε μία IP που εναλλάσσει πολλά κλειδιά. Τα ανεβάσματα, οι λίστες και οι διαγραφές μοιράζονται τα ίδια όρια.

ΠαράθυροΠροεπιλεγμένο όριοΕύρος
Ανά λεπτό20 αιτήματαανά κλειδί API
Ανά ημέρα500 αιτήματαανά πλήρες κλειδί API
Ανά ημέρα2.000 αιτήματαανά κλειδί μόνο για ανέβασμα (πρόσθετα που μεταφέρουν ολόκληρες βιβλιοθήκες πολυμέσων)
Ανά ημέρα2.000 αιτήματαανά διεύθυνση IP
Ανά λεπτό300 κομμάτιαανά κλειδί API, μόνο για POST /api/chunk

Αυτά τα όρια μπορεί να αλλάξουν. Κάθε απάντηση περιλαμβάνει τυπικά headers ορίων χρήσης:

X-RateLimit-Limit: 20
X-RateLimit-Remaining: 14

Επιστρέφεται 429 όταν ξεπεραστεί ένα όριο, με header Retry-After που δείχνει πόσα δευτερόλεπτα πρέπει να περιμένετε.

Σφάλματα

Κάθε απάντηση σφάλματος έχει την ίδια μορφή, ανεξάρτητα από το endpoint ή την αιτία:

{ "type": "error", "errors": "A human-readable description of what went wrong." }
ΚατάστασηΣημασία
401Λείπει το κλειδί API ή δεν είναι έγκυρο.
403Ο λογαριασμός ή η τρέχουσα IP σας έχει αποκλειστεί από το ανέβασμα.
404Δεν βρέθηκε ανέβασμα με αυτό το id σε αυτόν τον λογαριασμό (προβολή, αλλαγή, διαγραφή).
413Το αίτημα ξεπερνά τα 100MB. Στείλτε το αρχείο σε κομμάτια (POST /api/chunk) ή έναν σύνδεσμο προς αυτό στο url (έως 200MB).
422Αποτυχία επικύρωσης - δεν δόθηκε αρχείο ή σύνδεσμος, μη υποστηριζόμενος τύπος αρχείου, μη αναγνώσιμα δεδομένα εικόνας, διαστάσεις πάνω από το όριο 30000x30000px, αρχείο πάνω από 200MB, μη ολοκληρωμένο ή ληγμένο upload_id, ή url που δεν ήταν δυνατό να ληφθεί (το μήνυμα εξηγεί γιατί).
429Ξεπεράστηκε το όριο χρήσης - δείτε τα Όρια χρήσης παραπάνω.
500Κάτι απέτυχε απροσδόκητα στον διακομιστή. Μπορείτε να δοκιμάσετε ξανά με ασφάλεια.

Βιβλιοθήκες

Επίσημα SDK που περιβάλλουν τα παραπάνω endpoints με τυποποιημένα αποτελέσματα και εγείρουν σφάλμα στα σφάλματα του API αντί για χειρισμό ακατέργαστου HTTP.

JavaScript / TypeScript

Χωρίς εξαρτήσεις, λειτουργεί σε Node.js και σε προγράμματα περιήγησης. Διατίθεται και στο JSR ως @yourimageshare/yourimageshare - npx jsr add @yourimageshare/yourimageshare - ίδιος κώδικας, δημοσιευμένος απευθείας ως TypeScript.

npm install yourimageshare

Python

Μία εξάρτηση (requests), Python 3.8+.

pip install yourimageshare

PHP

Χωρίς εξαρτήσεις Composer (χρησιμοποιεί την επέκταση curl της PHP), PHP 7.4+. Κώδικας στο GitHub.

composer require yourimageshare/yourimageshare-php

Go

Χωρίς εξαρτήσεις (μόνο η τυπική βιβλιοθήκη), Go 1.18+. Δείτε το pkg.go.dev για πλήρη τεκμηρίωση αναφοράς.

go get github.com/yourimageshare/yourimageshare/go

Rust

Δύο εξαρτήσεις (ureq για blocking HTTP - χωρίς async runtime - και serde), Rust 1.70+. Κώδικας στο GitHub.

cargo add yourimageshare

Ruby

Χωρίς εξαρτήσεις gem (stdlib Net::HTTP + json), Ruby 2.7+. Κώδικας στο GitHub.

gem install yourimageshare

.NET

Μία εξάρτηση (το System.Text.Json της Microsoft), στοχεύει netstandard2.0 ώστε να λειτουργεί τόσο με .NET Framework όσο και με σύγχρονο .NET. Κώδικας στο GitHub. Δοκιμασμένο απέναντι σε αυτό το ζωντανό API· η δημοσίευση στο NuGet έρχεται σύντομα.

dotnet add package YourImageShare

Dart / Flutter

Μία εξάρτηση (http, το επίσημο πακέτο της ομάδας Dart), Dart 2.17+. Κώδικας στο GitHub. Δοκιμασμένο απέναντι σε αυτό το ζωντανό API· η δημοσίευση στο pub.dev έρχεται σύντομα.

dart pub add yourimageshare

Elixir

Μία εξάρτηση (Req), Elixir 1.14+. Επιστρέφει tuples {:ok, result}| {:error, reason} - το άμεσο αντίστοιχο του χειρισμού σφαλμάτων του API σε όλα τα άλλα SDK - και παραλλαγές με bang που εγείρουν σφάλμα. Κώδικας στο GitHub, τεκμηρίωση στο HexDocs.

{:yourimageshare, "~> 1.1"}

MCP Server

Για πράκτορες προγραμματισμού AI (Claude Code, Cursor και άλλα εργαλεία συμβατά με MCP) - προσθέστε ένα στιγμιότυπο σε μια αναφορά σφάλματος, σε περιγραφή PR ή σε νήμα υποστήριξης ως πραγματικό URL αντί για base64 ή χειροκίνητο βήμα ανεβάσματος. Λειτουργεί με τον ίδιο τρόπο με το Claude Desktop και κάθε άλλο πρόγραμμα-πελάτη MCP.

Φιλοξενούμενο, χωρίς εγκατάσταση: προσθέστε το ως απομακρυσμένο MCP server (στο Claude: Settings › Connectors › Add custom connector· επίσης στα ChatGPT, Cursor, VS Code και άλλους πελάτες που δέχονται URL server) με το κλειδί API σας στο URL:

https://yourimageshare.com/mcp?key=YOUR_API_KEY

Οι πελάτες που επιτρέπουν ορισμό headers μπορούν να χρησιμοποιήσουν το https://yourimageshare.com/mcp με Authorization: Bearer YOUR_API_KEY. Το URL με το κλειδί σας λειτουργεί σαν κωδικός: κρατήστε το ιδιωτικό και αποκτήστε νέο κλειδί στον Λογαριασμό μου αν διαρρεύσει. Στο φιλοξενούμενο server, το upload_image δέχεται δημόσιο σύνδεσμο (έως 200MB) ή ενσωματωμένο περιεχόμενο base64 (έως 15MB). Χωρίς κλειδί, το https://yourimageshare.com/mcp ανεβάζει ανώνυμα, όπως ο ιστότοπος: μόνο unlisted ή private, χαμηλότερα όρια, και το ανέβασμα διαγράφεται με το delete_url που επιστρέφει. Τα υπόλοιπα εργαλεία χρειάζονται κλειδί.

Τοπικά: εκτελέστε το απευθείας με npx, χωρίς βήμα εγκατάστασης (μπορεί επίσης να διαβάζει αρχεία από τον δίσκο σας):

npx yourimageshare-mcp

Εργαλεία: upload_image (τοπικό αρχείο, ενσωματωμένο περιεχόμενο ή σύνδεσμος, έως 200MB, με προαιρετικά ορατότητα, τίτλο και αυτόματη διαγραφή), list_uploads, get_upload, update_upload και delete_upload.

Διατίθεται επίσης στο επίσημο MCP Registry (ως io.github.yourimageshare/yourimageshare) και καταχωρισμένο στα Smithery και Glama, αν ο πελάτης MCP σας εγκαθιστά από κάποιο από αυτά.

Πρώτη φορά με το MCP; Δείτε πώς να συνδέσετε το Claude και το ChatGPT σε αυτό το API μέσω MCP για πλήρη οδηγό ρύθμισης.

Και τα δέκα έχουν άδεια MIT. Δεν υπάρχει επίσημη βιβλιοθήκη για τη γλώσσα σας; Τα παραδείγματα κώδικα παρακάτω δείχνουν πώς να καλέσετε το API απευθείας.

Παραδείγματα κώδικα

curl

# Upload a file
curl "https://yourimageshare.com/api" \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "uploads=@/path/to/photo.jpg"

# Upload from a link (files up to 200MB; one direct upload request stops at 100MB -
# bigger files go in pieces, see Large Files above)
curl "https://yourimageshare.com/api" \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "url=https://example.com/video.mp4"

# Upload a file that auto-deletes after 1 hour
curl "https://yourimageshare.com/api" \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "uploads=@/path/to/photo.jpg" \
  -F "expires_in=3600"

# List uploads
curl "https://yourimageshare.com/api" -H "X-API-Key: YOUR_API_KEY"

# Upload a file without a page of its own (file only) and give it a title
curl "https://yourimageshare.com/api" \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "uploads=@/path/to/photo.jpg" \
  -F "visibility=private" \
  -F "title=Sunset"

# Look up one upload, then make it public
curl "https://yourimageshare.com/api/aB3xY9qRz1" -H "X-API-Key: YOUR_API_KEY"
curl -X PATCH "https://yourimageshare.com/api/aB3xY9qRz1" \
  -H "X-API-Key: YOUR_API_KEY" -d "visibility=public"

# Delete an upload
curl -X DELETE "https://yourimageshare.com/api/aB3xY9qRz1" -H "X-API-Key: YOUR_API_KEY"

JavaScript (fetch)

const API_KEY = 'YOUR_API_KEY';
const BASE = 'https://yourimageshare.com/api';

async function uploadFile(file) {
  const form = new FormData();
  form.append('uploads', file);

  const res = await fetch(BASE, {
    method: 'POST',
    headers: { 'X-API-Key': API_KEY },
    body: form,
  });
  const json = await res.json();
  if (json.type !== 'success') throw new Error(json.errors);
  return json.data;
}

async function listUploads(page = 1) {
  const res = await fetch(`${BASE}?page=${page}`, {
    headers: { 'X-API-Key': API_KEY },
  });
  return res.json();
}

async function deleteUpload(id) {
  const res = await fetch(`${BASE}/${id}`, {
    method: 'DELETE',
    headers: { 'X-API-Key': API_KEY },
  });
  return res.json();
}

Python (requests)

import requests

API_KEY = "YOUR_API_KEY"
BASE = "https://yourimageshare.com/api"

HEADERS = {"X-API-Key": API_KEY}

# Upload a file
with open("/path/to/photo.jpg", "rb") as f:
    res = requests.post(BASE, headers=HEADERS, files={"uploads": f})
res.raise_for_status()
upload = res.json()["data"]

# List uploads
res = requests.get(BASE, headers=HEADERS, params={"page": 1})
uploads = res.json()

# Delete an upload
res = requests.delete(f"{BASE}/{upload['id']}", headers=HEADERS)

PHP (curl)

<?php

$apiKey = 'YOUR_API_KEY';
$base = 'https://yourimageshare.com/api';

// Upload a file
$curl = curl_init($base);
curl_setopt_array($curl, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ["X-API-Key: $apiKey"],
    CURLOPT_POSTFIELDS => ['uploads' => new CURLFile('/path/to/photo.jpg')],
    CURLOPT_RETURNTRANSFER => true,
]);
$upload = json_decode(curl_exec($curl), true)['data'];
curl_close($curl);

// List uploads
$curl = curl_init("$base?page=1");
curl_setopt($curl, CURLOPT_HTTPHEADER, ["X-API-Key: $apiKey"]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$uploads = json_decode(curl_exec($curl), true);
curl_close($curl);

Go (net/http)

Το επίσημο SDK Go παραπάνω τα αναλαμβάνει όλα αυτά - αυτή η ακατέργαστη εκδοχή υπάρχει για όποιον προτιμά να μην προσθέσει την εξάρτηση.

package main

import (
    "bytes"
    "encoding/json"
    "io"
    "mime/multipart"
    "net/http"
    "os"
)

const apiKey = "YOUR_API_KEY"
const base = "https://yourimageshare.com/api"

func uploadFile(path string) (map[string]any, error) {
    file, err := os.Open(path)
    if err != nil {
        return nil, err
    }
    defer file.Close()

    body := &bytes.Buffer{}
    writer := multipart.NewWriter(body)
    part, _ := writer.CreateFormFile("uploads", path)
    io.Copy(part, file)
    writer.Close()

    req, _ := http.NewRequest("POST", base, body)
    req.Header.Set("Content-Type", writer.FormDataContentType())
    req.Header.Set("X-API-Key", apiKey)

    res, err := http.DefaultClient.Do(req)
    if err != nil {
        return nil, err
    }
    defer res.Body.Close()

    var result map[string]any
    json.NewDecoder(res.Body).Decode(&result)
    return result, nil
}

Εργαλεία στιγμιότυπων

Μια επέκταση προγράμματος περιήγησης μαζί με έτοιμες ρυθμίσεις και scripts για να στέλνετε στιγμιότυπα απευθείας στο YourImageShare, χωρίς χειροκίνητο ανέβασμα. Καθένα ανεβάζει μέσω του ίδιου endpoint /api που τεκμηριώνεται παραπάνω.

Επέκταση προγράμματος περιήγησης (Chrome & Firefox)

Η επέκταση YourImageShare Capture για Chrome και Firefox παρακάμπτει εντελώς scripts και αρχεία ρυθμίσεων. Καταγράφει την ορατή περιοχή, μια περιοχή που επιλέγετε με σύρσιμο ή μια ολόκληρη σελίδα με κύλιση, ανοίγει ενσωματωμένο πρόγραμμα επεξεργασίας για βέλη, κείμενο, θόλωση/απόκρυψη και άλλους σχολιασμούς, και μετά κατεβάζει το αποτέλεσμα, το αντιγράφει στο πρόχειρο ή το δημοσιεύει απευθείας στο YourImageShare με ένα κλικ. Η δημοσίευση χρησιμοποιεί το ίδιο endpoint /api που τεκμηριώνεται παραπάνω - προσθέστε το κλειδί API σας μία φορά στις Ρυθμίσεις της επέκτασης και κάθε δημοσίευση από εκεί και πέρα επιστρέφει αμέσως σύνδεσμο προς κοινοποίηση. Λειτουργεί στο Chrome για υπολογιστή (και σε άλλα προγράμματα περιήγησης Chromium), στο Firefox για υπολογιστή και στο Firefox για Android.

Λήψη του YourImageShare Capture για Firefox Λήψη του YourImageShare Capture για Chrome

ShareX

Κατεβάστε το προσαρμοσμένο πρόγραμμα ανεβάσματος παρακάτω και μετά στο ShareX μεταβείτε στο Destinations > Custom uploader settings > Import > from file, ανοίξτε το .sxcu που κατεβάσατε και αντικαταστήστε το YOUR_API_KEY στο πεδίο Headers με το πραγματικό κλειδί σας. Ορίστε το ως προορισμό εικόνων/αρχείων και οι λήψεις θα ανεβαίνουν αυτόματα.

Λήψη του YourImageShare.sxcu

Διαγραφή: ο σύνδεσμος "Delete" του ShareX για κάθε ανέβασμα ανοίγει τη σελίδα διαγραφής μας στο πρόγραμμα περιήγησής σας (το εφάπαξ delete_url του ανεβάσματος), ώστε να αφαιρείτε μια λήψη απευθείας από το ιστορικό του ShareX. Μπορείτε επίσης να διαγράψετε ανεβάσματα από τον Λογαριασμό μου. Κατεβάσατε το αρχείο ρυθμίσεων πριν από τον Οκτώβριο του 2026; Κατεβάστε το ξανά για να το έχετε.

Flameshot (Linux)

Ένα μικρό shell script που εκτελεί το flameshot gui, ανεβάζει τη λήψη και αντιγράφει τον σύνδεσμο στο πρόχειρό σας. Αντιστοιχίστε το σε μια συντόμευση πληκτρολογίου στο περιβάλλον εργασίας σας στη θέση της προεπιλεγμένης του Flameshot.

Λήψη του yis-flameshot-upload.sh

# One-time setup
chmod +x yis-flameshot-upload.sh
export YIS_API_KEY="YOUR_API_KEY"   # or add to ~/.config/yourimageshare/api_key

# Then bind this to a hotkey instead of calling flameshot directly:
/path/to/yis-flameshot-upload.sh

Greenshot (Windows)

Ένα script PowerShell για τον ενσωματωμένο προορισμό External command του Greenshot. Συμβατό με το Windows PowerShell 5.1 που συνοδεύει τα Windows, χωρίς πρόσθετη εγκατάσταση.

Λήψη του yis-greenshot-upload.ps1

# One-time setup
setx YIS_API_KEY "YOUR_API_KEY"

# In Greenshot: Preferences > Destinations > External command > Settings
#   Command:   powershell.exe
#   Arguments: -ExecutionPolicy Bypass -File "C:\path\to\yis-greenshot-upload.ps1" "%1"

Πρόσθετα για φόρουμ

Προσθέστε ένα πραγματικό κουμπί "Ανέβασμα εικόνας" δίπλα στον επεξεργαστή αναρτήσεων του φόρουμ σας. Καθένα ανεβάζει μέσω του ίδιου endpoint /api που τεκμηριώνεται παραπάνω και εισάγει BBCode στη θέση του δρομέα - χωρίς ξεχωριστή καρτέλα, χωρίς χειροκίνητη αντιγραφή-επικόλληση.

Χρησιμοποιήστε παρακάτω το κλειδί μόνο για ανέβασμα, όχι το κλειδί API. Κάθε πρόσθετο εμφανίζει το κλειδί στον πηγαίο κώδικα της σελίδας κάθε επισκέπτη, ενώ το κλειδί μόνο για ανέβασμα (Λογαριασμός μου > καρτέλα API) μπορεί μόνο να ανεβάζει - δεν μπορεί να δει λίστα ή να διαγράψει τα ανεβάσματά σας ακόμη κι αν κάποιος το αντιγράψει από τη σελίδα.

Τα ανεβάσματα φόρουμ είναι από προεπιλογή private: η εικόνα λειτουργεί στην ανάρτηση, αλλά το YourImageShare δεν της δίνει δική της σελίδα (χωρίς σχόλια, αντιδράσεις ή διαφημίσεις). Κάθε πρόσθετο έχει ρύθμιση για αλλαγή σε unlisted αν θέλετε και σελίδα για όποιον έχει τον σύνδεσμο.

phpBB

Μια πραγματική επέκταση phpBB 3.2/3.3. Αποσυμπιέστε στο ext/, ενεργοποιήστε την από το Customise > Manage extensions και μετά αντικαταστήστε το YOUR_UPLOAD_ONLY_KEY στο αρχείο συμβάντος template της επέκτασης με το πραγματικό σας κλειδί μόνο για ανέβασμα.

Λήψη για phpBB

SMF (Simple Machines Forum)

Ένα πραγματικό πακέτο SMF - εγκαταστήστε το μέσω Admin > Package Manager και μετά αντικαταστήστε το YOUR_UPLOAD_ONLY_KEY στο Sources/yis_forumupload.php με το πραγματικό σας κλειδί μόνο για ανέβασμα.

Λήψη για SMF

MyBB

Ένα πραγματικό πρόσθετο MyBB 1.8. Αντιγράψτε το στο inc/plugins/, ενεργοποιήστε το από Configuration > Plugins και μετά αντικαταστήστε το YOUR_UPLOAD_ONLY_KEY στο αρχείο του πρόσθετου με το πραγματικό σας κλειδί μόνο για ανέβασμα.

Λήψη για MyBB

FluxBB, PunBB & ZetaBoards

Αυτά δεν έχουν επίσημο σύστημα πρόσθετων, οπότε πρόκειται για ένα μικρό απόσπασμα που επικολλάται απευθείας στο template (FluxBB/PunBB) ή στο Admin CP (ZetaBoards) - πλήρεις οδηγίες αντιγραφής-επικόλλησης για καθένα:

Οδηγίες FluxBB Οδηγίες PunBB Οδηγίες ZetaBoards

Πρόσθετο WordPress

Μεταφέρετε τη Βιβλιοθήκη πολυμέσων σας στο YourImageShare αντί για τον τοπικό δίσκο. Τα νέα ανεβάσματα εικόνων/βίντεο περνούν αυτόματα από το ίδιο endpoint /api που τεκμηριώνεται παραπάνω, το τοπικό αρχείο (και κάθε παραγόμενο μέγεθος μικρογραφίας) διαγράφεται μόλις επιβεβαιωθεί το ανέβασμα, και κάθε URL συνημμένου του WordPress - ο επεξεργαστής μπλοκ, οι κύριες εικόνες, οι γκαλερί, το REST API - οδηγεί στο αρχείο που φιλοξενείται στο YourImageShare. Χωρίς shortcode, χωρίς αλλαγή στη ροή εργασίας σας.

  • Μαζική μεταφορά μιας υπάρχουσας Βιβλιοθήκης πολυμέσων στο παρασκήνιο (ή με wp yis offload --all), όχι μόνο των νέων ανεβασμάτων
  • Οι εικόνες και τα βίντεο που έχουν ήδη μπει σε αναρτήσεις συνεχίζουν να λειτουργούν μετά την αφαίρεση των τοπικών αρχείων τους
  • Οι μικρογραφίες και το srcset χρησιμοποιούν τη μικρογραφία 280px, ώστε οι μικρές θέσεις εικόνας να μην φορτώνουν αρχεία πλήρους μεγέθους
  • Αρχεία έως 200MB, που στέλνονται σε κομμάτια ώστε τα μεγάλα βίντεο να μην επιβαρύνουν έναν κοινόχρηστο διακομιστή
  • Επαναφορά οποιουδήποτε αρχείου στην τοπική αποθήκευση ανά πάσα στιγμή
  • Μια στήλη στη Βιβλιοθήκη πολυμέσων δείχνει τι έχει μεταφερθεί και τι είναι ακόμη τοπικό
  • Τα αρχεία που μεταφέρονται αποθηκεύονται ως private: φορτώνουν όπου τα χρησιμοποιεί ο ιστότοπός σας, αλλά δεν αποκτούν δική τους σελίδα στο YourImageShare

Χρησιμοποιεί το κλειδί μόνο για ανέβασμα, όχι το κλειδί API. Το προαιρετικό πλήρες κλειδί API χρειάζεται μόνο αν θέλετε τα αρχεία που μεταφέρθηκαν να διαγράφονται από το YourImageShare όταν τα διαγράφετε στο WordPress.

Λήψη από το WordPress.org Λήψη του ZIP

Στο WordPress: Plugins > Add New, αναζητήστε YourImageShare Media Offload και μετά Install και Activate.

Κουμπί ανεβάσματος για κάθε ιστότοπο

Δώστε στους επισκέπτες σας ένα κουμπί "Ανέβασμα" σε οποιονδήποτε ιστότοπο - φόρμα σχολίων, σελίδα υποστήριξης, φόρουμ για το οποίο δεν έχουμε πρόσθετο, στατικό ιστότοπο. Επικολλήστε δύο γραμμές· χωρίς λογαριασμό και χωρίς κώδικα διακομιστή.

<a class="yis-upload" href="https://yourimageshare.com/" data-target="#message" data-format="bbcode">Image and video hosting by YourImageShare</a>
<script src="https://yourimageshare.com/w.js" async></script>

Και τα δύο attributes είναι προαιρετικά: χωρίς αυτά το κουμπί εμφανίζει τους συνδέσμους με κουμπί Αντιγραφής. Το πλαίσιο ανεβάσματος χτίζεται γύρω από τον σύνδεσμο.

  • Τα ανεβάσματα γίνονται απευθείας στη σελίδα σας: πατήστε το κουμπί, αφήστε αρχεία πάνω του ή επικολλήστε ένα στιγμιότυπο - πολλά αρχεία ταυτόχρονα, με γραμμή προόδου και μικρογραφία
  • Οι εικόνες που επικολλώνται ή αφήνονται απευθείας στο πεδίο που ορίζεται στο data-target (οποιοδήποτε textarea, input ή επεξεργάσιμο πλαίσιο) ανεβαίνουν επίσης και οι σύνδεσμοι προστίθενται σε αυτό το πεδίο· χωρίς target εμφανίζονται κάτω από το κουμπί με κουμπί Αντιγραφής
  • data-format: url (άμεσος σύνδεσμος αρχείου, η προεπιλογή), page, bbcode, html ή markdown· το data-label αλλάζει το κείμενο του κουμπιού
  • data-key (προαιρετικό): το κλειδί μόνο για ανέβασμα (Λογαριασμός μου > API). Τα ανεβάσματα πηγαίνουν τότε στον λογαριασμό σας με τα δικά σας όρια. Χωρίς κλειδί, τα ανεβάσματα είναι ανώνυμα και unlisted, με ημερήσιο όριο ανά επισκέπτη και ανά ιστότοπο
  • Οι προγραμματιστές μπορούν να ακούσουν το συμβάν yis:upload στο πλαίσιο ανεβάσματος: το event.detail.item περιέχει {id, type, page, url, thumb}
  • Αρχεία έως 95 MB μέσω του κουμπιού (τα μεγαλύτερα στον ιστότοπο). Ισχύουν ο έλεγχος περιεχομένου και οι όροι μας όπως συνήθως· κάθε επισκέπτης έχει τον δικό του σύνδεσμο διαγραφής

Το κουμπί σχεδιάζεται στο δικό του απομονωμένο πλαίσιο, οπότε το CSS του ιστότοπού σας δεν μπορεί να το χαλάσει. Ο μικρός σύνδεσμος "Image and video hosting by YourImageShare" παραμένει ορατός μέσα στο πλαίσιο ανεβάσματος.

Συντόμευση για iPhone & iPad

Ανεβάστε από το φύλλο κοινοποίησης οποιασδήποτε εφαρμογής - Φωτογραφίες, Αρχεία, Safari, ένα στιγμιότυπο - και λάβετε τον σύνδεσμο στο πρόχειρό σας. Χωρίς εγκατάσταση εφαρμογής και χωρίς λογαριασμό.

Για να τη φτιάξετε μόνοι σας στην εφαρμογή Συντομεύσεις (περίπου δύο λεπτά):

  1. Νέα συντόμευση, ονομάστε την "Upload to YourImageShare". Στις λεπτομέρειες, ενεργοποιήστε το Show in Share Sheet και αποδεχτείτε εικόνες και πολυμέσα.
  2. Προσθέστε Get Contents of URL: URL https://yourimageshare.com/api/widget, μέθοδος POST, σώμα αιτήματος Form με δύο πεδία: uploads (File) = Shortcut Input και client (Text) = ios-shortcut.
  3. Προσθέστε Get Dictionary Value για το data και μετά άλλο ένα για το src - αυτός είναι ο άμεσος σύνδεσμος.
  4. Προσθέστε Copy to Clipboard και Show Notification ("Ο σύνδεσμος αντιγράφηκε").

Χωρίς κλειδί, τα ανεβάσματα είναι ανώνυμα και unlisted, με ημερήσιο όριο. Προσθέστε ένα header X-API-Key με το κλειδί σας μόνο για ανέβασμα (Λογαριασμός μου > API) για να ανεβάζετε στον λογαριασμό σας. Η απάντηση περιέχει επίσης το delete_url αν θέλετε να κρατήσετε σύνδεσμο διαγραφής.

PicGo & PicList

Τα PicGo και PicList ανεβάζουν εικόνες που επικολλώνται ή σέρνονται σε επεξεργαστές Markdown - Typora, VS Code, Obsidian, Joplin - και βάζουν τον σύνδεσμο στο κείμενό σας. Το πρόσθετό μας κάνει το YourImageShare έναν από τους προορισμούς εικόνων τους.

  • Στο PicGo ή το PicList: Plugins, αναζητήστε yourimageshare, εγκαταστήστε και μετά επιλέξτε YourImageShare ως uploader. Από τη γραμμή εντολών: picgo install yourimageshare
  • Ή κατεβάστε το πρόσθετο και εισαγάγετέ το ως τοπικό πρόσθετο (αποσυμπιέστε πρώτα)
  • Ρυθμίσεις: κλειδί μόνο για ανέβασμα (προαιρετικό - κενό = ανώνυμα, unlisted ανεβάσματα), ορατότητα, και αν θα επιστρέφεται ο άμεσος σύνδεσμος εικόνας (για Markdown) ή ο σύνδεσμος της σελίδας
  • Ο σύνδεσμος που επιστρέφει συνεχίζει να λειτουργεί όταν οι μεγάλες εικόνες βελτιστοποιηθούν αργότερα σε WebP

Λήψη του πρόσθετου PicGo

Telegram Bot

Αποκτήστε σύνδεσμο για μια φωτογραφία, ένα βίντεο ή ένα GIF χωρίς να βγείτε από το Telegram. Στείλτε το στο @YourImageShare_bot και ο σύνδεσμος επιστρέφει αμέσως - χωρίς λογαριασμό και χωρίς κλειδί API. Το bot ανεβάζει μέσω του ίδιου endpoint /api που τεκμηριώνεται παραπάνω.

  • Στείλτε φωτογραφία, βίντεο, GIF ή αρχείο εικόνας ή βίντεο· ένα άλμπουμ έως 10 αρχείων επιστρέφει σε μία απάντηση
  • Σε ομάδα, απαντήστε με /link σε μια φωτογραφία ή ένα βίντεο και το bot δημοσιεύει τον σύνδεσμό του για όλους
  • Το /autodelete κάνει τα επόμενα ανεβάσματά σας να διαγράφονται μόνα τους μετά από 1 ώρα, 1 ημέρα, 1 εβδομάδα ή 30 ημέρες
  • Κάθε αποτέλεσμα έχει κουμπί Διαγραφής που λειτουργεί μόνο για το άτομο που ανέβασε το αρχείο
  • Οι σύνδεσμοι είναι unlisted: μόνο όσοι έχουν τον σύνδεσμο μπορούν να δουν το αρχείο
  • Το bot απαντά στη γλώσσα του Telegram σας όταν ο ιστότοπος είναι διαθέσιμος σε αυτήν

Κρατήστε την πλήρη ποιότητα: Το Telegram συμπιέζει τις φωτογραφίες που στέλνονται με τον κανονικό τρόπο. Στείλτε τες ως αρχείο (📎 → File) και ανεβαίνει το πρωτότυπο. Το Telegram επιτρέπει στα bots να λαμβάνουν αρχεία έως 20 MB, οπότε ανεβάστε μεγαλύτερα αρχεία στον ιστότοπο.

Άνοιγμα του @YourImageShare_bot στο Telegram

Discord Bot

Μετατρέψτε οποιαδήποτε εικόνα, GIF ή βίντεο στο Discord σε μόνιμο σύνδεσμο. Οι σύνδεσμοι συνημμένων του ίδιου του Discord σταματούν να λειτουργούν μετά από λίγο· οι σύνδεσμοι του YourImageShare όχι. Χωρίς λογαριασμό και χωρίς κλειδί API. Το bot ανεβάζει μέσω του ίδιου endpoint /api που τεκμηριώνεται παραπάνω.

  • /upload με αρχείο: προαιρετική αυτόματη διαγραφή μετά από 1, 7 ή 30 ημέρες, και only_me για να εμφανιστεί ο σύνδεσμος μόνο σε εσάς
  • Δεξί κλικ σε ένα μήνυμα → Apps → Rehost on YourImageShare για να ανεβάσετε ξανά έως 6 εικόνες ή βίντεο από αυτό σε μία απάντηση
  • Προσθέστε το σε έναν server, ή στον δικό σας λογαριασμό για να το χρησιμοποιείτε σε οποιαδήποτε συνομιλία ή προσωπικό μήνυμα
  • Κάθε αποτέλεσμα έχει κουμπί Διαγραφής που λειτουργεί μόνο για το άτομο που ανέβασε το αρχείο
  • Οι σύνδεσμοι είναι unlisted: μόνο όσοι έχουν τον σύνδεσμο μπορούν να δουν το αρχείο

Προσθήκη του YourImageShare στο Discord

GitHub Action για Playwright & Cypress

Όταν αποτυγχάνουν τα end-to-end τεστ σε ένα pull request, δείτε γιατί χωρίς να κατεβάζετε zip με artifacts. Το action ανεβάζει τα στιγμιότυπα αποτυχίας και τις οπτικές διαφορές και τα εμφανίζει ως εικόνες σε ένα σχόλιο του pull request, που ενημερώνεται σε κάθε εκτέλεση.

  • Λειτουργεί με Playwright και Cypress, και ανακαλύπτει μόνο του ποιο χρησιμοποιεί το έργο
  • Οι αποτυχημένες οπτικές συγκρίσεις εμφανίζονται ως Expected, Actual και Diff, με σύνδεσμο προς slider πριν/μετά (το toHaveScreenshot του Playwright· για το Cypress τα πρόσθετα cypress-image-diff-js και cypress-visual-regression)
  • Το σχόλιο αλλάζει σε "all tests passed" μόλις διορθωθούν τα τεστ· η ίδια αναφορά πηγαίνει στη σύνοψη της εργασίας
  • Τα στιγμιότυπα είναι private (μόνο αρχεία εικόνας, χωρίς σελίδα) και διαγράφονται μετά από 30 ημέρες από προεπιλογή
  • Χρειάζεται το κλειδί σας μόνο για ανέβασμα ως secret του αποθετηρίου YOURIMAGESHARE_API_KEY· δεν αποτυγχάνει ποτέ το build σας
- uses: yourimageshare/playwright-pr-screenshots@v1
  if: always()
  with:
    api-key: ${{ secrets.YOURIMAGESHARE_API_KEY }}

Οδηγός ρύθμισης στο GitHub

Έργα της κοινότητας

Μερικές από τις καλύτερες ενσωματώσεις του YourImageShare φτιάχνονται από όσους το χρησιμοποιούν. Αυτά τα έργα δημιουργήθηκαν από μέλη της κοινότητας με το δημόσιο API που τεκμηριώνεται παραπάνω. Συντηρούνται από τους δημιουργούς τους, οπότε για ερωτήσεις ή αναφορές σφαλμάτων επικοινωνήστε με τον δημιουργό μέσω της σελίδας του έργου.

  • YourImageShare Uploads for FlatBB - ένα πρόσθετο για το φόρουμ FlatBB από τον madromas (MadWay Inc.).
    • Προσθέτει κουμπί ανεβάσματος στον επεξεργαστή αναρτήσεων του FlatBB: επιλέξτε μία ή περισσότερες εικόνες ή βίντεο και το Markdown εισάγεται στη θέση του δρομέα
    • Εισάγει κάθε ανέβασμα ως μικρογραφία με κλικ, εικόνα πλήρους μεγέθους ή απλό σύνδεσμο (τα βίντεο ως σύνδεσμο)
    • Τα ανεβάσματα περνούν από τον διακομιστή του φόρουμ σας με κλειδί API μόνο για ανέβασμα, ώστε το κλειδί να μην φτάνει ποτέ στα προγράμματα περιήγησης των επισκεπτών
    • Τα αρχεία φιλοξενούνται στο YourImageShare, όχι στον δίσκο του φόρουμ σας, με προεπιλεγμένη ορατότητα της επιλογής σας (private, unlisted ή public)
    • Λειτουργεί παράλληλα με το δικό του πρόγραμμα ανεβάσματος του FlatBB, με ξεχωριστό όριο μεγέθους αρχείου

    Κώδικας στο GitHub · Σελίδα στο FlatBB Marketplace

Ευχαριστούμε

Ένα μεγάλο ευχαριστώ σε όσους δημιουργούν με το YourImageShare και μοιράζονται τη δουλειά τους με άλλους. Τα έργα της κοινότητας φέρνουν το YourImageShare σε μέρη που δεν θα φτάναμε ποτέ μόνοι μας. Φτιάξατε κάτι με το API; Πείτε μας και θα χαρούμε να το προσθέσουμε εδώ.

Από το ιστολόγιο

Έτοιμοι να το δοκιμάσετε;

Αποκτήστε το κλειδί API σας →