{"openapi":"3.1.0","info":{"title":"meta2api","description":"API tạo ảnh bằng meta.ai (nhiều tài khoản, chạy trình duyệt headless). Tài liệu đầy đủ: /docs","version":"1.0.0"},"paths":{"/v1/images/generations":{"post":{"tags":["Tạo ảnh"],"summary":"Tạo ảnh từ prompt","operationId":"create_image_v1_images_generations_post","parameters":[{"name":"wait","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Giống body.wait","title":"Wait"},"description":"Giống body.wait"},{"name":"idempotency-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/generations/{job_id}":{"get":{"tags":["Tạo ảnh"],"summary":"Xem trạng thái / kết quả job","operationId":"get_image_job_v1_images_generations__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"response_format","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Format"}},{"name":"wait","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":60,"minimum":0},{"type":"null"}],"title":"Wait"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/generations/{job_id}/content/{idx}":{"get":{"tags":["Tạo ảnh"],"summary":"Tải file ảnh thứ idx","operationId":"get_image_content_v1_images_generations__job_id__content__idx__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"idx","in":"path","required":true,"schema":{"type":"integer","title":"Idx"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/models":{"get":{"tags":["Khác"],"summary":"Danh sách model","operationId":"models_v1_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/usage":{"get":{"tags":["Khác"],"summary":"Lượt đã dùng của key","operationId":"usage_v1_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/chat/completions":{"post":{"tags":["OpenAI tương thích"],"summary":"Chat completions (trả ảnh dạng markdown)","operationId":"chat_v1_chat_completions_post","parameters":[{"name":"idempotency-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ChatRequest":{"properties":{"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"messages":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Messages"},"stream":{"type":"boolean","title":"Stream","default":false},"n":{"anyOf":[{"type":"integer","maximum":10.0,"minimum":1.0},{"type":"null"}],"title":"N"},"ratio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ratio"},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size"},"style":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Style"}},"additionalProperties":true,"type":"object","title":"ChatRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ImageGenRequest":{"properties":{"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Mô tả ảnh. Có thể ghi luôn số ảnh, tỉ lệ, phong cách trong prompt."},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"meta-imagine (mặc định) hoặc meta-imagine-16:9 …"},"n":{"anyOf":[{"type":"integer","maximum":10.0,"minimum":1.0},{"type":"null"}],"title":"N","description":"Tuỳ chọn: số ảnh mong muốn (ghép vào prompt + cắt bớt nếu thừa)."},"ratio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ratio","description":"Tuỳ chọn: tỉ lệ, vd 16:9."},"aspect_ratio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aspect Ratio","description":"Giống ratio."},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size","description":"Kiểu OpenAI, vd 1792x1024 → tự đổi ra tỉ lệ gần nhất."},"style":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Style","description":"Tuỳ chọn: phong cách, vd anime."},"wait":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Wait","description":"true = giữ kết nối tới khi xong (tối đa sync_wait_max_s)."},"response_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Format","description":"url (mặc định) | b64_json"},"callback_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Callback Url","description":"Webhook nhận kết quả khi job xong / lỗi."},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User"}},"type":"object","title":"ImageGenRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}