Τεκμηρίωση API
Το API του YourImageShare σάς επιτρέπει να ανεβάζετε, να εμφανίζετε και να διαγράφετε αρχεία προγραμματιστικά. Είναι ένα μικρό JSON/REST API - δεν χρειάζεται 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. Εκεί εμφανίζεται το κλειδί σας, μαζί με ένα κουμπί Δημιουργία νέου. Η δημιουργία νέου κλειδιού ακυρώνει αμέσως το παλιό, οπότε ενημερώστε όλα τα σημεία όπου χρησιμοποιείται πριν το πατήσετε.
Η ίδια καρτέλα έχει και ένα δεύτερο, ανεξάρτητο κλειδί μόνο για ανέβασμα - δείτε την παρακάτω συμβουλή και την ενότητα Πρόσθετα για φόρουμ για το πότε να το χρησιμοποιήσετε.
Έλεγχος ταυτότητας
Στείλτε το κλειδί σας ως header - προτιμότερο, γιατί τα query strings καταλήγουν συχνά
στα αρχεία καταγραφής πρόσβασης, στα logs των proxy και στα headers Referer:
X-API-Key: YOUR_API_KEY
Λειτουργεί και η παράμετρος ?key= στο query, για συμβατότητα με
παλαιότερες ενσωματώσεις και γρήγορες εφάπαξ εντολές curl. Αν υπάρχουν και τα δύο,
υπερισχύει το header.
?key=YOUR_API_KEY
Συμβουλή: Αντιμετωπίστε το κλειδί σας σαν κωδικό πρόσβασης - όποιος το έχει μπορεί να ανεβάζει, να εμφανίζει, να αλλάζει και να διαγράφει στον λογαριασμό σας. Κάθε επιτυχές αίτημα καταγράφεται και εμφανίζεται σε γράφημα στην καρτέλα API της σελίδας του λογαριασμού σας, ανά ημέρα και ανά τύπο αιτήματος. Αν ένα κλειδί πρέπει να βρίσκεται κάπου όπου μπορούν να το δουν άλλοι - σε ένα πρόσθετο φόρουμ, σε ένα δημόσιο αρχείο ρυθμίσεων - χρησιμοποιήστε το κλειδί μόνο για ανέβασμα από την ίδια καρτέλα: μπορεί μόνο να ανεβάζει - η εμφάνιση λίστας, η αναζήτηση, η αλλαγή και η διαγραφή ανεβασμένων αρχείων το απορρίπτουν με 401.
Endpoints
Το ανέβασμα, η λίστα και η διαγραφή έχουν κοινό έλεγχο ταυτότητας και όρια χρήσης· τα μεγάλα αρχεία μπορούν να σταλούν πρώτα σε κομμάτια.
POST /api - Ανέβασμα αρχείου
Ανεβάζει ένα αρχείο για τον ταυτοποιημένο λογαριασμό.
| Πεδίο | Τύπος | Απαιτείται | Περιγραφή |
|---|---|---|---|
uploads | αρχείο | ένα από αυτά τα τρία | Το αρχείο προς ανέβασμα, έως 100MB (το όριο για ένα μεμονωμένο αίτημα μέσω του δικτύου μας). Ένα αρχείο ανά αίτημα - αυτό το endpoint δεν υποστηρίζει μαζικό ανέβασμα πολλών αρχείων. |
url | string | Ένας δημόσιος σύνδεσμος http(s) προς εικόνα ή βίντεο. Το κατεβάζουμε εμείς, οπότε λειτουργούν αρχεία έως 200MB. | |
upload_id | string | Ένα αρχείο που έχει σταλεί σε κομμάτια στο POST /api/chunk εκ των προτέρων, έως 200MB. | |
filename | string | όχι | Με το upload_id: το αρχικό όνομα του αρχείου. |
expires_in | integer | όχι | Αυτόματη διαγραφή του ανεβάσματος μετά από τόσα δευτερόλεπτα (60 έως 31.536.000, δηλαδή 1 λεπτό έως 1 έτος). Παραλείψτε το για κανονικό, μόνιμο ανέβασμα. |
allow_duplicate | boolean | όχι | Αποθήκευση νέου αντιγράφου ακόμη κι αν ο λογαριασμός σας έχει ήδη ανεβάσει το ίδιο ακριβώς αρχείο (δείτε το duplicate παρακάτω). |
keep_original | boolean | όχι | Διατήρηση της εικόνας ακριβώς όπως ανέβηκε. Χωρίς αυτό, τα αρχεία JPG/PNG άνω του 1 MB βελτιστοποιούνται σε WebP. Τα μεταδεδομένα, όπως το GPS, αφαιρούνται σε κάθε περίπτωση. |
visibility | string | όχι | unlisted (προεπιλογή): το αρχείο και η σελίδα του λειτουργούν για όποιον έχει τον σύνδεσμο, αλλά δεν εμφανίζεται πουθενά. private: μόνο το αρχείο - ο σύνδεσμος της σελίδας οδηγεί όλους εκτός από εσάς κατευθείαν στο αρχείο (χωρίς σχόλια, αντιδράσεις ή διαφημίσεις). public: εμφανίζεται στον ιστότοπο και μπορεί να ευρετηριαστεί. |
title | string | όχι | Έως 90 χαρακτήρες, εμφανίζεται στη σελίδα του ανεβάσματος. |
description | string | όχι | Έως 500 χαρακτήρες. |
Αποδεκτοί τύποι: εικόνες JPG, PNG, GIF, WEBP, AVIF, BMP, TIFF, HEIC ή HEIF· βίντεο MP4, WEBM ή AVI (η ακριβής λίστα μπορεί να επεκταθεί με τον χρόνο). Τα 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 | Το μοναδικό αναγνωριστικό του αρχείου. |
type | image ή video. |
path | Το URL αποθήκευσης του αρχείου όπως ανέβηκε. Μπορεί να αλλάξει λίγο μετά, όταν το αρχείο μετατραπεί (WebP/MP4), οπότε αποθηκεύστε το src, όχι το path. |
src | Μόνιμο άμεσο URL του αρχείου - ανοίγει πάντα το τρέχον αρχείο, κατάλληλο για src σε <img>/<video> και για αποθήκευση. |
direct | Η σελίδα του αρχείου στο YourImageShare (τίτλος, περιγραφή, σχόλια, επιλογές κοινοποίησης). |
thumb | Μια μικρογραφία WebP πλάτους 280px (για βίντεο, το πρώτο καρέ), ή null. |
width, height | Μέγεθος προβολής σε pixel (σε όρθια θέση· για βίντεο, το μέγεθος του καρέ), ή null αν είναι άγνωστο. |
size | Μέγεθος αρχείου σε bytes όπως αποθηκεύτηκε. |
locked | true αν το ανέβασμα προστατεύεται με κωδικό. |
visibility | private, unlisted ή public (δείτε το πεδίο του αιτήματος παραπάνω). |
title, description | Όπως ορίστηκαν, ή null. Το κείμενο περνά από τον ίδιο έλεγχο moderation με τον ιστότοπο. |
delete_url | Μόνο για νέα ανεβάσματα: ένας ιδιωτικός σύνδεσμος που διαγράφει αυτό το ανέβασμα χωρίς κλειδί API. Εμφανίζεται μία φορά (αποθηκεύεται μόνο ένα hash) - κρατήστε τον αν τον χρειάζεστε. |
expires_at | Χρονική σήμανση ISO 8601 της αυτόματης διαγραφής του ανεβάσματος, ή null αν δεν λήγει. |
duplicate | true αν ο λογαριασμός σας είχε ήδη ανεβάσει το ίδιο ακριβώς αρχείο: επιστρέφεται το υπάρχον ανέβασμα και δεν αποθηκεύεται τίποτα νέο. Δεν ισχύει για ανεβάσματα που λήγουν ή με allow_duplicate=1. |
Ανεβάσματα που λήγουν: μόλις περάσει το expires_at,
το αρχείο διαγράφεται από την αποθήκευση και η σελίδα του ανεβάσματος αρχίζει
να επιστρέφει 410 Gone μέσα σε περίπου 5 λεπτά. Αυτό δεν μπορεί να αναιρεθεί
ή να παραταθεί εκ των υστέρων - διαγράψτε νωρίτερα με το endpoint DELETE αν χρειάζεται να το αφαιρέσετε πιο σύντομα, ή
ανεβάστε ξανά με νέο expires_in αν χρειάζεται να διαρκέσει περισσότερο.
POST /api/chunk - Μεγάλα αρχεία
Ένα μεμονωμένο αίτημα μπορεί να μεταφέρει το πολύ 100MB. Για μεγαλύτερα αρχεία (έως
200MB), ή για να κρατάτε μικρό κάθε αίτημα σε αργή
σύνδεση, στείλτε το αρχείο σε κομμάτια των 5MB το πολύ και ολοκληρώστε με POST /api:
- Επιλέξτε ένα upload id: 32 τυχαίοι δεκαεξαδικοί χαρακτήρες.
- Για κάθε κομμάτι, κάντε
POST /api/chunk(multipart/form-data) μεupload_id,index(ξεκινά από 0),total(αριθμός κομματιών) και τα bytes στοchunk. Η απάντηση είναι{"type": "success", "chunk_size": 5242880}. 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 [email protected]
GET /api - Λίστα των ανεβασμάτων σας
Επιστρέφει σελιδοποιημένη λίστα με τα ανεβάσματα του ταυτοποιημένου λογαριασμού (από οποιαδήποτε πηγή - API, ιστότοπο ή πρόγραμμα επεξεργασίας), τα νεότερα πρώτα, 50 ανά σελίδα.
| Παράμετρος | Θέση | Απαιτείται | Περιγραφή |
|---|---|---|---|
page | query | όχι | Αριθμός σελίδας, προεπιλογή 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 είναι υπογεγραμμένοι σύνδεσμοι μικρής διάρκειας). Δεν υπάρχει ακόμη ξεχωριστό endpoint
"λήψη ενός ανεβάσματος", οπότε αυτή η λίστα είναι και ο τρόπος να βρείτε το id ενός αρχείου εκ των υστέρων.
DELETE /api/{id} - Διαγραφή ανεβάσματος
Διαγράφει οριστικά ένα από τα ανεβάσματα του ταυτοποιημένου λογαριασμού. Δεν μπορεί
να αναιρεθεί μέσω του API. Το {id} είναι η τιμή που επιστρέφεται ως id από τα endpoints ανεβάσματος ή λίστας.
Απάντηση - 200 OK:
{ "type": "success", "msg": "Deleted." }
404 αν δεν υπάρχει ανέβασμα με αυτό το 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 αντί για blob base64 ή χειροκίνητο βήμα ανεβάσματος. Λειτουργεί με τον ίδιο τρόπο με το Claude
Desktop και κάθε άλλο πελάτη MCP. Εκτελέστε το απευθείας με 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
Κατεβάστε τον προσαρμοσμένο uploader παρακάτω και, στο ShareX, μεταβείτε στο Destinations > Custom uploader settings > Import > from file,
ανοίξτε το κατεβασμένο .sxcu και αντικαταστήστε το YOUR_API_KEY στο πεδίο Headers με το πραγματικό
κλειδί σας. Ορίστε το ως προορισμό εικόνων/αρχείων και οι λήψεις θα ανεβαίνουν αυτόματα.
Διαγραφή: ο σύνδεσμος "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 στο αρχείο συμβάντων προτύπου της επέκτασης με
το πραγματικό κλειδί σας μόνο για ανέβασμα.
SMF (Simple Machines Forum)
Ένα πραγματικό πακέτο SMF - εγκαταστήστε το από Admin > Package Manager και μετά αντικαταστήστε το YOUR_UPLOAD_ONLY_KEY στο Sources/yis_forumupload.php με το πραγματικό κλειδί σας μόνο για ανέβασμα.
MyBB
Ένα πραγματικό πρόσθετο MyBB 1.8. Αντιγράψτε το στο inc/plugins/, ενεργοποιήστε το από Configuration > Plugins και μετά αντικαταστήστε το YOUR_UPLOAD_ONLY_KEY στο αρχείο του πρόσθετου με το πραγματικό κλειδί σας
μόνο για ανέβασμα.
FluxBB, PunBB & ZetaBoards
Αυτά δεν διαθέτουν επίσημο σύστημα πρόσθετων, οπότε πρόκειται για ένα μικρό απόσπασμα κώδικα που επικολλάται απευθείας στο πρότυπό σας (FluxBB/PunBB) ή στον Admin CP (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.
Από το ιστολόγιο
Οδηγοί και αναλυτικές περιγραφές για προγραμματιστές
- Ανεβάστε στιγμιότυπα αμέσως με ShareX, Flameshot ή Greenshot
- Προσθέστε ένα πραγματικό κουμπί ανεβάσματος εικόνων στο φόρουμ phpBB, SMF ή MyBB
- Πώς να χρησιμοποιήσετε το MCP: συνδέστε το Claude, το ChatGPT και πράκτορες AI στο YourImageShare
- YourImageShare Capture: επέκταση στιγμιότυπων για Chrome και Firefox
- Μεταφέρετε τη Βιβλιοθήκη πολυμέσων του WordPress σε δωρεάν φιλοξενία εικόνων
Έτοιμοι να το δοκιμάσετε;
Αποκτήστε το κλειδί API σας →